Совокупные данные о расписании к ежедневной периодичности
задает опции с помощью одного или нескольких дополнительных аргументов пары "имя-значение" в дополнение к входному параметру в предыдущем синтаксисе.TT2
= convert2daily(___,Name,Value
)
Примените отдельные методы агрегации к связанным переменным в timetable
при поддержании непротиворечивости между агрегированными результатами для ежедневной периодичности.
Загрузите расписание (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
Совокупные цены и логарифмические возвраты к ежедневной периодичности. Обеспечить непротиворечивость между ценами и возвращается, в течение любого данного торгового дня, агрегируйте цены путем создания отчетов о последней записанной цене при помощи "lastvalue"
и агрегат возвраты путем подведения итогов всех логарифмических возвратов при помощи "sum"
.
tt = convert2daily(TT,'Aggregation',["lastvalue" "sum"]); head(tt)
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
Чтобы проверить непротиворечивость, исследуйте расписания ввода и вывода на 2 и 3 января 2018.
TT(1:8,:) % Input data for 02-Jan-2018 and 03-Jan-2018
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
tt(1:2,:) % Return aggregated results
ans=2×2 timetable
Time Price Log_Return
___________ ______ __________
02-Jan-2018 101.37 0.013607
03-Jan-2018 100.12 -0.012408
В течение каждого рабочего дня в TT
, заметьте, что выход агрегировался, цена является последней ценой дня и что агрегированный возврат является суммой всех логарифмических возвратов. Кроме того, агрегированные возвраты сопоставимы с агрегированными ценами.
Например, агрегированный возврат на 3 января 2018, -0.012408
, который является логарифмическим возвратом, сопоставленным с последними ценами, зарегистрированными 2 и 3 января 2018 (то есть, -0.012408
= log(100.12)
- log(101.37)
).
Даты агрегированных результатов являются целыми датами, которые указывают на даты, для которых сообщают об агрегированных результатах.
TT1
— Данные, чтобы агрегироваться к ежедневной периодичностиДанные, чтобы агрегироваться к ежедневной периодичности в виде расписания.
Примечание
NaN
s указывают на отсутствующие значения, Метки времени должны быть в порядке возрастания или убывания.
По умолчанию все дни являются рабочими днями. Если ваше расписание не считает в течение многих нерабочих дней (выходные, праздники и закрытия рынка), добавьте осведомленность бизнес-календаря при помощи addBusinessCalendar
сначала. Например, следующая команда добавляет логику бизнес-календаря, чтобы включать только рабочие дни NYSE.
TT = addBusinessCalendar(TT);
Типы данных: timetable
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
TT2 = convert2daily(TT1,'Aggregation',["lastvalue" "sum"])
'Aggregation'
— Метод агрегации для TT1
данные для суточной агрегации'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 09:45:47 100.00 200.00 300.00 400.00 01-Jan-2018 12:48:09 100.03 200.06 300.09 400.12 02-Jan-2018 10:27:32 100.07 200.14 300.21 400.28 02-Jan-2018 12:46:09 100.08 200.16 300.24 400.32 02-Jan-2018 14:14:13 100.25 200.50 300.75 401.00 02-Jan-2018 15:52:31 100.19 200.38 300.57 400.76 03-Jan-2018 09:47:11 100.54 201.08 301.62 402.16 03-Jan-2018 11:24:23 100.59 201.18 301.77 402.36 03-Jan-2018 14:41:17 101.40 202.80 304.20 405.60 03-Jan-2018 16:00:00 101.94 203.88 305.82 407.76 04-Jan-2018 09:55:51 102.53 205.06 307.59 410.12 04-Jan-2018 10:07:12 103.35 206.70 310.05 413.40 04-Jan-2018 14:26:23 103.40 206.80 310.20 413.60 05-Jan-2018 13:13:12 103.91 207.82 311.73 415.64 05-Jan-2018 14:57:53 103.89 207.78 311.67 415.56
Соответствующее значение по умолчанию ежедневно заканчивается, представляя TT2
(где 'lastvalue'
сообщается в течение каждого дня), следующие.
Time AAA BBB CCC ___________ ______ ______ ________________ 01-Jan-2018 100.03 200.06 300.09 400.12 02-Jan-2018 100.19 200.38 300.57 400.76 03-Jan-2018 101.94 203.88 305.82 407.76 04-Jan-2018 103.40 206.80 310.20 413.60 05-Jan-2018 103.89 207.78 311.67 415.56
Типы данных: char |
string
| cell
| function_handle
TT2
— Ежедневные данныеЕжедневные данные, возвращенные как расписание. Функция возвращает NaN
s для переменных в TT2
в течение многих рабочих дней, когда никакие данные не зарегистрированы для тех переменных в TT1
. Если TT1
в порядке возрастания, так также TT2
, и если TT1
в порядке убывания, так также TT2
.
Первое свидание в TT2
первая бизнес-дата на или после первого свидания в TT1
. Последняя дата в TT2
последняя бизнес-дата на или перед последней датой в TT1
.
convert2annual
| convert2monthly
| convert2quarterly
| convert2semiannual
| convert2weekly
| timetable
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.