Преобразуйте ценовой ряд в возвратный ряд
Загрузите файл SimulatedStock.mat
, который обеспечивает расписание (TMW
) для финансовых данных для акций TMW. Затем преобразуйте ценовой ряд в возврат ряд, учитывая первые 10 периодических возвраты TMW
.
load SimulatedStock.mat TMW_Close = TMW(1:10,'Close'); [Returns,Intervals] = tick2ret(TMW_Close)
Returns=9×1 timetable
Time Close
___________ ___________
05-Sep-2012 0.0017955
06-Sep-2012 0.013741
07-Sep-2012 -0.022591
10-Sep-2012 -0.011557
11-Sep-2012 -0.014843
12-Sep-2012 -0.0012384
13-Sep-2012 0.0081628
14-Sep-2012 -0.00051245
17-Sep-2012 -0.02902
Intervals = 9x1 duration
24:00:00
24:00:00
24:00:00
72:00:00
24:00:00
24:00:00
24:00:00
24:00:00
72:00:00
datetime
ВходИспользование datetime
вход для преобразования ценового ряда в возвратный ряд с учетом периодических возвратов двух акций, наблюдаемых в первом, втором, третьем и четвертом кварталах.
TickSeries = [100 80 110 90 115 88 110 91]; TickTimes = datetime({'1/1/2015','1/7/2015','1/16/2015','1/28/2015'},'InputFormat','MM/dd/uuuu'); [Returns,Intervals] = tick2ret(TickSeries,'TickTimes',TickTimes)
Returns = 3×2
0.1000 0.1250
0.0455 -0.0222
-0.0435 0.0341
Intervals = 3x1 duration
144:00:00
216:00:00
288:00:00
Data
- Данные по ценам активовЗадайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
[Returns,Intervals] = tick2ret(TickSeries,'TickTimes',TickTimes)
'TickTimes'
- Время наблюдения, связанное с ценами1
, 2
... NUMOBS
принятый для всех активов (по умолчанию) | векторВремя наблюдения, связанное с ценами, задается как разделенная разделенными запятой парами, состоящая из 'TickTimes'
и a NUMOBS
вектор-столбец элемента монотонно увеличивающегося времени наблюдения, связанного с ценами в Data
. Время принимается либо как серийные номера дат (дневные модули), строки дат, массивы datetime, либо как десятичные числа в произвольных модулях (для примера, ежегодно).
Примечание
Если вход Data
type является расписанием, время ввода строки в расписании перезаписывает TickTimes
вход.
Типы данных: double
| datetime
| string
'Method'
- Метод преобразования цен на активы в возвраты'Simple'
(по умолчанию) | вектор со значением 'Simple'
или 'Continuous'
| строку со значением "Simple"
или "Continuous"
Метод преобразования цен активов в возвраты, заданный как разделенная разделенными запятой парами, состоящая из 'Method'
и строка или векторы символов, указывающие метод преобразования цен на активы в возвраты.
Если метод 'Simple'
, затем простые периодические возвраты в то время, t вычисляются как:
Returns(t) = Data(t)/Data(t-1) - 1.
Если метод 'Continuous'
непрерывные возвраты вычисляются как:
Returns(t) = log(Data(t)/Data(t-1)).
Типы данных: char
| string
Returns
- Массив временных рядов возвратов активовМассив временных рядов возвратов активов, возвращенный как NUMOBS-1
-by- NASSETS
массив возвратов активов с тем же типом (матрица, таблица или timetable), что и вход Data
. Первая строка содержит самые старые возвраты, а последняя - самые последние. Возвраты по данной строке принимаются в одно и то же время для всех столбцов, и каждый столбец является возвращаемой серией отдельных основных средств.
Intervals
- Интервальное время между последовательными ценамиИнтервал времени между последовательными ценами, возвращенный как NUMOBS-1
длина вектора-столбца где Intervals
(<reservedrangesplaceholder1>) = TickTimes
(t) - TickTimes
(t - 1).
Эта функция поддерживает входные Data
задается как tall вектора-столбца, длинной таблицы или длинного расписания. Для получения дополнительной информации смотрите tall
и Длинные массивы.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.