QuantLib 金融计算——基本组件之 ExchangeRate 类
如果未做特别说明,文中的程序都是 python3 代码。
QuantLib 金融计算——基本组件之 ExchangeRate 类
载入 QuantLib:
import QuantLib as ql
print(ql.__version__)
1.15
概述
QuantLib 中描述货币之间汇率信息的类是 ExchangeRate,Currency 体系内的每两种货币都可以生成出一个 ExchangeRate 对象。
构造函数
ExchangeRate 的构造函数非常固定,接受三个参数:
ExchangeRate(source,
target,
rate)
source:一个Currency对象,表示源货币;target:一个Currency对象,表示目标货币;rate:一个浮点数,表示“source对target”的汇率。
成员函数
常用成员函数如下:
source():返回Currency对象,即源货币;target():返回Currency对象,即目标货币;rate():返回浮点数,即汇率;type():返回内置的整数常量,ExchangeRate.Direct:等于 0,表示该汇率是通过构造函数直接构造的;ExchangeRate.Derived:等于 1,表示该汇率是通过其他汇率对象简间接构造的;
exchange(amount):amount是一个Money对象,该函数将amount转换成等价值的其他货币;chain(r1, r2):r1和r2是ExchangeRate对象,所涉及的货币必须构成一个三角关系,该函数将返回一个ExchangeRate对象,补全三角关系中缺失的一边。
示例,
import QuantLib as ql
usd = ql.USDCurrency()
cny = ql.CNYCurrency()
usdTocny = ql.ExchangeRate(usd, cny, 6.85)
m_usd = 1.32 * usd
m_cny = 5.32 * cny
print(
'Converting from USD: ', m_usd, ' = ',
usdTocny.exchange(m_usd))
print(
'Converting from CNY: ', m_cny, ' = ',
usdTocny.exchange(m_cny))
print(usdTocny.source())
print(usdTocny.target())
print(usdTocny.rate())
eur = ql.EURCurrency()
cnyToeur = ql.ExchangeRate(eur, cny, 7.73)
usdToeur = ql.ExchangeRate.chain(usdTocny, cnyToeur)
m_eur = 1000.0 * eur
print(
'Converting from EUR: ', m_eur, ' = ',
usdToeur.exchange(m_eur))
print(usdTocny.type() == ql.ExchangeRate.Direct)
print(usdToeur.type() == ql.ExchangeRate.Derived)
Converting from USD: $ 1.32 = Y 9.04
Converting from CNY: Y 5.32 = $ 0.78
U.S. dollar
Chinese yuan
6.85
Converting from EUR: EUR 1000.00 = $ 1128.47
True
True
结果会根据货币的类型自动四舍五入。
QuantLib 金融计算——基本组件之 ExchangeRate 类的更多相关文章
- QuantLib 金融计算——基本组件之 ExchangeRateManager 类
目录 QuantLib 金融计算--基本组件之 ExchangeRateManager 类 概述 Money 类中的汇率转换配置 ExchangeRateManager 函数 如果未做特别说明,文中的 ...
- 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 金融计算——基本组件之 Index 类
目录 QuantLib 金融计算--基本组件之 Index 类 QuantLib 金融计算--基本组件之 Index 类 Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor ...
- QuantLib 金融计算——基本组件之 InterestRate 类
目录 QuantLib 金融计算--基本组件之 InterestRate 类 InterestRate 对象的构造 一些常用的成员函数 如果未做特别说明,文中的程序都是 Python3 代码. Qua ...
随机推荐
- docker启动,重启,关闭命令
docker启动命令,docker重启命令,docker关闭命令 启动 systemctl start docker守护进程重启 sudo systemctl daemon-relo ...
- Vue+element 解决浏览器自动填充记住的账号密码问题
我们在做form表单的时候,会发现,浏览器会自动的将我们之前保存的密码, 自动的填充到表单中input 为 type="password" 的框中 登录页面也就算了,但是注册页面就 ...
- Solr搜索器的特性及相关操作
一.搜索处理器简介 所有的请求处理器都实现一个Java类,本例实现了solr.SearchHandler.在运行时,solr.SearchHandler被解析为内置的Solr类org.apache.s ...
- OEL7.6源码安装MYSQL5.7
首先官网下载安装包https://dev.mysql.com/downloads/mysql/5.7.html#downloads 然后上传解压至/usr/local目录 [root@localhos ...
- IIS下配置Php+Mysql+zend的图文教程(完整版)
网上有很多关于PHP在IIS下配置的教程,但都是一些很理性化的东西,我从里面整理出来这个教程 发出来为了方便参考,,有什么问题也可以大家一起交流,,如果有什么不对的地方,请指正.. 下面的教程都是在w ...
- 使用docker搭建redis-cluster环境
目录 基础环境信息 搭建步骤 搭建中遇到的问题 其他参考 临时接到一个测试任务,而测试需要用到redis-cluster环境,却没有现成的环境可用,于是只能自力更生搭建测试环境.一开始想采用在 ...
- curl-7.21.2
curl 源码编译 自己定义的库编译 https://blog.csdn.net/initiallht/article/details/92655025 静态库,debug,x86nmake /f M ...
- MySQL小测试
<> 2.创建一个字符集为utf8的数据库,将数据库字符集修改为gbk create database db1 charset='utf8'; alter database db1 cha ...
- BZOJ4241:历史研究(回滚莫队)
题意:给定N个数字,Q次询问,询问这个区间的最大加权众数是多少. 加权众数是指出现次数*数字大小.N,Q<1e5. 思路:不难发现可以N*sqrtN*logN的思路做,但是应该过不了. 这个Ns ...
- JMeter【第四篇】参数化
概念 参数化的原因,并不是网上说的真实模拟不同用户,真实反应服务器性能,而是: 数据唯一性(比如注册名不能一样) 避免数据库查询缓存 如何避免参数化: 去掉唯一性校验的约束 关闭数据库的查询缓存,my ...