主要内容

addBusinessCalendar

向时间表添加业务日历意识

描述

例子

TT= addBusinessCalendar (TT向输入时间表添加业务日历感知TT通过设置输出时间表的自定义属性TT

例子

TT= addBusinessCalendar (___名称,值除了前面语法中的输入参数外,还使用一个或多个可选的名称-值对参数指定选项。例如,TT = addBusinessCalendar (TT,“假期”,H)指定指定为datetime向量的假日列表,该日期时间向量替换在holidays.m.可以指定多个名称-值对参数。

例子

全部折叠

这个示例展示了如何在计算5年模拟每日价格的周期与周期(PoP)滚动差值时添加业务日历。对于时间表中的每个日期TT,差额表示对应价格与前一时期价格的PoP差额。

使用假期表示假日holidays.m为模拟期间。

H =假期(datetime(2014、1、1),datetime(2018、12、31));

模拟三种资产的每日价格。

t = (datetime(2014、1、1):caldays: datetime(2018、12、31)';rng (200“旋风”)价格= 100 + 0.1 *(0:元素个数(t) - 1)”。* cumsum (randn(元素个数(t) 1) / 100);价格(价格* 100)/ 100 =轮;Price2 =圆(价格* 94)/ 100;Price3 =圆(价格* 88)/ 100;TT =时间表(价格、Price2 Price3,“RowTimes”t);头(TT, 15)
ans =15×3的时间表时间价格价格e2价格e3 ___________ ______ ______ ______ 01- 1- 2014 100 94 88 02- 1- 2014 100 94 88 03- 1- 2014 100 94 88 04- 1- 2014 100 94 88 05- 1- 2014 100.01 94.01 88.01 06- 1- 2014 100.01 94.01 88.01 07- 1- 2014 100.02 94.02 88.02 08- 1- 2014 100.02 94.02 88.02 09- 1- 2014 100.04 94.04 88.04 10- 1- 2014 100.06 94.06 88.05 11- 1- 2014 100.0894.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,“假期”、H);

使用rollingreturns“方法”名称-值对参数设置为“差异”来计算差异,也就是周期间的变化。

δ= rollingreturns (TT,“时间”calweeks (1)“方法”“差异”);头(三角洲、15)
ans =15×3的时间表时间Price_Difference_1w Price2_Difference_1w Price3_Difference_1w  ___________ ___________________ ____________________ ____________________ 01 - 1月- 2014年南南南02 - 1月- 2014年南南南03 - 1月- 2014年南南南04 - 2014年1月,南南南05年1月- 2014年南南南06 - 1月- 2014年南南南07 - 1月- 2014年南南南08 - 1月- 2014年南南南09 - 1月- 2014 0.040.04 0.04 2014年1月10日0.06 0.06 0.05 2014年1月11日0.08 0.08 0.07 2014年1月12日0.11 0.1 0.1 2014年1月13日0.1 0.09 0.09 2014年1月14日0.1 0.09 0.09 2014年1月15日0.1 0.09 0.09

输入参数

全部折叠

输入要更新的时间表,具有业务日历意识,指定为时间表

数据类型:时间表

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:TT = addBusinessCalendar (TT,“假期”,H)

备用假日和市场关闭日期,指定为逗号分隔的对,由“假期”和一个datetimes向量。的日期假期一定是完整的约会,一个都没有HH: MM: SS组件。在年的这一天,没有业务进行假期.有关更多信息,请参见假期isbusday

可以通过使用createholidays函数。为此,请执行以下步骤:

  1. 生成一个新的假期函数使用createholidays

  2. 调用新的假期函数获取假期列表。

  3. 把交替的假期传递给addBusinessCalendar使用“假期”名称-值对的论点。

数据类型:字符|

不执行业务的交替的周末,指定为逗号分隔的对,其中包括“周末”和一个包含7个元素的逻辑向量,其中true (1)表示周末,false (0)表示工作日。的元素“周末”编码为星期日、星期一、星期二、星期三、星期四、星期五和星期六。你也可以指定“周末”作为一个字符串向量,其元素显式地列出了周末。如果业务是每周七天,则注明“周末”作为[0 0 0 0 0 0]

数据类型:逻辑

输出参数

全部折叠

更新的时间表TT通过自定义属性添加业务日历感知BusinessCalendar,返回为时间表

自定义属性BusinessCalendar包含包含字段的数据结构IsBusinessDay存储可调用函数(F).这个函数F接受一个日期时间矩阵(D),并返回逻辑指示矩阵()大小相同的:我= F (D).真(1)元素表示对应的元素D发生在工作日;False(0)元素说明了问题。访问可调用函数F通过使用F = TT.Properties.CustomProperties.BusinessCalendar.IsBusinessDay

另请参阅

|

介绍了R2020b