addBusinessCalendar

Добавьте осведомленность бизнес-календаря в расписания

Описание

пример

TT = addBusinessCalendar(TT) добавляет осведомленность бизнес-календаря во входное расписание TT путем установки пользовательского свойства для выходного расписания TT.

пример

TT = addBusinessCalendar(___,Name,Value) задает опции с помощью одного или нескольких дополнительных аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Например, TT = addBusinessCalendar(TT,'Holidays',H) задает список праздников, заданных как вектор datetime, который заменяет праздники по умолчанию, найденные в holidays.m. Можно задать больше чем один аргумент пары "имя-значение".

Примеры

свернуть все

В этом примере показано, как добавить бизнес-календарь, когда вы вычисляете разности в прокрутке периода за период (PoP) в течение 5 лет симулируемых ежедневных цен. Для каждой даты в расписании TT, различие представляет различие PoP соответствующей цены по сравнению с ценой один период ранее.

Используйте holidays указать на праздники в holidays.m в течение периода симуляции.

H = holidays(datetime(2014,1,1),datetime(2018,12,31));

Симулируйте ежедневные цены на три актива.

t = (datetime(2014,1,1):caldays:datetime(2018,12,31))';
rng(200,'twister')
Price = 100 + 0.1*(0:numel(t) - 1)'.*cumsum(randn(numel(t),1)/100); 
Price = round(Price*100)/100;       
Price2 = round(Price*94)/100; 
Price3 = round(Price*88)/100;

TT    = timetable(Price,Price2,Price3,'RowTimes',t);
head(TT,15)
ans=15×3 timetable
       Time        Price     Price2    Price3
    ___________    ______    ______    ______

    01-Jan-2014       100       94        88 
    02-Jan-2014       100       94        88 
    03-Jan-2014       100       94        88 
    04-Jan-2014       100       94        88 
    05-Jan-2014    100.01    94.01     88.01 
    06-Jan-2014    100.01    94.01     88.01 
    07-Jan-2014    100.02    94.02     88.02 
    08-Jan-2014    100.02    94.02     88.02 
    09-Jan-2014    100.04    94.04     88.04 
    10-Jan-2014    100.06    94.06     88.05 
    11-Jan-2014    100.08    94.08     88.07 
    12-Jan-2014    100.11     94.1      88.1 
    13-Jan-2014    100.11     94.1      88.1 
    14-Jan-2014    100.12    94.11     88.11 
    15-Jan-2014    100.12    94.11     88.11 

Используйте addBusinessCalendar указать на праздники в течение периода симуляции в TT расписания.

TT = addBusinessCalendar(TT,'Holidays',H);

Используйте rollingreturns с 'Method' набор аргумента пары "имя-значение" к 'difference' вычислить различия, то есть, изменения периода за период.

deltas = rollingreturns(TT,'Period',calweeks(1),'Method','difference');
head(deltas,15)
ans=15×3 timetable
       Time        Price_Difference_1w    Price2_Difference_1w    Price3_Difference_1w
    ___________    ___________________    ____________________    ____________________

    01-Jan-2014            NaN                     NaN                     NaN        
    02-Jan-2014            NaN                     NaN                     NaN        
    03-Jan-2014            NaN                     NaN                     NaN        
    04-Jan-2014            NaN                     NaN                     NaN        
    05-Jan-2014            NaN                     NaN                     NaN        
    06-Jan-2014            NaN                     NaN                     NaN        
    07-Jan-2014            NaN                     NaN                     NaN        
    08-Jan-2014            NaN                     NaN                     NaN        
    09-Jan-2014           0.04                    0.04                    0.04        
    10-Jan-2014           0.06                    0.06                    0.05        
    11-Jan-2014           0.08                    0.08                    0.07        
    12-Jan-2014           0.11                     0.1                     0.1        
    13-Jan-2014            0.1                    0.09                    0.09        
    14-Jan-2014            0.1                    0.09                    0.09        
    15-Jan-2014            0.1                    0.09                    0.09        

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

свернуть все

Введите расписание, чтобы обновиться с осведомленностью бизнес-календаря в виде a timetable.

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

Аргументы name-value

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

Пример: TT = addBusinessCalendar(TT,'Holidays',H)

Альтернативные праздники и даты закрытия рынка в виде разделенной запятой пары, состоящей из 'Holidays' и вектор из datetimes. Даты в Holidays должны быть целые даты, без любого HH:MM:SS компоненты. Никакое дело не ведется в даты в Holidays. Для получения дополнительной информации смотрите holidays и isbusday.

Можно сгенерировать альтернативные праздничные расписания при помощи createholidays функция. Для этого выполните следующие шаги:

  1. Сгенерируйте новый holidays функциональное использование createholidays.

  2. Вызовите новый holidays функция, чтобы получить список праздников.

  3. Передайте альтернативный отдых к addBusinessCalendar использование 'Holidays' аргумент пары "имя-значение".

Типы данных: char | double

Альтернативные дни выходных дней, в которые никакое дело не ведется в виде разделенной запятой пары, состоящей из 'Weekends' и логический вектор с семью элементами, в который верный (1) указывает на день выходных дней и ложь (0) указывает на рабочий день. Элементы 'Weekends' закодированы как в воскресенье, в понедельник, во вторник, в среду, в четверг, в пятницу, и в субботу. Можно также задать 'Weekends' как вектор строки, элементы которого явным образом перечисляют дни выходных дней. Если дело ведется семь дней в неделю, то задайте 'Weekends' как [0 0 0 0 0 0 0].

Типы данных: логический

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

свернуть все

Обновленное расписание TT с добавленной осведомленностью бизнес-календаря пользовательским свойством BusinessCalendar, возвращенный как a timetable.

Пользовательское свойство BusinessCalendar содержит структуру данных, которая содержит поле IsBusinessDay это хранит вызываемую функцию (F). Функциональный F принимает матрицу datetime (D) и возвращает логическую матрицу индикатора (I) одного размера: I = F(D). Элементы true (1) I укажите что соответствующий элемент D происходит в рабочий день; ложь (0) элементы I укажите в противном случае. Доступ к вызываемому функциональному F при помощи F = TT.Properties.CustomProperties.BusinessCalendar.IsBusinessDay.

Смотрите также

|

Введенный в R2020b