实盘交易之前,必须对量化交易策略进行回测。

在此,米扑财富总结了常用的Python回测框架库,评价的尺度包括用途范围(回测、虚盘交易、实盘交易),易用程度(结构良好、文档完整)和扩展性(速度快、用法简单、与其他框架库的兼容)

Zipline

事件驱动的回测框架,Quantopian 正在使用它。

Zipline 拥有大型社区,文档完整,对著名经纪公司Interactive Broker (IB)有大力支持;整合了Pandas,语法清晰,易于学习掌握,有大量例程examples。你若主要是为了交易美国证券,它是最好的选择。Quantopian 允许回测、分享并在其社区讨论交易策略。

不过,据我们的经验,Zipline 速度极慢,这是它最大的短板。Quantopian 有些对策,如在云端作并行运行。若有兴趣,你可看看这篇博文 。

Zipline 似乎很难使用本地数据文件和非美数据,它很难用于不同种类的金融资产。

 

PyAlgoTrade

事件驱动的回测框架,支持虚盘和实盘两种交易。文档完整,整合了TA-Lib(技术分析库)。在速度和灵活方面,它比Zipline 强。不过,它的一大硬伤是不支持 Pandas 的模块和对象。

 

pybacktest

它以处理向量数据的方式进行回测,非常简单轻便。2015年5月21日,这个项目有复活的迹象。

 

TradingWithPython

这位Jev Kuznetsov 扩展 pybacktest 形成自己的回测程序。这个库似乎在2015年2月更新了。不过,相关的文档和课程售价 $395

 

其他项目: ultra-finance

 

Python 回测框架库对比表

  Zipline PyAlgoTrade TradingWithPython pybacktest
类型 事件驱动 事件驱动 向量处理 向量处理
社区 较大 一般
云计算 Quantopian
支持 IB
数据源 Yahoo, Google, NinjaTrader Yahoo, Google, NinjaTrader, Xignite, Bitstamp 实时提供数据    
文档 完整 完整 $395 很少
事件可定制    
速度    
支持Pandas
交易日历
支持TA-Lib  
适用于

仅用于美国证券交易

实盘交易
虚盘交易
虚盘测试交易 虚盘测试交易

 

Zipline 与 PyAlgoTrade 的对比评分

  Zipline PyAlgoTrade 说明
虚盘交易

♦ ♦ ♦

Zipline 似乎不能用非美数据和本地数据工作,而 PyAlgoTrade 可以使用任何类型的数据
实盘交易

♦ ♦

♦ ♦

二者都不错,但 Quantpian 的云计算编程很好
灵活性

♦ ♦

♦ ♦ ♦

PyAlgoTrade 支持各种高级定单,并有更多的业务事件。 Zipline 提供了简单的滑点模式
速度

♦ ♦ ♦

Zipline 比 PyAlgoTrade 慢
易用性

♦ ♦ ♦

♦ ♦

PyAlgoTrade 不支持 pandas

 

 

参考推荐

常见的量化策略框架,学习量化炒股

量化策略:宽客Quant 知识储备

国内外量化策略的投资公司 (推荐)

京东金融量化平台 (雪球)

京东量化学院 (京东)