Сводные данные о графике на годовую периодичность
указывает параметры, использующие один или несколько необязательных аргументов пары имя-значение в дополнение к входному аргументу в предыдущем синтаксисе.TT2 = convert2annual(___,Name,Value)
Методы агрегирования Applyseparate для связанных переменных в timetable при сохранении согласованности между агрегированными результатами при преобразовании в годовую периодичность. Вы можете использовать convert2annual для агрегирования как внутрисуточных, так и агрегированных ежемесячных данных. Эти методы приводят к эквивалентным годовым совокупным показателям.
Загрузить расписание (TT) смоделированных данных цены акций и соответствующих логарифмических доходностей. Данные, хранящиеся в TT фиксируется в разное время в течение всего дня на Нью-Йоркской фондовой бирже (NYSE) рабочих дней с 1 января 2018 года по 31 декабря 2020 года. Расписание TT также включает осведомленность о бизнес-календаре NYSE. Если ваше расписание не учитывает нерабочие дни (выходные, праздничные дни и закрытие рынка), добавьте информацию о бизнес-календаре с помощью addBusinessCalendar во-первых.
load('SimulatedStock.mat','TT'); head(TT)
ans=8×2 timetable
Time Price Log_Return
____________________ ______ __________
02-Jan-2018 11:52:11 100.71 0.0070749
02-Jan-2018 13:23:09 103.11 0.023551
02-Jan-2018 14:45:30 100.24 -0.028229
02-Jan-2018 15:30:48 101.37 0.01121
03-Jan-2018 10:02:21 101.81 0.0043311
03-Jan-2018 11:22:37 100.17 -0.01624
03-Jan-2018 14:45:20 99.66 -0.0051043
03-Jan-2018 14:55:39 100.12 0.0046051
Во-первых, агрегировать внутрисуточные цены и возвращаться к ежемесячной периодичности. Для поддержания непротиворечивости между ценами и доходностью, для любого данного месяца совокупные цены, сообщая последнюю зарегистрированную цену с помощью "lastvalue" и суммировать результаты суммированием всех логарифмических результатов с использованием "sum".
TT1 = convert2monthly(TT,'Aggregation',["lastvalue" "sum"]); head(TT1)
ans=8×2 timetable
Time Price Log_Return
___________ ______ __________
31-Jan-2018 122.96 0.20669
28-Feb-2018 121.92 -0.008494
29-Mar-2018 108.9 -0.11294
30-Apr-2018 110.38 0.013499
31-May-2018 99.02 -0.10861
29-Jun-2018 96.24 -0.028477
31-Jul-2018 97.15 0.0094111
31-Aug-2018 101.51 0.043901
Использовать convert2annual агрегировать данные с ежегодной периодичностью и сравнивать результаты двух различных подходов к агрегированию. Первый подход вычисляет годовые результаты путем агрегирования ежемесячных агрегатов, а второй подход вычисляет годовые результаты путем прямого агрегирования исходных данных внутри дня. Обратите внимание, что по умолчанию результаты конвертируемых отчетов за последний рабочий день декабря. Чтобы изменить месяц, заканчивающийся годовыми периодами, используйте 'EndOfYearMonth' аргумент пары имя-значение для convert2annual.
tt1 = convert2annual(TT1,'Aggregation',["lastvalue" "sum"]) % Monthly to annual
tt1=3×2 timetable
Time Price Log_Return
___________ ______ __________
31-Dec-2018 92.72 -0.075586
31-Dec-2019 163.65 0.56815
31-Dec-2020 274.75 0.51813
tt2 = convert2annual(TT ,'Aggregation',["lastvalue" "sum"]) % Intra-daily to semiannual
tt2=3×2 timetable
Time Price Log_Return
___________ ______ __________
31-Dec-2018 92.72 -0.075586
31-Dec-2019 163.65 0.56815
31-Dec-2020 274.75 0.51813
Результаты этих двух подходов одинаковы, поскольку каждый годовой период содержит ровно 12 календарных месяцев.
TT1 - Данные для агрегирования в годовую периодичностьДанные должны агрегироваться с ежегодной периодичностью, указанной в расписании.
Примечание
NaNs указывает на отсутствие значений. Метки времени должны быть в порядке возрастания или убывания.
По умолчанию все дни являются рабочими днями. Если ваше расписание не учитывает нерабочие дни (выходные, праздничные дни и закрытие рынка), добавьте информацию о бизнес-календаре с помощью addBusinessCalendar во-первых. Например, следующая команда добавляет логику бизнес-календаря для включения только рабочих дней NYSE.
TT = addBusinessCalendar(TT);
Типы данных: timetable
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
TT2 = convert2annual(TT1,'Aggregation',["lastvalue" "sum"])'Aggregation' - Метод агрегирования для TT1 данные для ежегодного агрегирования'lastvalue'
(по умолчанию) | символьный вектор со значением 'sum', 'mean', 'prod', 'min', 'max', 'firstvalue', или 'lastvalue' | строка со значением "sum", "mean", "prod", "min", "max", "firstvalue", или "lastvalue"Метод агрегирования для TT1 данные для ежегодной агрегации, указанные как пара, разделенная запятыми, состоящая из 'Aggregation' и символьный вектор, строка или дескриптор функции, примененный ко всем временным рядам в TT1, или вектор ячейки символьных векторов, строковый вектор или вектор ячейки функции обрабатывает ту же длину, что и число переменных в TT1.
Методы агрегирования определяют способ агрегирования данных в течение рабочих дней в году с ежегодной периодичностью. Доступные методы агрегирования:
'sum' - суммировать значения за каждый год или день.
'mean' - Рассчитать среднее значение значений за каждый год или день.
'prod' - Рассчитать произведение значений в каждом году или дне.
'min' - Вычислите минимум значений в каждом году или дне.
'max' - рассчитать максимум значений за каждый год или день.
'firstvalue' - Используйте первое значение в каждом году или дне.
'lastvalue' - использовать последнее значение в каждом году или дне.
Все перечисленные выше методы пропускают отсутствующие данные (NaNs) в расчетах прямой агрегации. Однако в ситуациях, когда отсутствующие значения появляются в первой строке TT1, отсутствующие значения также могут отображаться в агрегированных результатах TT2.
Кроме того, в качестве дескрипторов функций можно указать методы агрегации. Чтобы включить отсутствующие данные, укажите функции в качестве дескрипторов функций, которые включают отсутствующие данные при агрегировании данных. Функции агрегации должны принимать базовые данные, сохраненные в TT1 и возвращает выходной сигнал, который является скалярным вектором или вектором строки и должен принимать пустые входные данные. Каждая функция агрегации применяется к соответствующей переменной и вызывается по одной. Каждая переменная должна содержать либо один числовой вектор, либо числовую матрицу. Например, рассмотрим ежедневное расписание, представляющее TT1 с тремя переменными.
Time AAA BBB CCC
___________ ______ ______ ________________
01-Jan-2018 100.00 200.00 300.00 400.00
02-Jan-2018 100.03 200.06 300.09 400.12
03-Jan-2018 100.07 200.14 300.21 400.28
. . . . .
. . . . .
. . . . .
29-Dec-2018 249.16 498.32 747.48 996.64
30-Dec-2018 250.21 500.42 750.63 1000.84
31-Dec-2018 256.75 513.50 770.25 1027.00Соответствующие еженедельные результаты по умолчанию, представляющие TT2 (в котором все дни являются рабочими днями и 'lastvalue' сообщается в последний рабочий день каждого года) являются следующими.
Time AAA BBB CCC
___________ ______ ______ ________________
31-Dec-2018 256.75 513.50 770.25 1027.00Типы данных: char | string | cell | function_handle
'Daily' - Метод внутрисуточной агрегации данных в TT1Метод внутрисуточной агрегации данных в TT1, указанная как пара, разделенная запятыми, состоящая из 'Daily' и символьный вектор, строковый скаляр или дескриптор функции, примененный ко всем временным рядам в TT1, или вектор ячейки символьных векторов, строковый вектор или вектор ячейки функции обрабатывает ту же длину, что и число переменных в TT1.
Типы данных: char | string | cell | function_handle
'EndOfYearMonth' - Месяц, заканчивающийся годовыми периодами'December' (недели заканчиваются в пятницу) (по умолчанию) | целое число со значением 1 кому 12 | символьный вектор со значением 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August','September','October', 'November', или 'December' | строка со значением "January", "February", "March", "April", "May", "June", "July", "August","September","October", "November", или "December"Месяц, заканчивающий годовые периоды, указанный как пара, разделенная запятыми, состоящая из 'EndOfYearMonth' и строка, символьный вектор или скалярное целое число.
Типы данных: double | char | string
TT2 - Годовые данныеГодовые данные, возвращенные в виде графика. Функция возвращает NaNs для переменных в TT2 для годовых периодов, когда данные по этим переменным не записываются ни в какие рабочие дни в TT1. Если TT1 находится в порядке возрастания, так же TT2, и если TT1 находится в порядке убывания, так же TT2.
Первая дата в TT2 является последней рабочей датой годового периода (года), в котором первая дата TT1 происходит, при условии TT1 имеет рабочие даты в этом годовом периоде (году), в противном случае первая дата в TT2 является следующей рабочей датой на конец года.
Последняя дата в TT2 является последней рабочей датой годового периода (года), в котором последняя дата TT1 происходит, при условии TT1 имеет рабочие даты в этом годовом периоде (году), в противном случае последняя дата в TT2 - это предыдущая дата окончания периода.
convert2annual | convert2daily | convert2quarterly | convert2semiannual | convert2weekly | timetable
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.