本篇是该系列的第二篇:
上篇已经举例如何在日期 (old_date) 上加减一个期限得到一个新日期 (new_date),该日期没有经过调整可能是一个非工作日,即周末或者节假日。有了日历 (calendar),我们就可以根据各种惯例 (business_day_convention) 来讲工作日调整成非工作日。
工作日惯例包括提前、顺延、修正提前和修正顺延,有时候还要考虑是否使用月终惯例。
在生成各个市场的金融产品的日程表前,先来了解适用于所有市场的日期生成的通法。本贴分别介绍三种通法:
绝对和相对
常规和迭代
前向和后向
学会这三种通法,有了起始日 (start date)、终止日 (end date) 和周期频率 (period frequency),我们便可生成日期表了。更细来讲,当然还需要日历 (calendar),工作日惯例 (business date convention), 生成方式 (rule), 月终 (end of month) 这些参数设置。
生成日期表需要设定一个周期频率,它可以将一段时间划分成若干固定长度的时间段。如果这段时间是周期频率的整数倍,那么该日期表属于规则(regular)日期表,否则会剩余若干天数要分配给第一期和(或)最后一期,而这样的日期表属于不规则(irregular)日期表,或称为有存根期(stub period)的日期表。以 3 个月为周期频率举例:
一个 24 个月(2 年)的时期可以分为八个 3 个月,该日期表是规则的
一个 23 个月的时期不能分为整数倍的 3 个月,该日期表是不规则的,剩余的 2 个月可以
-
全部安排到前端
全部安排到末端
分别安排到两端,只要总长度加起来等于 2 个月即可
想要得到本贴 Jupyter Notebook 的同学分享此贴,不用截屏我信你,在本帖留个言,我便发给你链接。