量化投资策略:常见的几种Python回测框架(库)

Posted lawme

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了量化投资策略:常见的几种Python回测框架(库)相关的知识,希望对你有一定的参考价值。


量化投资策略:常见的几种Python回测框架(库)

在实盘交易之前,必须对量化交易策略进行回测。在此,我们评价一下常用的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。
 ZiplinePyAlgoTradeTradingWithPythonpybacktest
类型事件驱动事件驱动向量处理向量处理
社区较大一般
云计算Quantopian
支持 IB
数据源Yahoo, Google, NinjaTraderYahoo, Google, NinjaTrader, Xignite, Bitstamp 实时提供数据  
文档完整完整$395很少
事件可定制  
速度  
支持Pandas
交易日历
支持TA-Lib 
适用于

仅用于美国证券交易

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

 

Zipline 与 PyAlgoTrade 的对比评分

 ZiplinePyAlgoTrade说明
虚盘交易

♦ ♦ ♦

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

♦ ♦

♦ ♦

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

♦ ♦

♦ ♦ ♦

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

♦ ♦ ♦

Zipline 比 PyAlgoTrade 慢
易用性

♦ ♦ ♦

♦ ♦

PyAlgoTrade 不支持 pandas



以上是关于量化投资策略:常见的几种Python回测框架(库)的主要内容,如果未能解决你的问题,请参考以下文章

如何看待量化交易的回测?

Python量化交易:投资组合

用Python编程借助现有量化平台编写股票交易策略和回测分析

用Python编程借助现有量化平台编写股票交易策略和回测分析

如何用Python实现股票量化交易?

day33 Python与金融量化分析