量子蟒蛇工具

qtk的Python项目详细描述


#Quant Python工具包 < BR>
这个包打算成为quantlib python和其他一些定量库之上的一层
更容易进行量化财务计算。 < BR>
最小示例
这里是一个使用提供的零利率对债券进行估值的最小示例。 < BR>
来自qtk导入控制器,字段为f,模板为t < BR>
数据=[{
"复合":"复合",
"合成频率":"年度",
"货币":"美元",
"折扣基础":"30/360",
"折扣日历":"美国",
"列表日期":["2015年1月15日","2015年7月15日","2016年1月15日"],
"零率列表":[0.0,0.005,0.007],
"objectid":"USD.zero.curve",
"模板":"termstructure.yield.zerocurve"},
{
"折扣曲线":"->;美元零。曲线",
"对象ID":"绑定引擎",
"模板":"engine.bond.discounting"},
{
"应计日历":"美国",
"应计日惯例":"未调整",
"asofdate":"2016-01-15",
"优惠券":0.06,
"耦合频率":"半年一次",
"货币":"美元",
"日期生成":"向后",
"endofmonth":错误,
"发布日期":"2015-01-15",
"到期日":"2016-01-15",
"objectid":"美元,待定",
"付款基础":"30/360",
"pricingengine":"->;绑定引擎",
"模板":"工具、债券、国债" < BR>
res=控制器(数据)
asof_date="2015年1月15日" < BR>
ret=res.process(截止日期)
tbond=实物("USD.tbond")
打印tbond.npv() < BR>< BR>
这里的基本思想是,一旦准备好数据,就可以调用"controller"进行计算。
这里有几点值得注意。 < BR>
-所有数据都是文本的,而且相当直观。例如,优惠券
频率仅表示为"每年"或"半年"。其他许多领域也是如此。日期,
"dateutil"包用于解析并涵盖各种格式。 < BR>
-"data"本质上是"dict"的"list",每个"dict"对应于一个特定的"object"
按每个"dict"中键"template"的值。这里的每个"object"都有一个由
键"objectid"` < BR>
-其中一个值可以通过"reference"语法引用"dict"描述的另一个对象。例如,
"data"列表中的第一个"dict"(objectid指定为*USD.zero.curve*)变量表示兴趣
零利率的利率期限结构。下一个目标是贴现债券引擎,要求收益率曲线为
输入折扣曲线。这里,收益率曲线是通过使用前缀"->;"和
我们指的对象。 < BR>
-这里,"controller"解析数据,找出依赖关系并按正确顺序处理对象
并在幕后实现依赖关系。 < BR>
反省 < BR>
有一些方便的方法可以帮助您构建数据包。例如,
模板中的"help"方法打印出有关如何构造
模板的数据包。 < BR>
>;t.ts_yield_bond.help() < BR>
**说明** < BR>
通过剥离债券报价创建收益率曲线的模板。 < BR>
**必需字段** < BR>
-`template`[*template*]:'termstructure.yield.bondcurve'
-`instrumentcollection`[*list*]:学院仪器仪表
-`as of date`[*日期*]:参考日期或截止日期
-`country`[*string*]:国家
-`currency`[*string*]:货币 < BR>
**可选字段** < BR>
-`objectid`[*string*]:引用此字典数据的唯一名称或标识符
-`interpolation method`[*string*]:插值方法可以是以下选项之一:linearzero、cubiczero、flatford、linearforward、logcubicdiscount。
-`discount basis`[*daycount*]:折扣基础
-`settlement days`[*integer*]:结算天数
-`discount calendar`[*calendar*]:折扣日历 < BR>
"help"方法以标记格式以"info"方法打印说明。在使用ipython/jupyter笔记本时,
以好看的格式打印。可以从示例数据包开始,使用"sample_data"方法填写输入字段。 < BR>
>;t.ts_yield_bond.sample_data() < BR>
{'asofdate':'必需(日期)',
"国家":"必需(字符串)",
"货币":"必需(字符串)",
"折扣基础":"可选(计日)",
"折扣日历":"可选(日历)",
"工具集合":"必需(列表)",
"插值方法":"可选(字符串)",
"objectid":"可选(字符串)",
"结算日":"可选(整数)",
"模板":"termstructure.yield.bondcurve"} < BR>< BR>
安装 < BR>
您可以使用"pip"或"easy"安装qtk` < BR>
pip安装qtk < BR>< BR>< BR>
易于安装qtk < BR>
"qtk"依赖于需要安装的"quantlib python"。 < BR>< BR>< BR>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型重写抽象方法并具有子类的返回类型   Java中的字符串反转字符,同时保留一些字符   java将系统时间与我获取它的时间进行比较   java解析ODATA URL以在准备entityset之前读取ID值   java中的有界通配符下界泛型即使在传递超类时也不会编译   c#Java的JVM和Java的内部工作方式有什么不同。NET的CLR?   java如何在windows7上指定JDK的版本?   Java:列出单个目录中的所有文件(1020000+)   java使用Logback和Lombok   安卓谷歌玩java。lang.NullPointerException   使用RSA的解密结果在普通Java和Android中有所不同   具有默认连接池的java Spring引导   java我如何在一个坏的测试环境中前进?