如果未做特别说明,文中的程序都是 python3 代码。

QuantLib 金融计算——基本组件之 ExchangeRate 类

载入 QuantLib:

import QuantLib as ql

print(ql.__version__)
1.15

概述

QuantLib 中描述货币之间汇率信息的类是 ExchangeRateCurrency 体系内的每两种货币都可以生成出一个 ExchangeRate 对象。

构造函数

ExchangeRate 的构造函数非常固定,接受三个参数:

ExchangeRate(source,
target,
rate)
  • source:一个 Currency 对象,表示源货币;
  • target:一个 Currency 对象,表示目标货币;
  • rate:一个浮点数,表示“sourcetarget”的汇率。

成员函数

常用成员函数如下:

  • source():返回 Currency 对象,即源货币;
  • target():返回 Currency 对象,即目标货币;
  • rate():返回浮点数,即汇率;
  • type():返回内置的整数常量,
    • ExchangeRate.Direct:等于 0,表示该汇率是通过构造函数直接构造的;
    • ExchangeRate.Derived:等于 1,表示该汇率是通过其他汇率对象简间接构造的;
  • exchange(amount)amount 是一个 Money 对象,该函数将 amount 转换成等价值的其他货币;
  • chain(r1, r2)r1r2ExchangeRate 对象,所涉及的货币必须构成一个三角关系,该函数将返回一个 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

结果会根据货币的类型自动四舍五入。

最新文章

  1. PALIN - The Next Palindrome 对称的数
  2. 24.Redis2.8主从集群sentinel
  3. fir.im weekly - 「 持续集成 」实践教程合集
  4. Python基本数据类型之list
  5. C# 文件操作方法
  6. Android SQLite (一) 数据库简介
  7. Cocos2d-X3.0 刨根问底(七)----- 事件机制Event源码分析
  8. CentOS6.5配置python开发环境之一:CentOS图形化界面显示
  9. CVS 文件自动移 tag 的 Python 脚本
  10. HDU 3339 In Action 最短路+01背包
  11. oracle16 例外
  12. 实现自己的脚本语言ngscript之二:语法分析
  13. word2vec生成词向量原理
  14. [Python笔记]第二篇:运算符、基本数据类型
  15. 在Python3.5下安装和测试Scrapy爬网站
  16. 智能家居DIY
  17. [置顶] Spring中DI设置器注入
  18. dojo省份地市级联之省份Dao接口类(三)
  19. c语言的第三次作业
  20. 【腾讯Bugly干货分享】Android 插件技术实战总结

热门文章

  1. 北理工机器人队RM视觉组学习参考汇总(持续更新中)
  2. Laravel集合的简单理解
  3. msgTips 顶部弹窗
  4. python基础知识(最基本)
  5. Sharding-Jdbc概念与使用技巧
  6. 【转】Git使用教程之基础篇
  7. Spring入门。
  8. Linux文件增删改
  9. nfs—文件转换器
  10. JavaScript/JQuery自执行函数