如何基于python开发量化交易回测框架
这期内容当中小编将会给大家带来有关如何基于python开发量化交易回测框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
目前创新互联建站已为上1000+的企业提供了网站建设、域名、虚拟空间、网站改版维护、企业网站设计、吴起网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
在进行量化策略开发时,必不可少的就是策略回测,虽然有很多量化回测平台如三大矿可以帮助我们进行策略的开发和回测。但是借助别人的平台也有一些弊端,如无法了解回测过程从而无法进行策略执行细节的研究,无法利用本地数据进行测试,或者策略的安全性等等。除了自己搭建回测框架之外,还可以选择利用一些现有的回测框架进行本地化开发。本文介绍了几种国内外比较有名的量化回测框架,并且它们都是基于python进行开发的。
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同样也是一个事件驱动的回测框架,虽然不如zipline的名气大,但是同样也具有完善的社区和详细的文档。据说pyalgotrade的运行速度和灵活度要比zipline强,但是缺点是不支持pandas。pyalgotrade的tutoral可以参考它的官方教程:http://gbeced.github.io/pyalgotrade/docs/v0.20/html/tutorial.html
backtrader是一个功能强大的量化策略回测平台,近些年来也一直在保持着github上代码的更新。关于backtrader的学习可以参考backtrader的官方文档:https://www.backtrader.com/docu/
近些年由于虚拟货币的交易需求,所以也有很多针对于虚拟货币交易的量化回测平台。Catalyst是一个底层基于zipline的算法交易框架,目前比较成熟,并且可以支持策略的回测与实盘( 目前支持四家交易所 Binance, Bitfinex, Bittrex, Poloniex) 。它的官方教程是:https://enigma.co/catalyst/
vn.py是国内由陈晓优大佬团队开发量化交易框架,它目前在github上star和fork的数量已经超过了zipline,目前是全球开源量化框架的首位,这确实也是一件值得骄傲的事情。另外,vn.py主要侧重于实盘交易,同样支持通过历史数据进行回测,包括数据的可视化、收益结果、参数调优等,除此之外,它还具备一些常用的CTA策略、SpreadTrading价差交易、行情录制等功能,并且它还具备完善的社区以及教程。新手在使用时,可以通过它的GUI环境VN Station进行使用,同时也可以基于它的策略模版进行自定义的策略开发。关于vnpy的学习可以参考它的官方教程:https://www.vnpy.com/docs/cn/index.html
最后,关于回测框架之间如果问到哪个最好哪个最坏其实没有什么意义,回测框架不需要都去学习和使用(当然,如果说自己需要开发回测框架的话,借鉴一下他们开发的一些细节和逻辑也未尝不可),如果仅是用于本地测试,选择一种最适合自己需求的框架即可。
上述就是小编为大家分享的如何基于python开发量化交易回测框架了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
分享标题:如何基于python开发量化交易回测框架
链接分享:http://azwzsj.com/article/psddeo.html