量化投資策略:常見的幾種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。
  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



發佈了99 篇原創文章 · 獲贊 141 · 訪問量 63萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章