盘一盘 QuantLib 系列 2 - 生成日期表

本篇是该系列的第二篇:

  1. 盘一盘 QuantLib 系列 1 - 日期和日历

上篇已经举例如何在日期 (old_date) 上加减一个期限得到一个新日期 (new_date),该日期没有经过调整可能是一个非工作日,即周末或者节假日。有了日历 (calendar),我们就可以根据各种惯例 (business_day_convention) 来讲工作日调整成非工作日。

工作日惯例包括提前、顺延、修正提前和修正顺延,有时候还要考虑是否使用月终惯例。

在生成各个市场的金融产品的日程表前,先来了解适用于所有市场的日期生成的通法。本贴分别介绍三种通法:

  1. 绝对和相对

  2. 常规和迭代

  3. 前向和后向

学会这三种通法,有了起始日 (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 的同学分享此贴,不用截屏我信你,在本帖留个言,我便发给你链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值