QuantLib 金融计算——基本组件之 Currency 类
如果未做特别说明,文中的程序都是 python3 代码。
QuantLib 金融计算——基本组件之 Currency 类
载入 QuantLib:
import QuantLib as ql
print(ql.__version__)
1.15
概述
QuantLib 中描述货币基本信息的类是 Currency
及其派生类,Currency
的体系很庞杂,但层次结构很简单。整个类的继承结构分为两层:Currency
作为唯一的基类;一种货币对应一个派生类,例如表示美元的 USDCurrency
,表示人民币的 CNYCurrency
以及表示日元的 JPYCurrency
,等等。
构造函数
Currency
及其派生类的构造函数不接受参数,需要注意的是,基类 Currency
是可以实例化的。
成员函数
Currency
及其派生类的成员函数基本上作为类的检查器出现,直白地提供一些描述性的信息。
常用成员函数如下:
name()
:返回字符串,货币的名称;code()
:返回字符串,货币的 ISO4217 代码,通常是三个大写英文字母;numericCode()
:返回整数,货币的 ISO4217 代码对应的数字;symbol()
:返回字符串,即现实世界中常用于表示该货币的一个符号,美元的话就是“$”,日元的话就是“¥”。需要注意的是,该函数返回的可能是 Unicode,在 python 中可能导致程序运行失败;fractionSymbol()
:返回字符串,即现实世界中常用于表示该货币最小单位的一个符号,和symbol()
一样,该函数返回的可能是 Unicode,在 python 中可能导致程序运行失败;fractionsPerUnit()
:返回整数,一单位货币相对于该货币最小单位的倍数,通常是 100。format()
:返回字符串,一个用于格式化打印结果的“格式化字符串”。empty()
:返回布尔值,如果对象由派生类实例化,则返回True
;如果对象由Currency
实例化,则返回False
,毕竟基类对象中货币信息是“空”的。rounding()
:返回一个Rounding
对象,即该货币舍入的规则,默认不进行舍入。
示例,
import QuantLib as ql
usd = ql.USDCurrency()
cny = ql.CNYCurrency()
print('{0:<20}{1}'.format('USDCurrency', 'CNYCurrency'))
print('{0:<20}{1}'.format(usd.name(), cny.name()))
print('{0:<20}{1}'.format(usd.code(), cny.code()))
print('{0:<20}{1}'.format(usd.numericCode(), cny.numericCode()))
print('{0:<20}{1}'.format(usd.symbol(), cny.symbol()))
# print('{0:<20}{1}'.format(usd.fractionSymbol(), cny.fractionSymbol()))
print('{0:<20}{1}'.format(usd.fractionsPerUnit(), cny.fractionsPerUnit()))
print('{0:<20}{1}'.format(usd.format(), cny.format()))
c1 = ql.Currency()
c2 = ql.EURCurrency()
c3 = ql.USDCurrency()
c4 = c2
e1 = c1.empty()
e2 = c2.empty()
e3 = c3.empty()
e4 = c4.empty()
print(e1, e2, e3, e4)
USDCurrency CNYCurrency
U.S. dollar Chinese yuan
USD CNY
840 156
$ Y
100 100
%3% %1$.2f %3% %1$.2f
True False False False
QuantLib 金融计算——基本组件之 Currency 类的更多相关文章
- QuantLib 金融计算——基本组件之 Index 类
目录 QuantLib 金融计算--基本组件之 Index 类 QuantLib 金融计算--基本组件之 Index 类 Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor ...
- QuantLib 金融计算——基本组件之 ExchangeRateManager 类
目录 QuantLib 金融计算--基本组件之 ExchangeRateManager 类 概述 Money 类中的汇率转换配置 ExchangeRateManager 函数 如果未做特别说明,文中的 ...
- QuantLib 金融计算——基本组件之 Money 类
目录 QuantLib 金融计算--基本组件之 Money 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Money ...
- QuantLib 金融计算——基本组件之 ExchangeRate 类
目录 QuantLib 金融计算--基本组件之 ExchangeRate 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件 ...
- 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 对象 一些常用的成员函数 如果未做特别说明,文 ...
随机推荐
- python之数据类型3和文件操作
一 字典属性方法补充 key是不变的类型,字典能快速查找,基于哈希索引 不可变类型 int bool str tuple 可变类型:list dict set 1 clear :清空 # ...
- 2018.09.26 bzoj1015: [JSOI2008]星球大战starwar(并查集)
传送门 并查集经典题目. 传统题都是把删边变成倒着加边,这道题是需要倒着加点. 处理方法是将每个点与其他点的边用一个vector存起来,加点时用并查集统计答案就行了. 代码: #include< ...
- 2018.09.08 NOIP模拟trip(最长链计数)
差不多是原题啊. 求最长链变成了最长链计数,其余没有变化. 这一次考试为了保险起见本蒟蒻还是写了上次没写的辅助数组. 代码: #include<bits/stdc++.h> #define ...
- Django入门指南-第10章:Django Admin 介绍(完结)
在浏览器中打开该URL:http://127.0.0.1:8000/admin/ 我们可以检查一切是否正常,打开URL http://127.0.0.1:8000 我们首先创建一个管理员帐户: pyt ...
- Tcl写法
#=============================================================== #Analysi&Synthesis execute_modu ...
- hdu 5040 bfs
http://acm.hdu.edu.cn/showproblem.php?pid=5040 一个人拿着纸盒子往目的地走 正常情况下一秒走一格 可以原地不动躲在盒子里 也可以套着盒子三秒走一格 ...
- git提交提示workspace.xml出现conflicted
问题:在github上管理项目,多次提交以后提交提示workspace.xml出现conflicted原因:Android项目在根目录的.gitignore文件中没有添加.idea文件夹忽略. 解决办 ...
- ibatIs中的isNotNull、isEqual、isEmpty
isNull判断property字段是否是null,用isEmpty更方便,包含了null和空字符串 例子一:isEqual相当于equals,数字用得多些,一般都是判断状态值<isEqual ...
- 【WP8.1】系统控件的bug及修复方案
最近开发的时候,发现Windows Phone 8.1 Runtime中的两个控件的存在bug的情况,现总结出来,并给出解决方案. 1.Hub控件 Hub控件的顶部默认是可以拖动来切换HubSecti ...
- 配置Jenkins构建失败触发邮件报警机制
系统管理 1.进入系统管理-->系统设置 定位到Jenkins Location配置项 配置系统管理员邮件地址 系统管理员邮件地址需要同发送报警邮件地址相同 定位到邮件通知 配置SMTP ...