QuantLib 金融计算——基本组件之 DayCounter 类
如果未做特别说明,文中的程序都是 Python3 代码。
QuantLib 金融计算——基本组件之 DayCounter 类
“天数计算规则”(Day Count Convention)对金融产品的估值至关重要,尤其是对固定收益类的产品。QuantLib 提供了下列常见的规则:
Actual360
:Actual / 360Actual365Fixed
:Actual / 365(Fixed)ActualActual
:Actual / ActualBusiness252
:Business / 252Thirty360
: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)
:计算d1
,d2
之间的天数。yearFraction(d1, d2)
:将d1
,d2
之间的天数年化。
例子 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 类的更多相关文章
- QuantLib 金融计算——基本组件之 Index 类
目录 QuantLib 金融计算--基本组件之 Index 类 QuantLib 金融计算--基本组件之 Index 类 Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor ...
- QuantLib 金融计算——基本组件之 InterestRate 类
目录 QuantLib 金融计算--基本组件之 InterestRate 类 InterestRate 对象的构造 一些常用的成员函数 如果未做特别说明,文中的程序都是 Python3 代码. Qua ...
- QuantLib 金融计算——基本组件之 Currency 类
目录 QuantLib 金融计算--基本组件之 Currency 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Cu ...
- QuantLib 金融计算——基本组件之 Date 类
目录 QuantLib 金融计算--基本组件之 Date 类 Date 对象的构造 一些常用的成员函数 一些常用的静态函数 为估值计算配置日期 如果未做特别说明,文中的程序都是 Python3 代码. ...
- QuantLib 金融计算——基本组件之 Calendar 类
目录 QuantLib 金融计算--基本组件之 Calendar 类 Calendar 对象的构造 一些常用的成员函数 自定义假期列表 工作日修正 如果未做特别说明,文中的程序都是 Python3 代 ...
- QuantLib 金融计算——基本组件之 DateGeneration 类
目录 QuantLib 金融计算--基本组件之 DateGeneration 类 QuantLib 金融计算--基本组件之 DateGeneration 类 许多产品的估值依赖于对未来现金流的分析,因 ...
- QuantLib 金融计算——基本组件之 Schedule 类
目录 QuantLib 金融计算--基本组件之 Schedule 类 Schedule 对象的构造 作为"容器"的 Schedule 对象 一些常用的成员函数 如果未做特别说明,文 ...
- QuantLib 金融计算——基本组件之 ExchangeRateManager 类
目录 QuantLib 金融计算--基本组件之 ExchangeRateManager 类 概述 Money 类中的汇率转换配置 ExchangeRateManager 函数 如果未做特别说明,文中的 ...
- QuantLib 金融计算——基本组件之 Money 类
目录 QuantLib 金融计算--基本组件之 Money 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Money ...
随机推荐
- 理解数据库中的undo日志、redo日志、检查点
数据库存放数据的文件,本文称其为data file. 数据库的内容在内存里是有缓存的,这里命名为db buffer.某次操作,我们取了数据库某表格中的数据,这个数据会在内存中缓存一些时间.对这个数据的 ...
- centos7之salt命令随笔笔记
打印当前服务器python下的redis版本 python -c 'import redis; print redis.VERSION' 如果salt-master报错: No minions mat ...
- h5 时间控件问题,怎么设置type =datetime-local 的值
在js中设置自定义时间到date控件的方法: 1.在html5中定义时间控件 <input type="date" id="datePicker" val ...
- The left-hand side of an assignment must be a variable,代码中使用了中文的字符
进行ajax测试,报这个错误,代码检测无误,然后就是查了相关文档 发现是符号错误,eclipse识别中文符号,就会报这个错误,而且eclipse的js里需要写冒号结尾,附个代码. <body&g ...
- UVa 1606 Amphiphilic Carbon Molecules (扫描法+极角排序)
题意:平面上有 n 个点,每个点不是黑的就是白的,现在要放一个隔板,把它们分成两部分,使得一侧的白点数加上另一侧的黑点数最多. 析:这个题很容易想到的就是暴力,不妨假设隔板至少经过两个点,即使不经过也 ...
- loadrunner - 安装与破解
最近准备学习LR,借助这个平台,将自己的学习经历记录下来,当然很多都不是原创,都是遇到问题时各种百度,然后梳理下知识是为了避免以后遇到同样的错误时,能回过头来参考参考. 下面的是转载某位大神的博客,尊 ...
- handsontable-developer guide-data binding,data sources
数据绑定: 1.表格中得数据是引用了数据源中的数据:表格中数据改变,数据源中得数据也改变:数据源中得数据改变,通过render方法,表格中的数据也改变: 2.如果想把数据源中的数据和表格中的数据分开: ...
- PHP爬虫(3)PHP DOM开源代码里的大坑和字符编码
一.开源代码的问题 在PHP爬虫(2)中介绍了开源工程Sunra.PhpSimple.HtmlDomParser.在实际工作中发现一个问题,例如http://www.163.com的网页数据怎么也抓取 ...
- 【转】不用软件,解压Win8/Win8.1的install.wim文件
今天用好压解压Windows 8.1的install.wim文件,居然提示文件损坏,换了7Z仍然如此:其实文件是好的.只不过这些软件暂时不支持罢了,还好可以用dism命令来手动完成. 一.检查镜像版本 ...
- solr分词一:mmseg4j
刚接触Lucene2.x和Solr2.x的时候,谈到中文分词,会让我立即想到用庖丁中文分词,庖丁中文分词因巨大的中文词库以及支持不限制个数的用户自定义词库,而且是纯文本格式,一行一词,使用后台线程检测 ...