如果未做特别说明,文中的程序都是 Python3 代码。

QuantLib 金融计算——基本组件之 DayCounter 类

“天数计算规则”(Day Count Convention)对金融产品的估值至关重要,尤其是对固定收益类的产品。QuantLib 提供了下列常见的规则:

  • Actual360:Actual / 360
  • Actual365Fixed:Actual / 365(Fixed)
  • ActualActual:Actual / Actual
  • Business252:Business / 252
  • Thirty360:30 / 360

载入 QuantLib:

import QuantLib as ql

print(ql.__version__)
1.10

DayCounter 对象的构造

DayCounter 对象的构造非常简便,例如,要构造 Actual / 360 规则的对象,只需 myCounter = Actual360() 即可。有些规则还允许针对具体的产品和市场配置相应的参数,例如针对美国国债市场使用的 Act / Act ISMA 规则可以这样构造:myCounter = ActualActual(ActualActual.ISMA),其中 ActualActual.ISMA 是 quantlib-python 预留的特殊变量。

一些常用的成员函数

常用的成员函数有两个:

  • dayCount(d1, d2):计算 d1d2 之间的天数。
  • yearFraction(d1, d2):将 d1d2 之间的天数年化。

例子 1:

def DayCounterTesting1():
dc = ql.Thirty360() d1 = ql.Date(1, ql.March, 2018)
d2 = d1 + ql.Period(2, ql.Months) print('Days Between d1 / d2:', dc.dayCount(d1, d2))
print('Year Fraction d1 / d2:', dc.yearFraction(d1, d2))
print('Actual Days Between d1 / d2:', d2 - d1)
print('d1:', d1)
print('d2:', d2)
Days Between d1 / d2: 60
Year Fraction d1 / d2: 0.16666666666666666
Actual Days Between d1 / d2: 61
d1: March 1st, 2018
d2: May 1st, 2018

2018-03-01 向后推移两个月后是 2018-05-01,两者的实际距离是 61 天。但在 Thirty / 360 的规则下,每年有 360 天,每月有 30 天,所以两者的距离是 60 天,60 天年化后的结果是 60 / 360 = 1 / 6。

QuantLib 金融计算——基本组件之 DayCounter 类的更多相关文章

  1. QuantLib 金融计算——基本组件之 Index 类

    目录 QuantLib 金融计算--基本组件之 Index 类 QuantLib 金融计算--基本组件之 Index 类 Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor ...

  2. QuantLib 金融计算——基本组件之 InterestRate 类

    目录 QuantLib 金融计算--基本组件之 InterestRate 类 InterestRate 对象的构造 一些常用的成员函数 如果未做特别说明,文中的程序都是 Python3 代码. Qua ...

  3. QuantLib 金融计算——基本组件之 Currency 类

    目录 QuantLib 金融计算--基本组件之 Currency 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Cu ...

  4. QuantLib 金融计算——基本组件之 Date 类

    目录 QuantLib 金融计算--基本组件之 Date 类 Date 对象的构造 一些常用的成员函数 一些常用的静态函数 为估值计算配置日期 如果未做特别说明,文中的程序都是 Python3 代码. ...

  5. QuantLib 金融计算——基本组件之 Calendar 类

    目录 QuantLib 金融计算--基本组件之 Calendar 类 Calendar 对象的构造 一些常用的成员函数 自定义假期列表 工作日修正 如果未做特别说明,文中的程序都是 Python3 代 ...

  6. QuantLib 金融计算——基本组件之 DateGeneration 类

    目录 QuantLib 金融计算--基本组件之 DateGeneration 类 QuantLib 金融计算--基本组件之 DateGeneration 类 许多产品的估值依赖于对未来现金流的分析,因 ...

  7. QuantLib 金融计算——基本组件之 Schedule 类

    目录 QuantLib 金融计算--基本组件之 Schedule 类 Schedule 对象的构造 作为"容器"的 Schedule 对象 一些常用的成员函数 如果未做特别说明,文 ...

  8. QuantLib 金融计算——基本组件之 ExchangeRateManager 类

    目录 QuantLib 金融计算--基本组件之 ExchangeRateManager 类 概述 Money 类中的汇率转换配置 ExchangeRateManager 函数 如果未做特别说明,文中的 ...

  9. QuantLib 金融计算——基本组件之 Money 类

    目录 QuantLib 金融计算--基本组件之 Money 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Money ...

随机推荐

  1. [原创]解读2017 OWASP Top10漏洞体系(含接口安全)

    2017年4月初,OWASP发布了关于Top10的征求意见版. 争议最大的是A7攻击检测与防范不足. 但我主要是按照日常的渗透漏洞进行解读分析的. 解读完毕后,首发t00ls原创文章. https:/ ...

  2. 谈谈WhatsApp一年设计经历和收获

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具.   关于WhatApp和Facebook如何实现规模设计的思考 我已经在Facebook担任产品经理 ...

  3. 常见的C语言内存错误及对策(转)

    http://see.xidian.edu.cn/cpp/html/483.html 一.指针没有指向一块合法的内存 定义了指针变量,但是没有为指针分配内存,即指针没有指向一块合法的内存.浅显的例子就 ...

  4. 安装gcc及其依赖

    在gcc-4.8.2和gcc-4.1.2基础上编译gcc-5.2.0,有可能会遇到一些问题. 要想成功编译gcc,则在编译之前需要安装好它的至少以下三个依赖: gmp mpfr mpc 而mpc又依赖 ...

  5. AngularJs2 构建简单的英雄编辑器

    参考上一篇文章的步骤,重新把相关环境准备.目录结构走一遍. 这一次我们要开始创建真正的Angularjs项目了. 显示我们的英雄 我们要在应用中显示英雄数据 我们来为 AppComponent 添加两 ...

  6. jQuery限制文本框的输入长度

    jQuery限制文本框输入,包含粘贴. //限制文本框的输入长度 $(function () { $(document).on("keypress", ".txt-val ...

  7. Selenium窗口切换-----Selenium快速入门(六)

    有时候,我们打开多个窗口,进行多窗口操作,那么窗口间该如何切换呢? 切换的方法有两个,一个是通过窗口标题来验证,另一个是通过窗口特定的内容来验证,这两个方法都要求得到的标题或内容是唯一的. 用到的相关 ...

  8. PostSharp 结合 log4net 自动记录日志

    环境: VS 2012 PostSharp-4.1.28  (下载地址)https://visualstudiogallery.msdn.microsoft.com/a058d5d3-e654-43f ...

  9. Android优化之内存优化倒计时篇

    本文来自网易云社区 作者:聂雷震 本篇文章介绍的内容是如何在安卓手机上实现高效的倒计时效果,这个高效有两个标准:1.刷新频率足够高,让用户觉得这个倒计时的确是倒计时,而不是幻灯片:2.不能占用太多的内 ...

  10. python网络编程--线程(锁,GIL锁,守护线程)

    1.线程 1.进程与线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率.很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观 ...