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

Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor。这些指数或收益率的属性可能取决于若干个变量,如基础货币和期限。想象一下,一个交易员正在交易利率互换,浮动收益率定为 3 个月的 Shibor,他肯定需要了解此收益率以及基于此收益率的互换合约的若干结算细节,通常来说这些细节是固定不变的。

这些属性因期限而不同,此外,还取决于相应的基础货币。幸运的是,用户不必为大多数常用指数或收益率指定这些属性,因为它们在 QuantLib 中实现。

例如,用户可以通过 Shibor 类构造特定期限的 Shibor 利率。Shibor 类继承自 IborIndex 类(表示银行间市场收益率的基类), IborIndex 类又继承自 InterestRateIndex 类(表示指数和收益率的基类)。这些类提供了如下几个常用函数:

  • name():指数或收益率的名字
  • fixingCalendar():指数或收益率使用的日历表
  • dayCounter():指数或收益率使用的天数计算规则
  • currency():指数或收益率对应的基础货币
  • tenor():指数或收益率的期限
  • businessDayConvention():如何调整非工作日

目前版本的 quantlib-python 中没有封装 Shibor 类,只能在 C++ 中调用。

#include <iostream>

#include <ql/indexes/ibor/shibor.hpp>
#include <ql/time/period.hpp> using namespace std;
using namespace QuantLib; void testingIndexes1(); int main()
{
testingIndexes1();
return 0;
} void testingIndexes1()
{
Period tensor(3, Months);
Shibor index(tensor); cout << "Name :\t" << index.familyName() << endl;
cout << "BDC :\t" << index.businessDayConvention() << endl;
cout << "End of Month rule ?:\t" << index.endOfMonth() << endl;
cout << "Tenor :\t" << index.tenor() << endl;
cout << "Calendar :\t" << index.fixingCalendar() << endl;
cout << "Day Counter :\t" << index.dayCounter() << endl;
cout << "Currency :\t" << index.currency() << endl;
}
Name :	Shibor
BDC : Modified Following
End of Month rule ?: 0
Tenor : 3M
Calendar : China inter bank market
Day Counter : Actual/360
Currency : CNY

在 QuantLib 中有若干类的构造函数需要这样一个指数或收益率对象作为输入参数,特别是和构造收益率曲线有关的类,需要收益率的确切属性。Index 类使得其他构造函数的定义更加紧凑。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. css position说明

    absolute 生成绝对定位的元素,选择第一个position不等于 static 定位的第一个父元素进行定位. 元素的位置通过 "left", "top", ...

  2. Golang之接口(interface)

    Golang最重要的接口,,,, package main import ( "fmt" ) //interface类型默认是指针 /* 接口的实现 Golang中的接口,不需要显 ...

  3. 静态方法调静态属性用self,$this不可以

  4. npm 更改为淘宝镜像的方法

    1.命令行临时使用指定镜像(淘宝) npm --registry https://registry.npm.taobao.org install express 2.命令行永久更改使用指定镜像(淘宝) ...

  5. IndexedDB:浏览器里内置的数据库(转)

    出处;http://www.webhek.com/indexeddb/ IndexedDB是HTML5规范里新出现的浏览器里内置的数据库.对于在浏览器里存储数据,你可以使用cookies或local ...

  6. java文件的读写程序代码

    package textopen; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutp ...

  7. 6、Docker Image

    6.1 什么是image 文件和meta data的集合(root filesystem) 分层的,并且每一层都可以添加.改变.删除文件,成为一个新的image 不同的image可以共享相同的laye ...

  8. 利用SQL表生成按日期序列的唯一ID

    1. 创建一个表,用于存现在最大的ID SELECT [ID],[PreFix],[Code] FROM [DocumentNO] 2. 增加SP,利用锁表,生成相应的ID Create PROCED ...

  9. #测试框架推荐# test4j,数据库测试

    # 背景 后端都是操作DB的,这块的自动化测试校验的话,是需要数据库操作的,当然可以直接封装方法来操作数据,那么有没有开源框架支持数据操作,让我们关注写sql语句?或者帮我们做mysql的断言呢? # ...

  10. 自己从0开始学习Unity的笔记 VIII (C#中类继承练习 II)

    自己写了一个关于兵种的,因为一直在测试,到底面向对象是个什么玩意...然后就做了这个 namespace 兵种 { class Role //作为父类,构建一个普通角色属性用于继承 { protect ...