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. Vue 路由缓存

    问题 在路由切换时不需要每次 点击都刷新子路由   尤其是在form表单的情况下  不能让用户 输入一半之后点击其他页面  再点回来 表单数据不见了 解决方案   vue 2.0     之中  有k ...

  2. Java 设计模式系列(二)简单工厂模式和工厂方法模式

    Java 设计模式系列(二)简单工厂模式和工厂方法模式 实现了创建者和调用者的分离.分为:简单工厂模式.工厂方法模式.抽象工厂模式 简单工厂模式.工厂方法模式都很简单,就不详细介绍了. 一.简单工厂 ...

  3. Function 对象 & anonymous 匿名函数

    functionName = new Function( [argname1, [... argnameN,]] body ); 例子: var say = new Function("na ...

  4. 搭建vue脚手架,包含Axios、qs、Element-UI、mock等插件的安装配置

    1.安装node.vue这些最基础最简单的安装的就一一省略过. 1.1 axios 安装 1.2安装 Element-Ui 插件 1.3 安装 qs 1.4  安装 Mock 2.新建一个vue工程, ...

  5. ADF文件在哪个地方?

    Where is ADF file on Tango Device? Ask Question up vote2down votefavorite   I have a Tango tablet de ...

  6. Linux 基础教程 41-系统关机和重启

        在Linux系统中,仅仅是关机和重启相关的命令就至少有5个,shutdown. halt.poweroff.reboot.init.各个命令作用如下所示: 命令 说明 shutdown 可用于 ...

  7. ZOJ2748 Free Kick 2017-04-18 20:40 40人阅读 评论(0) 收藏

    Free Kick Time Limit: 2 Seconds      Memory Limit: 65536 KB In a soccer game, a direct free kick is ...

  8. zTree设置选中节点之后出现重复节点

    1.用户离开页面时最后一次点击的节点信息我会保存到数据库. 2.用户打开页面时默认选中上一次离开时选中的节点. 现在发现在设置选中节点之后,会出现重复的节点(重复现象偶尔出现). 以下是代码: var ...

  9. css+html+JQuery 万能弹出层,居中显示

    function ShowMsg(str) {//要提示的文字 $(".payment_time_mask").remove(); $("body").appe ...

  10. Java50道经典习题-程序5 判断分数等级

    题目:利用三元运算符来完成此题:从键盘录入一个整型的分数,没有负分满分为100分,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.分析:三元运算符的格式为:逻 ...