Совокупные данные расписания к квартальной периодичности
задает опции с использованием одного или нескольких необязательных аргументов пары "имя-значение" в сложение с входным параметром в предыдущем синтаксисе.TT2
= convert2quarterly(___,Name,Value
)
Применить отдельные методы агрегации к связанным переменным в timetable
при сохранении согласованности между агрегированными результатами при преобразовании в квартальную периодичность. Можно использовать convert2quarterly
агрегировать как внутрисуточные данные, так и агрегированные ежемесячные данные. Эти методы приводят к эквивалентным квартальным агрегатам.
Загрузите расписание (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
Использование convert2monthly
агрегировать внутридневные цены и возвращаться к ежемесячной периодичности. Для поддержания согласованности между ценами и возвратами за любой данный месяц, агрегируйте цены путем сообщения последней зарегистрированной цены с помощью "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
Использование convert2quarterly
агрегировать данные по квартальной периодичности и сравнить результаты двух различных подходов. Первый подход вычисляет квартальные результаты путем агрегирования ежемесячных агрегатов, а второй подход вычисляет квартальные результаты путем прямого агрегирования исходных внутридневных данных. Обратите внимание, что convert2quaterly
сообщает результаты за последний рабочий день каждого квартала.
tt1 = convert2quarterly(TT1,'Aggregation',["lastvalue" "sum"]); % Monthly to quarterly tt2 = convert2quarterly(TT ,'Aggregation',["lastvalue" "sum"]); % Intra-daily to quarterly head(tt1)
ans=8×2 timetable
Time Price Log_Return
___________ ______ __________
29-Mar-2018 108.9 0.08526
29-Jun-2018 96.24 -0.12358
28-Sep-2018 111.37 0.14601
31-Dec-2018 92.72 -0.18327
29-Mar-2019 78.7 -0.16394
28-Jun-2019 110.54 0.33973
30-Sep-2019 180.13 0.4883
31-Dec-2019 163.65 -0.095949
head(tt2)
ans=8×2 timetable
Time Price Log_Return
___________ ______ __________
29-Mar-2018 108.9 0.08526
29-Jun-2018 96.24 -0.12358
28-Sep-2018 111.37 0.14601
31-Dec-2018 92.72 -0.18327
29-Mar-2019 78.7 -0.16394
28-Jun-2019 110.54 0.33973
30-Sep-2019 180.13 0.4883
31-Dec-2019 163.65 -0.095949
Результаты двух подходов одинаковы, поскольку каждый квартал содержит ровно три календарных месяца.
TT1
- Данные для агрегирования по квартальной периодичностиДанные для агрегирования в ежеквартальную периодичность, заданные в виде расписания. Ежеквартальные результаты агрегирования отражаются в последний рабочий день марта, июня, сентября и декабря.
Примечание
NaN
s указывает отсутствующие значения. Метки времени должны быть в порядке возрастания или убывания.
По умолчанию все дни являются рабочими днями. Если ваше расписание не учитывает дни небизнеса (выходные, праздничные дни и закрытие рынка), добавьте осведомленность о бизнес-календаре при помощи addBusinessCalendar
во-первых. Например, следующая команда добавляет логику бизнес-календаря для включения только рабочих дней NYSE.
TT = addBusinessCalendar(TT);
Типы данных: timetable
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
TT2 = convert2quarterly(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 . . . . . . . . . . . . . . . 31-Mar-2018 162.93 325.86 488.79 651.72 . . . . . . . . . . . . . . . 30-Jun-2018 223.22 446.44 669.66 892.88 . . . . . . . . . . . . . . . 30-Sep-2018 232.17 464.34 696.51 928.68 . . . . . . . . . . . . . . . 31-Dec-2018 243.17 486.34 729.51 972.68
Соответствующие квартальные результаты по умолчанию, представляющие TT2
(n, которые все дни являются рабочими днями и 'lastvalue'
в последний рабочий день каждого квартала):
Time AAA BBB CCC ___________ ______ ______ ________________ 31-Mar-2018 162.93 325.86 488.79 651.72 30-Jun-2018 223.22 446.44 669.66 892.88 30-Sep-2018 232.17 464.34 696.51 928.68 31-Dec-2018 243.17 486.34 729.51 972.68
Типы данных: char
| string
| cell
| function_handle
'Daily'
- Метод внутридневной агрегации данных в TT1
Метод внутридневной агрегации для данных в TT1
, заданная как разделенная разделенными запятой парами, состоящая из 'Daily'
и скалярный вектор символов, строка или указатель на функцию, применяемая ко всем временным рядам в TT1
, или вектор камеры из векторов символов, строковых массивов или вектора камеры функции обрабатывает ту же длину, что и количество переменных в TT1
.
Типы данных: char
| string
| cell
| function_handle
TT2
- ежеквартальные данныеЕжеквартальные данные, возвращенные как расписание. Функция возвращается NaN
s для переменных в TT2
для кварталов, где данные не регистрируются в какие-либо рабочие дни для этих переменных в TT1
. Если TT1
находится в порядке возрастания, так же как и TT2
, и если TT1
находится в порядке убывания, так же как и TT2
.
Первое свидание в TT2
является последней бизнес-датой квартала, в котором первая дата в TT1
происходит, при условии TT1
имеет рабочие даты в этом квартале, в противном случае первая дата в TT2
является следующей бизнес-датой в конце квартала.
Последняя дата в TT2
является последней бизнес-датой квартала, в котором последняя дата в TT1
происходит, при условии TT1
имеет рабочие даты в этом квартале, в противном случае последняя дата в TT2
является предыдущей бизнес-датой в конце квартала.
convert2annual
| convert2daily
| convert2monthly
| convert2semiannual
| convert2weekly
| timetable
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.