Совокупные данные о расписании к полугодовой периодичности
Загрузите симулированные данные о курсе акций и соответствующие логарифмические возвраты SimulatedStockSeries.mat.
load SimulatedStockSeriesРасписание DataTable содержит измерения, зарегистрированные в различные, неправильные времена в течение торговых часов (9:30 к 16:00) Нью-Йоркской фондовой биржи (NYSE) с 1 января 2018 до 31 декабря 2020.
Например, отобразите первые несколько наблюдений.
head(DataTable)
ans=8×2 timetable
Time Price Log_Return
____________________ ______ __________
01-Jan-2018 11:52:48 100 -0.025375
01-Jan-2018 13:23:13 101.14 0.011336
01-Jan-2018 14:45:09 101.5 0.0035531
01-Jan-2018 15:30:30 100.15 -0.01339
02-Jan-2018 10:43:37 99.72 -0.0043028
03-Jan-2018 10:02:21 100.11 0.0039033
03-Jan-2018 11:22:37 103.96 0.037737
03-Jan-2018 13:42:27 107.05 0.02929
DataTable не включает осведомленность бизнес-календаря. Если вы хотите с учетом нерабочих дней (выходные, праздники и закрытия рынка), и вы имеете лицензию Financial Toolbox™, добавляете осведомленность бизнес-календаря при помощи addBusinessCalendar функция.
Агрегируйте ценовой ряд к полугодовому ряду путем создания отчетов об окончательной цене каждого периода в январе к июню и периода в июле к декабрю.
SemiannualPrice = convert2semiannual(DataTable(:,"Price"));
tail(SemiannualPrice)ans=6×1 timetable
Time Price
___________ ______
30-Jun-2018 99.29
31-Dec-2018 84.26
30-Jun-2019 169.77
31-Dec-2019 153.22
30-Jun-2020 224.29
31-Dec-2020 301.04
SemiannualPrice расписание, содержащее окончательные цены за каждый полугодовой период, о котором сообщают, в DataTable.
В этом примере показано, как задать соответствующий метод агрегации для модулей переменной. Кроме того, пример показывает, как использовать convert2semiannual агрегировать и суточные данные и агрегированные ежеквартальные данные, которые приводят к эквивалентным полугодовым агрегатам.
Загрузите симулированные данные о курсе акций и соответствующие логарифмические возвраты SimulatedStockSeries.mat.
load SimulatedStockSeriesЦеновая серия Price содержит абсолютные измерения, тогда как журнал возвращает серию Log_Return скорость изменения ценового ряда среди последовательных наблюдений. Поскольку ряды имеют различные модули, необходимо задать соответствующий метод, когда вы агрегировали ряд. А именно, если вы сообщаете об окончательной цене за данную периодичность, необходимо сообщить, что сумма журнала возвращается в каждый период.
Чтобы проиллюстрировать, как обеспечить непротиворечивость среди методов агрегации, используйте два подхода, чтобы агрегировать DataTable так, чтобы результат имел полугодовую периодичность.
Передайте DataTable непосредственно к convert2semiannual.
Совокупный DataTable так, чтобы результат имел ежеквартальную периодичность при помощи convert2quarterly, и затем передайте результат convert2semiannual.
В обоих случаях задайте создание отчетов о последней цене, и сумма журнала возвращается в течение каждого периода.
Непосредственно совокупный данные так, чтобы результат имел полугодовую периодичность. Для каждого ряда задайте метод агрегации, который подходит для модуля.
aggmethods = ["lastvalue" "sum"]; SemiannualTT1 = convert2semiannual(DataTable,Aggregation=aggmethods); tail(SemiannualTT1)
ans=6×2 timetable
Time Price Log_Return
___________ ______ __________
30-Jun-2018 99.29 -0.032501
31-Dec-2018 84.26 -0.16414
30-Jun-2019 169.77 0.70054
31-Dec-2019 153.22 -0.10257
30-Jun-2020 224.29 0.38107
31-Dec-2020 301.04 0.2943
SemiannualTT1 расписание, содержащее полугодовые данные. Price серия итоговых курсов акций в течение каждого периода в январе к июню и периода в июле к декабрю и Log_Return сумма журнала, возвращается в течение каждого полугодового периода.
Агрегируйте данные на двух шагах: агрегируйте данные так, чтобы результат имел ежеквартальную периодичность, затем агрегируйте ежеквартальные данные к полугодовым данным. Для каждого ряда задайте метод агрегации, который подходит для модуля.
QuarterlyTT = convert2quarterly(DataTable,Aggregation=aggmethods); tail(QuarterlyTT)
ans=8×2 timetable
Time Price Log_Return
___________ ______ __________
31-Mar-2019 112.93 0.29286
30-Jun-2019 169.77 0.40768
30-Sep-2019 148.97 -0.1307
31-Dec-2019 153.22 0.02813
31-Mar-2020 229.88 0.40568
30-Jun-2020 224.29 -0.024618
30-Sep-2020 246.77 0.095517
31-Dec-2020 301.04 0.19879
SemiannualTT2 = convert2semiannual(QuarterlyTT,Aggregation=aggmethods)
SemiannualTT2=6×2 timetable
Time Price Log_Return
___________ ______ __________
30-Jun-2018 99.29 -0.032501
31-Dec-2018 84.26 -0.16414
30-Jun-2019 169.77 0.70054
31-Dec-2019 153.22 -0.10257
30-Jun-2020 224.29 0.38107
31-Dec-2020 301.04 0.2943
QuarterlyTT расписание с ежеквартальной периодичностью. Price серия итоговых курсов акций для каждой четверти и Log_Return сумма журнала, возвращается для каждой четверти.
SemiannualTT1 и SemiannualTT2 равны.
TT1 — Данные, чтобы агрегироваться к полугодовой периодичностиДанные, чтобы агрегироваться к полугодовой периодичности в виде расписания.
Каждая переменная может быть числовым вектором (одномерный ряд) или числовая матрица (многомерный ряд).
Примечание
NaNs указывают на отсутствующие значения.
Метки времени должны быть в порядке возрастания или убывания.
По умолчанию все дни являются рабочими днями. Если ваше расписание не считает в течение многих нерабочих дней (выходные, праздники и закрытия рынка), и вы имеете лицензию Financial Toolbox™, добавляете осведомленность бизнес-календаря при помощи addBusinessCalendar сначала. Например, следующая команда добавляет логику бизнес-календаря, чтобы включать только рабочие дни NYSE.
TT = addBusinessCalendar(TT);
Типы данных: timetable
Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.
TT2 = convert2semiannual(TT1,'Aggregation',["lastvalue" "sum"])Aggregation — Метод агрегации в течение полугодового периода к полугодовой периодичности (междневная агрегация)"lastvalue"
(значение по умолчанию) | "sum"
| "prod" | "mean" | "min" | "max" | "firstvalue" | вектор символов | указатель на функцию | представляет вектор в виде строки | вектор ячейки из векторов символов или указателей на функциюМетод агрегации для TT1 определение, как данные агрегированы за рабочие дни в полугодовой период к полугодовой агрегации периодичности в виде одного из следующих методов, вектора строки из методов или длины numVariables вектор ячейки из методов, где numVariables количество переменных в TT1.
"sum" — Суммируйте значения в каждом году или день.
"mean" — Вычислите среднее значение значений в каждом году или день.
"prod" — Вычислите продукт значений в каждом году или день.
"min" — Вычислите минимум значений в каждом году или день.
"max" — Вычислите максимум значений в каждом году или день.
"firstvalue" — Используйте первое значение в каждом году или день.
"lastvalue" — Используйте последнее значение в каждом году или день.
@customfcn — Пользовательский метод агрегации, который принимает табличную переменную и возвращает числовой скаляр (для одномерного ряда) или вектор-строка (для многомерного ряда). Функция должна принять пустые входные параметры [].
Если вы задаете отдельный метод, convert2semiannual применяет заданный метод ко всем временным рядам в TT1. Если вы задаете вектор строки или вектор ячейки aggregation, convert2semiannual применяет агрегацию ( к j)TT1 (: ; J)convert2semiannual применяет каждый метод агрегации по одному (для получения дополнительной информации, смотрите retime). Например, рассмотрите ежедневное расписание, представляющее 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.00TT2 (в котором все дни являются рабочими днями и '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Все методы не используют недостающие данные (NaNs) в прямых вычислениях агрегации на каждой переменной. Однако для ситуаций, в которых отсутствующие значения появляются в первой строке TT1, отсутствующие значения могут также появиться в агрегированных результатах TT2. Чтобы обратиться к недостающим данным, запишите и задайте пользовательский метод агрегации (указатель на функцию), который поддерживает недостающие данные.
Типы данных: char | string | cell | function_handle
Daily — Суточный метод агрегации для TT1"lastvalue" (значение по умолчанию) | "sum" | "prod" | "mean" | "min" | "max" | "firstvalue" | вектор символов | указатель на функцию | представляет вектор в виде строки | вектор ячейки из векторов символов или указателей на функциюСуточный метод агрегации для TT1В виде метода агрегации, вектора строки из методов или длины numVariables вектор ячейки из методов. Для получения дополнительной информации о поддерживаемых методах и поведениях, смотрите 'Aggregation' аргумент значения имени.
Типы данных: char | string | cell | function_handle
TT2 — Полугодовые данныеПолугодовые данные, возвращенные как расписание. convert2semiannual сообщают полугодовые результаты агрегации в прошлый рабочий день июня и декабря. Функция возвращает NaNs для переменных в TT2 в течение полугодовых периодов, когда никакие данные не зарегистрированы ни в какие рабочие дни для тех переменных в TT1. Если TT1 в порядке возрастания, так также TT2, и если TT1 в порядке убывания, так также TT2.
Первое свидание в TT2 последняя бизнес-дата полугодового периода в который первое свидание в TT1 происходит, обеспечил TT1 имеет бизнес-даты в тот полугодовой период, в противном случае первое свидание в TT2 следующий конец полугодовой даты бизнеса периода.
Последняя дата в TT2 последняя бизнес-дата полугодового периода в который последняя дата в TT1 происходит, обеспечил TT1 имеет бизнес-даты в тот полугодовой период, в противном случае последнюю дату в TT2 предыдущий конец полугодовой даты бизнеса периода.
convert2daily | convert2weekly | convert2monthly | convert2quarterly | convert2annual | timetable | addBusinessCalendar
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.