【python量化】国内外基于python开发的量化回测框架

文章目录

        • 写在前面
        • Zipline
        • PyAlgoTrade
        • BackTrader
        • Catalyst
        • Vn.py
        • 总结

写在前面

在进行量化策略开发时,必不可少的就是策略回测,虽然有很多量化回测平台如三大矿可以帮助我们进行策略的开发和回测。但是借助别人的平台也有一些弊端,如无法了解回测过程从而无法进行策略执行细节的研究,无法利用本地数据进行测试,或者策略的安全性等等。除了自己搭建回测框架之外,还可以选择利用一些现有的回测框架进行本地化开发。本文介绍了几种国内外比较有名的量化回测框架,并且它们都是基于python进行开发的。

Zipline

【python量化】国内外基于python开发的量化回测框架_第1张图片
zipline是美国著名的量化策略平台quantopian开发和维护的量化交易库,并且quantopian量化平台的回测引擎也是基于zipline的,除此之外,像国内比较有名的三大矿聚宽(JointQuant)、米筐(RiceQuant)、优矿的回测引擎也是基于此。另外,由于quantopian平台多年的使用,zipline的专业性是可以保证的,并且zipline在github中的代码也在保持不断更新和改进。

zipline是一种事件驱动(event-driven)的回测框架,有完整的文档和社区,如果你是对国外美股交易感兴趣,那么zipline将比较合适;但是对于国内像A股的数据则无法支持,只能通过本地化的数据进行回测。

zipline的tutorial可以参考它的官方教程:https://www.zipline.io/beginner-tutorial或者Gitbook出品的中文教程:https://rainx.gitbooks.io/-zipline/content/

PyAlgoTrade

在这里插入图片描述pyalgotrade同样也是一个事件驱动的回测框架,虽然不如zipline的名气大,但是同样也具有完善的社区和详细的文档。据说pyalgotrade的运行速度和灵活度要比zipline强,但是缺点是不支持pandas。pyalgotrade的tutoral可以参考它的官方教程:http://gbeced.github.io/pyalgotrade/docs/v0.20/html/tutorial.html

BackTrader

【python量化】国内外基于python开发的量化回测框架_第2张图片backtrader是一个功能强大的量化策略回测平台,近些年来也一直在保持着github上代码的更新。关于backtrader的学习可以参考backtrader的官方文档:https://www.backtrader.com/docu/

Catalyst

【python量化】国内外基于python开发的量化回测框架_第3张图片
近些年由于虚拟货币的交易需求,所以也有很多针对于虚拟货币交易的量化回测平台。Catalyst是一个底层基于zipline的算法交易框架,目前比较成熟,并且可以支持策略的回测与实盘( 目前支持四家交易所 Binance, Bitfinex, Bittrex, Poloniex) 。它的官方教程是:https://enigma.co/catalyst/

Vn.py

【python量化】国内外基于python开发的量化回测框架_第4张图片
vn.py是国内由陈晓优大佬团队开发量化交易框架,它目前在github上star和fork的数量已经超过了zipline,目前是全球开源量化框架的首位,这确实也是一件值得骄傲的事情。另外,vn.py主要侧重于实盘交易,同样支持通过历史数据进行回测,包括数据的可视化、收益结果、参数调优等,除此之外,它还具备一些常用的CTA策略、SpreadTrading价差交易、行情录制等功能,并且它还具备完善的社区以及教程。新手在使用时,可以通过它的GUI环境VN Station进行使用,同时也可以基于它的策略模版进行自定义的策略开发。关于vnpy的学习可以参考它的官方教程:https://www.vnpy.com/docs/cn/index.html

总结

最后,关于回测框架之间如果问到哪个最好哪个最坏其实没有什么意义,回测框架不需要都去学习和使用(当然,如果说自己需要开发回测框架的话,借鉴一下他们开发的一些细节和逻辑也未尝不可),如果仅是用于本地测试,选择一种最适合自己需求的框架即可。

你可能感兴趣的:(quantitative,trading)