在Python中使用QuantLib

Quantlib简介

相比TA-Lib在技术分析领域的地位,QuantLib在金融工程领域的地位可以说有过之而无不及。

QuantLib是用C++开发,所提供的工具包括了我们平常做经济金融计算时用到的很多模型(如:衍生品定价、分析等),专门针对金融工程领域涉及的库,可以很方便的用在研究与实际产品中。

主要模块

  • Currencies and FX rates(货币相关)
  • Date and time calculations(日期和时间计算)
  • Calendars
  • Day counters
  • Design patterns
  • Financial instruments
  • Finite-differences framework
  • Lattice methods
  • Math tools
  • 1-D Interpolations and corresponding traits
  • One-dimensional solvers
  • Optimizers(优化器)
  • Monte Carlo framework (蒙特卡洛模拟框架)
  • Numeric types
  • Output manipulators
  • Pricing engines(定价引擎)
  • Asian option engines(亚式期权)
  • Barrier option engines(障碍期权)
  • Basket option engines(篮子期权)
  • Cap/floor engines
  • Cliquet option engines
  • Forward option engines(远期期权)
  • Quanto option engines
  • Swaption engines
  • Vanilla option engines(普通期权)
  • QuantLib macros
  • Debugging macros
  • Numeric limits
  • Short-rate modelling framework(短期利率建模框架)
  • Stochastic processes(随机过程)
  • Term structures(期限结构)
  • Utilities

(其中个人感觉国内比较有用的添加了中文注释)

作为期权交易员,作者本人比较关注的是期权定价引擎日历模块。国内大商所豆粕期权和郑商所白糖期权都是美式期权,在每天连续交易时段中定价比较适合的是二叉树模型。相比较于闭式解的BS模型,基于数值模拟的二叉树模型的运算量提高了一个数量级,因此高效的定价引擎对于这些商品期权的交易员而言十分重要。QuantLib使用C++开发,并通过SWIG包装对其他语言提供调用API,足以满足连续交易对性能的需求。

其他的亚式期权、障碍期权定价引擎等,则适合国内OTC期权市场的参与者(无论做市商还是买方机构),毕竟这是一个“货物出柜、概不退换”的市场,想要不被对手坑就得保证自己也能有奇异期权定价能力。

vn.py和QuantLib

相比较于TA-Lib,QuantLib主要针对复杂衍生品,适用的人群会相对窄一些,举两个例子。

商品期权的CTA策略交易

前文已经提到过国内的商品期权主要采用美式期权合约设计,在定价方面需要使用二叉树模型。商品期权的最小价格变动通常比其标的物本身更小(相同的价格变动对应的TICK跳动更多),所以会比其标的物更适合交易CTA类的策略。

但是同时因为期权的非线性特征,在做多时可以采用买入看涨和卖出看跌两种方法(做空也一样有两种:买入看跌和卖出看涨),具体的选择就需要参考当时的波动率水平,而QuantLib的速度足以满足CTA类策略对于低延时的要求。

场外期权交易系统

越来越多的国内买方机构(券商资管、信托、基金和私募等)开始参与到OTC期权的市场,OTC期权以灵活著称,不但可交易的品种更多(沪深300、中证500、黄金、铜等),可供选择的期权类型也更多(灵活到期时间、奇异期权)。

目前大部分机构依旧采用传统的EXCEL来记录和管理,通常需要手动输入行情数据(也可以使用Wind接口接入实时行情),使用较为麻烦也无法做到实时的一些交易对冲。同时由于EXCEL VBA的局限性,对于障碍期权等奇异期权,买家往往无法自己进行估值,必须依赖于OTC做市商给出的数字。

结合vn.py和QuantLib,交易员可以构建连通场内外的期权交易系统,使用数据库而不是EXCEL来管理持仓和风险,并基于实时行情来计算当前持仓的希腊值敞口,结合场内的期货和现货(ETF、股票等)来实现日内对冲,从而真正实现三维立体的交易模式。

想参与期权交易的朋友可以具体参考vn.py1.8版本的OptionMaster模块。

安装教程

请点击http://www.vnpie.com/forum.php?mod=viewthread&tid=5&highlight=quantlib,进入「维恩的派」论坛,查看详细安装教程。

其他资料

1. QuantLib homepage:

https://www.quantlib.org/reference/modules.html

2. vn.py Github:

https://github.com/vnpy/vnpy

基于python的开源交易平台开发框架。截止目前,vn.py项目在Github上的Star已经达到5563,量化交易类开源项目第1,量化类项目第3(1、2依旧分别是Zipline和TuShare)。

项目官网:http://www.vnpy.org

论坛地址:www.vnpie.com

知乎专栏:https://zhuanlan.zhihu.com/vn-py

Developed by Traders,

for Traders

原文发布于微信公众号 - 维恩的派VNPIE(vn-pie)

原文发表时间:2018-05-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信宝典

2018 Cell系列相变最强综述,未来已来,你在哪?

Trends in Cell Biology (Cell系列综述, 2018 IF: 18.564)于2018年6月1日在线发表了Steven Boeynaem...

17710
来自专栏北京马哥教育

抓取链家官网北京房产信息并用python进行数据挖掘

从2014年对楼市的普遍唱衰,到2015年的价格回暖,到底发生了怎样的改变?本文就尝试通过大数据来和丰富的图表,为大家展现数据背后的数据。 数据采集...

428130
来自专栏VRPinea

强行科普|今天你“吐”了吗?

27690
来自专栏机器人网

一文读懂:无人机无线电干扰原理

1、引言 近年来无人机(本文指民用多轴飞行器)正以空前的速度普及,由此引发的关于安全的忧虑日益增多。许多有关部门甚至个人都希望采取一些措施,阻止无人机飞临敏感区...

48240
来自专栏腾讯社交用户体验设计

举世舞双ISUX新年派对 - 腾讯ISUX

16740
来自专栏量子位

机器人实用Python代码合集,帮你搞定自主导航 |GitHub高热

20230
来自专栏java一日一条

硅谷科技巨头最刁钻面试题集锦

如果你擅长云文件存储方面的工作,你可能非常想进入谷歌、微软以及 Dropbox 等公司。但是他们都是硅谷中最受欢迎的科技公司,非常难以进入。美国主流网络媒体 B...

11910
来自专栏猫哥学前班

为什么房间的 Wi-Fi 信号这么差

最近把家里主卧整成了个小影院,由于之前房子装修时网线端口与电源插口布置太少,导致家庭网络架设变得麻烦起来,最后终于通过「无线中继」技术达到了全屋满格 Wi-Fi...

335130
来自专栏ATYUN订阅号

康奈尔大学研究团队利用爆米花驱动机器人制动器

爆米花的原料往往天然可食用,成本低廉,并具有在施加热量时以高的力量快速膨胀的能力。尽管这种转变是不可逆转的,但它具有应用于机器人的潜力。由于颗粒可以从常规形状变...

12630
来自专栏Python中文社区

二次元世界的Linux—东方Project之B站掠影

>>>> 1. 东方 Project 如果你曾看过一个名为「Bad Apple!!」的黑白影绘, 或者在各种音乐社区听歌时注意过「东方 Project」的字...

334100

扫码关注云+社区

领取腾讯云代金券