QuantLib 金融计算——基本组件之 Index 类
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 类的更多相关文章
- QuantLib 金融计算——基本组件之 Currency 类
目录 QuantLib 金融计算--基本组件之 Currency 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Cu ...
- QuantLib 金融计算——基本组件之 Date 类
目录 QuantLib 金融计算--基本组件之 Date 类 Date 对象的构造 一些常用的成员函数 一些常用的静态函数 为估值计算配置日期 如果未做特别说明,文中的程序都是 Python3 代码. ...
- QuantLib 金融计算——基本组件之 Calendar 类
目录 QuantLib 金融计算--基本组件之 Calendar 类 Calendar 对象的构造 一些常用的成员函数 自定义假期列表 工作日修正 如果未做特别说明,文中的程序都是 Python3 代 ...
- QuantLib 金融计算——基本组件之 DayCounter 类
目录 QuantLib 金融计算--基本组件之 DayCounter 类 DayCounter 对象的构造 一些常用的成员函数 如果未做特别说明,文中的程序都是 Python3 代码. QuantLi ...
- QuantLib 金融计算——基本组件之 DateGeneration 类
目录 QuantLib 金融计算--基本组件之 DateGeneration 类 QuantLib 金融计算--基本组件之 DateGeneration 类 许多产品的估值依赖于对未来现金流的分析,因 ...
- QuantLib 金融计算——基本组件之 Schedule 类
目录 QuantLib 金融计算--基本组件之 Schedule 类 Schedule 对象的构造 作为"容器"的 Schedule 对象 一些常用的成员函数 如果未做特别说明,文 ...
- QuantLib 金融计算——基本组件之 InterestRate 类
目录 QuantLib 金融计算--基本组件之 InterestRate 类 InterestRate 对象的构造 一些常用的成员函数 如果未做特别说明,文中的程序都是 Python3 代码. Qua ...
- QuantLib 金融计算——基本组件之 ExchangeRateManager 类
目录 QuantLib 金融计算--基本组件之 ExchangeRateManager 类 概述 Money 类中的汇率转换配置 ExchangeRateManager 函数 如果未做特别说明,文中的 ...
- QuantLib 金融计算——基本组件之 Money 类
目录 QuantLib 金融计算--基本组件之 Money 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Money ...
随机推荐
- Linux运维实战之DNS(bind)服务器的安装与配置
转自http://sweetpotato.blog.51cto.com/533893/1598225 上次博文我们讨论了DNS的基础,本次博文我们重点来看看如何配置一台DNS服务器. [本次博文的主要 ...
- 7-n!的位数(斯特灵公式)
http://acm.hdu.edu.cn/showproblem.php?pid=1018 Big NumberTime Limit: 2000/1000 MS (Java/Others) Memo ...
- ASP.NET WEBAPI设计(文摘)
HTML5和移动应用推动WEB API的发展 第1部分 基础知识 第1章 因特网,万维网和HTTP协议 1.1 WEB体系结构 资源,URI(统一资源标识符)和表示 URI分为两种类型:URL(统一资 ...
- [转]简介Gulp, Grunt, Bower, 和 Npm 对Visual Studio的支持
本文转自:http://www.cnblogs.com/whitewolf/p/4009199.html [原文发表地址]Introducing Gulp, Grunt, Bower, and npm ...
- handsontable-developer guide-cell type
单元格类型:这里有很多没见过的用法,得好好总结一下 //预定义的类型Text Numeric Checkbox Date Select Dropdown Autocomplete Password H ...
- 18-11-1 Scrum Meeting 4
1.会议照片 2.每人的工作 昨天完成的工作 完成测验页面,完善表单验证 完成制定计划,修改计划 关联单词数据,英语单词数据准备 今日计划工作 英文单词的图片准备 完善测验功能 3.项目燃尽图 前端页 ...
- [javascript]两段 javaScript 代码的逻辑比较
两段 javaScript 代码的逻辑比较: #1 if(tagName.length < 3){ $(this).parent().addClass('active'); tagN ...
- 二段Linq Groupby操作
var messages = list.GroupBy(p=>p.RefOrderNo,(k,v)=> new {OrderNo = k,SkuInfo = v}) .Select(p = ...
- C# Aes CryptoStream Specified padding mode is not valid for this algorithm的解決方法
//解密數據 using (var ss = File.OpenRead(@"d:\qq.d.flac")) { ...
- WebApi 插件式构建方案:发现并加载程序集
插件式的 WebApi 开发,首要面对的问题就是程序集的发现.因为开发的过程中,都是在各自的解决方案下进行开发,部署后是分模块放在一个整体的的运行时网站下. 约定 这里我根据上一节的设定,把插件打包完 ...