Совокупные данные расписания для еженедельной периодичности
задает опции с использованием одного или нескольких необязательных аргументов пары "имя-значение" в сложение с входным параметром в предыдущем синтаксисе.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
- Данные для агрегирования в еженедельную периодичностьДанные для агрегирования в еженедельную периодичность, заданные как расписание.
Примечание
NaN
s указывает отсутствующие значения. Метки времени должны быть в порядке возрастания или убывания.
По умолчанию все дни являются рабочими днями. Если ваше расписание не учитывает дни небизнеса (выходные, праздничные дни и закрытие рынка), добавьте осведомленность о бизнес-календаре при помощи 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'
- Используйте последнее значение в каждую неделю или день.
Все перечисленные выше методы опускают отсутствующие данные (NaN
s) в вычислениях прямой агрегации. Однако в ситуациях, когда отсутствующие значения появляются в первой строке 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
- Еженедельные данныеЕженедельные данные, возвращенные как расписание. Функция возвращается NaN
s для переменных в 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.