Совокупные данные о расписании к полугодовой периодичности
задает опции с помощью одного или нескольких дополнительных аргументов пары "имя-значение" в дополнение к входному параметру в предыдущем синтаксисе.TT2
= convert2semiannual(___,Name,Value
)
Примените отдельные методы агрегации к связанным переменным в timetable
при поддержании непротиворечивости между агрегированными результатами при преобразовании в полугодовую периодичность. Можно использовать convert2semiannual
агрегировать и внутриежедневные данные и агрегированные ежеквартальные данные. Эти методы приводят к эквивалентным полугодовым агрегатам.
Загрузите расписание (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
Используйте convert2quarterly
к совокупным внутриежедневным ценам и возвращается к ежеквартальной периодичности. Обеспечить непротиворечивость между ценами и возвращается, для любой данной четверти, совокупных цен путем создания отчетов о последней записанной цене с помощью "lastvalue"
и агрегат возвращается путем подведения итогов всех логарифмических возвратов с помощью "sum"
.
TT1 = convert2quarterly(TT,'Aggregation',["lastvalue" "sum"])
TT1=12×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
31-Mar-2020 177.46 0.081015
30-Jun-2020 168.96 -0.049083
30-Sep-2020 260.77 0.43398
31-Dec-2020 274.75 0.052223
Используйте convert2semiannual
агрегировать данные к полугодовой периодичности и сравнить результаты двух разных подходов. Первый подход вычисляет полугодовые результаты путем агрегации ежеквартального издания, агрегируется, и второй подход вычисляет полугодовые результаты путем прямой агрегации исходных внутриежедневных данных. Обратите внимание на то, что convert2semiannual
отчеты заканчиваются в прошлый рабочий день июня и декабря.
tt1 = convert2semiannual(TT1,'Aggregation',["lastvalue" "sum"]) % Quarterly to semiannual
tt1=6×2 timetable
Time Price Log_Return
___________ ______ __________
29-Jun-2018 96.24 -0.038325
31-Dec-2018 92.72 -0.037261
28-Jun-2019 110.54 0.17579
31-Dec-2019 163.65 0.39235
30-Jun-2020 168.96 0.031932
31-Dec-2020 274.75 0.4862
tt2 = convert2semiannual(TT ,'Aggregation',["lastvalue" "sum"]) % Intra-daily to semiannual
tt2=6×2 timetable
Time Price Log_Return
___________ ______ __________
29-Jun-2018 96.24 -0.038325
31-Dec-2018 92.72 -0.037261
28-Jun-2019 110.54 0.17579
31-Dec-2019 163.65 0.39235
30-Jun-2020 168.96 0.031932
31-Dec-2020 274.75 0.4862
Результатами двух подходов является то же самое, потому что каждый полугодовой период содержит точно два календарных квартала.
TT1
— Данные, чтобы агрегироваться к полугодовой периодичностиДанные, чтобы агрегироваться к полугодовой периодичности в виде расписания. О полугодовых результатах агрегации сообщают в прошлый рабочий день июня и декабря.
Примечание
NaN
s указывают на отсутствующие значения. Метки времени должны быть в порядке возрастания или убывания.
По умолчанию все дни являются рабочими днями. Если ваше расписание не считает в течение многих нерабочих дней (выходные, праздники и закрытия рынка), добавьте осведомленность бизнес-календаря при помощи addBusinessCalendar
сначала. Например, следующая команда добавляет логику бизнес-календаря, чтобы включать только рабочие дни NYSE.
TT = addBusinessCalendar(TT);
Типы данных: timetable
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
TT2 = convert2semiannual(TT1,'Aggregation',["lastvalue" "sum"])
'Aggregation'
— Метод агрегации в течение полугодового периода к полугодовой периодичности (междневная агрегация)'lastvalue'
(значение по умолчанию) | вектор символов со значением 'sum'
среднее значение
напоминание
min
Max
Первое значение
, или 'lastvalue'
| представьте в виде строки со значением "sum"
среднее значение
напоминание
min
Max
Первое значение
, или "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.02 200.04 300.06 400.08 03-Jan-2018 99.96 199.92 299.88 399.84 . . . . . . . . . . . . . . . 28-Jun-2018 69.63 139.26 208.89 278.52 29-Jun-2018 70.15 140.3 210.45 280.60 30-Jun-2018 75.77 151.54 227.31 303.08 01-Jul-2018 75.68 151.36 227.04 302.72 02-Jul-2018 71.34 142.68 214.02 285.36 03-Jul-2018 69.25 138.50 207.75 277.00 . . . . . . . . . . . . . . . 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 ___________ ______ ______ ________________ 30-Jun-2018 75.77 151.54 227.31 303.08 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
TT2
— Полугодовые данныеПолугодовые данные, возвращенные как расписание. Функция возвращает NaN
s для переменных в TT2
в течение полугодовых периодов, когда никакие данные не зарегистрированы ни в какие рабочие дни для тех переменных в TT1
. Если TT1
в порядке возрастания, так также TT2
, и если TT1
в порядке убывания, так также TT2
.
Первое свидание в TT2
последняя бизнес-дата полугодового периода в который первое свидание в TT1
происходит, обеспечил TT1
имеет бизнес-даты в тот полугодовой период, в противном случае первое свидание в TT2
следующий конец полугодовой даты бизнеса периода.
Последняя дата в TT2
последняя бизнес-дата полугодового периода в который последняя дата в TT1
происходит, обеспечил TT1
имеет бизнес-даты в тот полугодовой период, в противном случае последнюю дату в TT2
предыдущий конец полугодовой даты бизнеса периода.
convert2annual
| convert2daily
| convert2monthly
| convert2quarterly
| convert2weekly
| timetable
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.