如果未做特别说明,文中的程序都是 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 类的更多相关文章

  1. QuantLib 金融计算——基本组件之 Index 类

    目录 QuantLib 金融计算--基本组件之 Index 类 QuantLib 金融计算--基本组件之 Index 类 Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor ...

  2. QuantLib 金融计算——基本组件之 ExchangeRateManager 类

    目录 QuantLib 金融计算--基本组件之 ExchangeRateManager 类 概述 Money 类中的汇率转换配置 ExchangeRateManager 函数 如果未做特别说明,文中的 ...

  3. QuantLib 金融计算——基本组件之 Money 类

    目录 QuantLib 金融计算--基本组件之 Money 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Money ...

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

    目录 QuantLib 金融计算--基本组件之 ExchangeRate 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件 ...

  5. QuantLib 金融计算——基本组件之 Date 类

    目录 QuantLib 金融计算--基本组件之 Date 类 Date 对象的构造 一些常用的成员函数 一些常用的静态函数 为估值计算配置日期 如果未做特别说明,文中的程序都是 Python3 代码. ...

  6. QuantLib 金融计算——基本组件之 Calendar 类

    目录 QuantLib 金融计算--基本组件之 Calendar 类 Calendar 对象的构造 一些常用的成员函数 自定义假期列表 工作日修正 如果未做特别说明,文中的程序都是 Python3 代 ...

  7. QuantLib 金融计算——基本组件之 DayCounter 类

    目录 QuantLib 金融计算--基本组件之 DayCounter 类 DayCounter 对象的构造 一些常用的成员函数 如果未做特别说明,文中的程序都是 Python3 代码. QuantLi ...

  8. QuantLib 金融计算——基本组件之 DateGeneration 类

    目录 QuantLib 金融计算--基本组件之 DateGeneration 类 QuantLib 金融计算--基本组件之 DateGeneration 类 许多产品的估值依赖于对未来现金流的分析,因 ...

  9. QuantLib 金融计算——基本组件之 Schedule 类

    目录 QuantLib 金融计算--基本组件之 Schedule 类 Schedule 对象的构造 作为"容器"的 Schedule 对象 一些常用的成员函数 如果未做特别说明,文 ...

随机推荐

  1. 2018.09.15[POI2008]BLO-Blockade(割点)

    描述 There are exactly nn towns in Byteotia. Some towns are connected by bidirectional roads. There ar ...

  2. 2018.07.10 NOIP模拟 sort(单调队列)

    Sort 题目背景 SOURCE:NOIP2016-RZZ-4 T1 题目描述 给你一个长度为 n 的排列,小W每次可以选择一个数,做以下操作: 不断把这个数与它右边的数交换. 当它右边没有数,或它右 ...

  3. Java 继承关系中:static,构造函数,成员变量的加载顺序

    首先看下面的例子: package simple.demo; /** * @author Administrator * @date 2019/01/03 */ public class ClassA ...

  4. redhat 6用yum方式安装nginx

    前提条件:如果发生了没有注册redhat账号造成没有权限使用yum的情况下,可以参考:http://www.cnblogs.com/boshen-hzb/p/6080431.html 1.cd /et ...

  5. Android draw Rect 坐标图示

    前两天在博客发了在例子 android Canvas类介绍 http://byandby.javaeye.com/blog/825330 建议大家 点进去 看一看 不然下边没办法 继续啊. 我还是把这 ...

  6. 多线程中使用curl致coredump问题

    coredump时的调用栈: #0  0x081eff2c in addbyter () #1  0x081f05b8 in dprintf_formatf () #2  0x081f15cf in ...

  7. Hdu2952 Counting Sheep 2017-01-18 14:56 44人阅读 评论(0) 收藏

    Counting Sheep Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Tota ...

  8. delphi自带的SHA1算法

    delphi自带的SHA1算法 uses IdHashSHA, IdGlobal; function SHA1(Input: String): String; begin with TIdHashSH ...

  9. WPF中得到一个控件相对其他控件的坐标

    加入想得到按钮btnTest左上角相对于主窗体winTest的坐标,可以用如下方法:btnTest.TranslatePoint(new Point(0, 0), winTest)这个方法返回一个Po ...

  10. 轻松转移github项目步骤

    之前有一些项目是托管在github上的,无奈github速度太慢,而且空间有限,还不能有私有项目.后来发现开源中国的git托管(git.oschina.net)还不错,可以托管1000个项目,而且可以 ...