Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在Python中使用QuantLib

在Python中使用QuantLib

作者头像
用Python的交易员
发布于 2018-07-26 03:56:14
发布于 2018-07-26 03:56:14
2.1K0
举报
文章被收录于专栏:维恩的派VNPIE维恩的派VNPIE

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 维恩的派VNPIE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在Python中使用QuantLib
相比TA-Lib在技术分析领域的地位,QuantLib在金融工程领域的地位可以说有过之而无不及。
py3study
2020/01/13
2.4K0
spreadTrading模块事件触发机制
本文主要介绍了价差交易模块的事件触发机制。感谢‘次第花开’和‘用户名呀’在维恩的派论坛里的分享!
用Python的交易员
2018/07/26
2.5K0
spreadTrading模块事件触发机制
使用TA-Lib在vn.py上开发CTA交易策略
作为一套被业界广泛应用的开源技术分析库(包含技术指标计算和K线模式识别等),TA-Lib自2001年发布以来已经有了十多年的历史。TA-Lib中一共包含大约125个技术指标的计算函数,同时提供了包括C/C++、Java、Perl、Python等多种语言的API。
用Python的交易员
2018/07/26
1.9K0
使用TA-Lib在vn.py上开发CTA交易策略
优化的tick级别精准回测引擎,支持双合约回测
vn.py框架更加适合做CTA类的策略,而不是高频策略。moonnejs在「维恩的派」论坛里分享了自己如何对vn.py回测引擎进行改进,使其适合于高频交易。感谢moonnejs的分享!
用Python的交易员
2018/07/26
1.6K0
优化的tick级别精准回测引擎,支持双合约回测
如何利用vn.py动态选择主力合约?
在上一篇文章中介绍了一个‘如何利用vn.py记录指数行情?’的思路,本文将介绍‘如何用vn.py动态选择某一品种的主力合约’。感谢‘图扬量化’在「维恩的派」论坛内的分享!
用Python的交易员
2018/07/26
1.4K0
如何利用vn.py动态选择主力合约?
vn.py的底层实现机制——实盘部分
vn.py是一个基于事件驱动类型交易框架,整个系统中一共有9种事件类型,分别是:EVENT_TICK(行情事件)、EVENT_ORDER(委托单事件)、EVENT_TRADE(成交单事件)、EVENT_CONTRACT(合约事件)、EVENT_POSITION(持仓事件)、EVENT_TIMER(计时器事件)、EVENT_ACCOUNT(账户资金事件)、EVENT_LOG(日志事件)、EVENT_ERROR(错误事件)。接下来详细的介绍一下这几种事件的区别作用以及整个以事件驱动为基础的实盘运行机制。
用Python的交易员
2018/07/26
1.8K0
vn.py的底层实现机制——实盘部分
vn.py多版本切换
vn.py在大家使用和维护下不断地在更新,论坛里sargas分享了一个cmd脚本,可在不安装各个版本vn.py的前提下,切换使用任意版本。小编亲测可用,如有问题,欢迎在论坛反馈!
用Python的交易员
2018/07/26
6620
vn.py多版本切换
如何利用vn.py记录指数行情?
本文主要介绍了一个‘如何利用vn.py记录指数行情?’的思路。感谢‘图扬量化’在「维恩的派」论坛内的分享!(下为原贴)
用Python的交易员
2018/07/26
9380
如何利用vn.py记录指数行情?
广州线下活动内容分享
vn.py的创始人‘用python的交易员’在周六举办了广州线下活动,在本次活动中主要分享了vn.py框架部署方案和数字货币量化交易两部分的内容。
用Python的交易员
2018/07/26
3K0
广州线下活动内容分享
vn.py多账户交易系统配置思路
本文主要介绍了一个‘如何利用多个账号同时进行交易’的思路。感谢‘图扬量化’在「维恩的派」论坛内的分享!(下为原贴)
用Python的交易员
2018/07/26
1.8K0
vn.py多账户交易系统配置思路
Vn.py vs PyAlgoTrade
在Python量化领域,PyAlgoTrade和zipline是两大策略回测框架的先驱,其中PyAlgoTrade主要针对CTA策略(单一合约交易),而zipline主要针对统计套利策略(投资组合交易)。
用Python的交易员
2018/07/26
1.8K0
Vn.py vs PyAlgoTrade
适用于python3的CTP交易接口
目前vn.py官方适用的python版本是2.7,有关python3的版本正在开发中,但鉴于最近大家对python3需求的呼声较高,论坛有两个帖子提供了适用于python3版本的交易接口,感谢阿杜和何先生的分享!
用Python的交易员
2018/07/26
4.1K1
适用于python3的CTP交易接口
全球开源量化交易项目排名20180603
距离上次统计已经过去两个多月,新的一期排名中前十的成员并未发生变化,只是相对排名有所改变:
用Python的交易员
2018/07/26
1.5K0
全球开源量化交易项目排名20180603
vn.py的底层实现机制——回测及参数优化
前几天介绍了vn.py实盘部分的底层实现机制,这一篇将为大家介绍数据以及回测部分的底层实现机制。
用Python的交易员
2018/07/26
1.9K0
vn.py的底层实现机制——回测及参数优化
采集CTP数据到MySql的代码样例
vn.py目前所使用的数据库是MongoDB,鉴于一些用户更加习惯使用mySql,论坛内desont提供了一个vn.py与mySql相结合管理数据的示例,感谢desont的分享!
用Python的交易员
2018/07/26
1.1K0
采集CTP数据到MySql的代码样例
2018年vn.py项目计划(下)
2017年完成了大部分计划中的上层应用模块开发,剩余部分将在今年上半年加速推进,争取早日发布v2.0稳定版,为量化交易员提供一套完整成熟的交易系统解决方案。 Docker镜像 Docker技术日渐完善,多位vn.py社区用户也已经贡献了较为成熟的镜像代码(位于vnpy/docker目录下),实现的功能包括: 在Docker中运行基于vnpy.rpc的服务器,并在外部通过GUI客户端来实现监控操作(类似examples/ServerClient的架构) 在Docker中启动Ubuntu图
用Python的交易员
2018/03/29
1.4K0
2018年vn.py项目计划(下)
针对Quant的Python快速入门指南
最近有越来越多的朋友在知乎或者QQ上问我如何学习入门Python,就目前需求来看,我需要写这么一篇指南。
用Python的交易员
2018/07/26
1.6K0
针对Quant的Python快速入门指南
vn.py入门-低买高卖示例
本文用一个例子来介绍vnpy的用法。从项目创建开始,到一个简单策略的设计。 这个例子连接到CTP接口,每秒检查一下目标合约的价格,若低于指定价格则买入,若高于指定价格则卖出。
用Python的交易员
2018/07/26
2.9K0
vn.py入门-低买高卖示例
用于回测的Python交互K线工具
开发策略时,如何直观地检查自己的交易逻辑是否正确?代码所实现的和自己的策略逻辑是否一致?moonnejs在「维恩的派」论坛里分享了一个可以用于回测的交互K线工具。感谢moonnejs的分享!
用Python的交易员
2018/07/26
2.9K0
用于回测的Python交互K线工具
QuantLib教程(三)BS模型、二叉树模型与欧式期权定价
风险中性与无套利假设是期权定价公式的基础理论,或者说基石。我们来简单说说这两个是怎么回事吧。
钱塘小甲子
2019/01/28
4.2K0
相关推荐
在Python中使用QuantLib
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文