convert2daily

Совокупные данные о расписании к ежедневной периодичности

Описание

пример

TT2 = convert2daily(TT1) агрегировал данные (например, высокочастотный, и суточный) к ежедневной периодичности.

пример

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)).

Даты агрегированных результатов являются целыми датами, которые указывают на даты, для которых сообщают об агрегированных результатах.

Входные параметры

свернуть все

Данные, чтобы агрегироваться к ежедневной периодичности в виде расписания.

Примечание

NaNs указывают на отсутствующие значения, Метки времени должны быть в порядке возрастания или убывания.

По умолчанию все дни являются рабочими днями. Если ваше расписание не считает в течение многих нерабочих дней (выходные, праздники и закрытия рынка), добавьте осведомленность бизнес-календаря при помощи addBusinessCalendar сначала. Например, следующая команда добавляет логику бизнес-календаря, чтобы включать только рабочие дни NYSE.

TT = addBusinessCalendar(TT);

Типы данных: timetable

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: TT2 = convert2daily(TT1,'Aggregation',["lastvalue" "sum"])

Метод агрегации для TT1 данные для суточной агрегации в виде разделенной запятой пары, состоящей из 'Aggregation' и вектор символов, строка или указатель на функцию применились ко всем временным рядам в TT1, или вектор ячейки из векторов символов, представьте в виде строки вектор или вектор ячейки из указателей на функцию та же длина как количество переменных в TT1.

Методы агрегации задают, как данные агрегированы за рабочие дни в суточной периодичности. Доступные методы агрегации:

  • 'sum' — Суммируйте значения в каждый день.

  • 'mean' — Вычислите среднее значение значений в каждый день.

  • 'prod' — Вычислите продукт значений в каждый день.

  • 'min' — Вычислите минимум значений в каждый день.

  • 'max' — Вычислите максимум значений в каждый день.

  • 'firstvalue' — Используйте первое значение в каждый день.

  • 'lastvalue' — Используйте последнее значение в каждый день.

Все упомянутые выше методы не используют недостающие данные (NaNs) в прямых вычислениях агрегации. Однако в ситуациях, в которых отсутствующие значения появляются в первой строке 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

Выходные аргументы

свернуть все

Ежедневные данные, возвращенные как расписание. Функция возвращает NaNs для переменных в TT2 в течение многих рабочих дней, когда никакие данные не зарегистрированы для тех переменных в TT1. Если TT1 в порядке возрастания, так также TT2, и если TT1 в порядке убывания, так также TT2.

Первое свидание в TT2 первая бизнес-дата на или после первого свидания в TT1. Последняя дата в TT2 последняя бизнес-дата на или перед последней датой в TT1.

Введенный в R2021a