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 对象 一些常用的成员函数 如果未做特别说明,文 ...
随机推荐
- KbmMW 4.5 发布
We are happy to announce the release of kbmMW v. 4.50.00 Professional, Enterprise and CodeGear Editi ...
- 2018.09.20 atcoder 1D Reversi(模拟)
传送门 考虑每次摆石头都会消去最外层的一个连续颜色串. 所以只用统计一下有多少段颜色即可. 代码: #include<bits/stdc++.h> using namespace std; ...
- 着重基础之—MySql Blob类型和Text类型
着重基础之—MySql Blob类型和Text类型 在经历了几个Java项目后,遇到了一些问题,在解决问题中体会到基础需要不断的回顾与巩固. 最近做的项目中,提供给接口调用方数据同步接口,传输的数据格 ...
- java反编译工具jad使用
参考:http://blog.csdn.net/u014472711/article/details/53713269 http://lijingshou.iteye.com/blog/2005717 ...
- Word图片上传控件(WordPaster)更新-2.0.15版本
更新说明: 1. 增加对webp图片的支持,支持微信公众号图片的下载. 效果参考:http://www.ncmem.com/doc/view.aspx?id=9761f8ce4fe04d0ab0f ...
- 图形与游戏中3D数学基础的说明
1.左手坐标系与右手坐标系没有好坏之分,不同的研究领域和不同的背景下,选择不同的坐标系:传统计算机图形学采用“左手坐标系”,线性代数则倾向于使用右手坐标系 坐标系由坐标轴与坐标原点组成.原点定义坐标系 ...
- hdu 5009 离散化
http://acm.hdu.edu.cn/showproblem.php?pid=5009 有一段序列,涂连续一段子序列的代价为该子序列出现不同数字个数的平方,求最小代价涂完整个序列. ai有10^ ...
- underscore objects
1._.keys():获取对象的属性名,不包含原型链 _.keys = nativeKeys || function(obj) { if (obj !== Object(obj)) throw new ...
- 轻松转移github项目步骤
之前有一些项目是托管在github上的,无奈github速度太慢,而且空间有限,还不能有私有项目.后来发现开源中国的git托管(git.oschina.net)还不错,可以托管1000个项目,而且可以 ...
- 【TFS 2017】使用浏览器上传文件(TFVC)或者编辑代码,错误提示TF14098,需要对文件有PendChange 权限
从TFS 2015开始,微软在TFS系统中增加了一个非常吸引开发人员的功能,"快速代码编辑器" (Quick Code Editor).使用这个功能,你可以在任何安装了浏览器的设备 ...