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 ...
随机推荐
- 在IIS下发布.Net Core MVC项目
1. 默认你已经安装了IIS,并且创建了一个.Net Core 项目 2. 发布.NET Core项目 在vs中右键点击MVC项目,点击"发布"按钮,选择"文件系统&qu ...
- Redis安装和基本使用
目录 Redis安装和基本使用 安装 配置 启动服务端 启动客户端 Redis键(key) 与键相关的基本命令 Redis字符串 常用字符串命令: Redis哈希 常用Hash命令 Redis 列表( ...
- zsh禁用自动更新
编辑.oh-my-zsh/oh-my-zsh.sh文件 set DISABLE_AUTO_UPDATE = false # Check for updates on initial load... i ...
- vue项目开发遇见bug
1.附件的点击问题,与原生交互的问题: 原生的调用对象和vue的调用对象不同,注意原生方法的位置. 2.10.2以下fetch请求数据的问题(检查是否可以使用 can i use) 10.2以下ios ...
- c/c++程序中内存区划分
转自:http://wenzongliang.iteye.com/blog/1866629 操作系统启动程序时会加载程序代码到内存(叫程序的代码区),然后创建进程PCB为进程分配内存资源(数据区,32 ...
- Python从零开始——安装与运行
- 枚举ENUM的tostring() valueof()name()和values()用法
从jdk5出现了枚举类后,定义一些字典值可以使用枚举类型; 枚举常用的方法是values():对枚举中的常量值进行遍历; valueof(String name) :根据名称获取枚举类中定义的常量值; ...
- Linux下BLAST+的本地化(BLAST 2.2.29+)
链接:http://blog.sciencenet.cn/home.php?mod=space&uid=830496&do=blog&quickforward=1&id ...
- 让configure和cmake编译时支持调试选项
在Linux先编译软件基本都是采用configure文件生成makefile,或者,cmake生成makefile文件两种方式.它们生成的makefile文件,一般默认不支持-g调试选项.但我们使用这 ...
- Ajax请求设置csrf_token
方式1 通过获取隐藏的input标签中的csrfmiddlewaretoken值,放置在data中发送. $.ajax({ url: "/cookie_ajax/", type: ...