Сводные данные по расписанию на еженедельную периодичность
указывает параметры, использующие один или несколько необязательных аргументов пары имя-значение в дополнение к входному аргументу в предыдущем синтаксисе.TT2 = convert2weekly(___,Name,Value)
Применение отдельных методов агрегации к связанным переменным в timetable при сохранении согласованности между агрегированными результатами при преобразовании из ежедневной в еженедельную периодичность. Вы можете использовать convert2weekly для агрегирования как внутрисуточных, так и агрегированных ежедневных данных. Эти методы приводят к эквивалентным недельным агрегатам.
Загрузить расписание (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
Использовать convert2daily для агрегирования внутрисуточных цен и возврата к суточной периодичности. Для поддержания согласованности между ценами и доходностью, для любого данного торгового дня, совокупные цены, сообщая последнюю зарегистрированную цену с "lastvalue" и суммировать результаты путем суммирования всех логарифмических результатов с "sum".
TT1 = convert2daily(TT,'Aggregation',["lastvalue" "sum"]); head(TT1)
ans=8×2 timetable
Time Price Log_Return
___________ ______ __________
02-Jan-2018 101.37 0.013607
03-Jan-2018 100.12 -0.012408
04-Jan-2018 106.76 0.064214
05-Jan-2018 112.78 0.054856
08-Jan-2018 119.07 0.054273
09-Jan-2018 119.46 0.00327
10-Jan-2018 124.44 0.040842
11-Jan-2018 125.63 0.0095174
Использовать convert2weekly агрегировать данные с еженедельной периодичностью и сравнивать результаты двух различных подходов к агрегации. Первый подход вычисляет еженедельные результаты путем агрегирования ежедневных агрегатов, а второй подход вычисляет еженедельные результаты путем прямого агрегирования исходных данных внутри дня.
tt1 = convert2weekly(TT1,'Aggregation',["lastvalue" "sum"]); % Daily to weekly tt2 = convert2weekly(TT ,'Aggregation',["lastvalue" "sum"]); % Intra-daily to weekly head(tt1)
ans=8×2 timetable
Time Price Log_Return
___________ ______ __________
05-Jan-2018 112.78 0.12027
12-Jan-2018 125.93 0.11029
19-Jan-2018 117.67 -0.067842
26-Jan-2018 118.8 0.0095573
02-Feb-2018 120.85 0.017109
09-Feb-2018 123.68 0.023147
16-Feb-2018 124.33 0.0052417
23-Feb-2018 127.09 0.021956
head(tt2)
ans=8×2 timetable
Time Price Log_Return
___________ ______ __________
05-Jan-2018 112.78 0.12027
12-Jan-2018 125.93 0.11029
19-Jan-2018 117.67 -0.067842
26-Jan-2018 118.8 0.0095573
02-Feb-2018 120.85 0.017109
09-Feb-2018 123.68 0.023147
16-Feb-2018 124.33 0.0052417
23-Feb-2018 127.09 0.021956
Обратите внимание, что результаты двух подходов одинаковы и что convert2weekly отчеты по пятницам по умолчанию. Для недель, в которых пятница не является торговым днем NYSE, функция сообщает результаты за предыдущий рабочий день. Кроме того, можно использовать convert2weekly необязательный аргумент пара имя-значение 'EndOfWeekDay«чтобы указать другой день недели, заканчивающийся рабочими неделями».
TT1 - Данные для агрегирования в еженедельную периодичностьДанные агрегируются с еженедельной периодичностью, указанной в расписании.
Примечание
NaNs указывает на отсутствие значений. Метки времени должны быть в порядке возрастания или убывания.
По умолчанию все дни являются рабочими днями. Если ваше расписание не учитывает нерабочие дни (выходные, праздничные дни и закрытие рынка), добавьте информацию о бизнес-календаре с помощью addBusinessCalendar во-первых. Например, следующая команда добавляет логику бизнес-календаря для включения только рабочих дней NYSE.
TT = addBusinessCalendar(TT);
Типы данных: timetable
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
TT2 = convert2weekly(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
04-Jan-2018 100.08 200.16 300.24 400.32
05-Jan-2018 100.25 200.50 300.75 401.00
06-Jan-2018 100.19 200.38 300.57 400.76
07-Jan-2018 100.54 201.08 301.62 402.16
08-Jan-2018 100.59 201.18 301.77 402.36
09-Jan-2018 101.40 202.80 304.20 405.60
10-Jan-2018 101.94 203.88 305.82 407.76
11-Jan-2018 102.53 205.06 307.59 410.12
12-Jan-2018 103.35 206.70 310.05 413.40
13-Jan-2018 103.40 206.80 310.20 413.60
14-Jan-2018 103.91 207.82 311.73 415.64
15-Jan-2018 103.89 207.78 311.67 415.56
16-Jan-2018 104.44 208.88 313.32 417.76
17-Jan-2018 104.44 208.88 313.32 417.76
18-Jan-2018 104.04 208.08 312.12 416.16
19-Jan-2018 104.94 209.88 314.82 419.76Соответствующие еженедельные результаты по умолчанию, представляющие TT2 (в котором все дни являются рабочими днями и 'lastvalue' сообщается по пятницам) являются следующими.
Time AAA BBB CCC
___________ ______ ______ ________________
05-Jan-2018 100.25 200.50 300.75 401.00
12-Jan-2018 103.35 206.70 310.05 413.40
19-Jan-2018 104.94 209.88 314.82 419.76Дефолт 'lastvalue' возвращает самые последние данные, наблюдаемые на данной неделе для всех переменных в TT1.
Типы данных: char | string | cell | function_handle
'Daily' - Метод внутрисуточной агрегации данных в TT1Метод внутрисуточной агрегации данных в TT1, указанная как пара, разделенная запятыми, состоящая из 'Daily' и вектор скалярных символов, строка или дескриптор функции, применяемые ко всем временным рядам в TT1, или вектор ячейки символьных векторов, строковый массив или вектор ячейки функции, обрабатывающий то же самое число переменных в TT1.
Типы данных: char | string | cell | function_handle
'EndOfWeekDay' - День недели, заканчивающийся рабочими неделями'Friday' (недели заканчиваются в пятницу) (по умолчанию) | целое число со значением 1, 2, 3, 4, 5, 6, или 7 | символьный вектор со значением 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', или 'Saturday' | строка со значением "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", или "Saturday"День недели, заканчивающийся рабочими неделями, определяемый как пара, разделенная запятыми, состоящая из 'EndOfWeekDay' и строка, символьный вектор или скалярное целое число. Если указанный день окончания недели на данной неделе не является рабочим днем, то предыдущий рабочий день завершает неделю.
Типы данных: double | char | string
TT2 - Еженедельные данныеЕженедельные данные, возвращаемые в виде расписания. Функция возвращает NaNs для переменных в TT2 в течение недель, когда данные не записываются ни в какие рабочие дни для этих переменных в TT1. Если TT1 находится в порядке возрастания, так же TT2, и если TT1 находится в порядке убывания, так же TT2.
Первая дата в TT2 - последняя рабочая дата недели, в которой первая дата в TT1 происходит, при условии TT1 имеет рабочие даты на этой неделе, в противном случае первая дата в TT2 является следующей рабочей датой на конец недели.
Последняя дата в TT2 - последняя рабочая дата недели, в которой последняя дата в TT1 происходит, при условии TT1 имеет рабочие даты на этой неделе, в противном случае последняя дата в TT2 является предыдущей рабочей датой на конец недели.
convert2annual | convert2daily | convert2monthly | convert2quarterly | convert2semiannual | timetable
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.