簡介
Python最近在金融界成為很流行的程式語言,因為python有許多特點像容易使用、使用起來對使用者很友善、還有很多對金融必備的函式庫(Pandas, NumPy, PyAlgoTrade)。Python對於程式交易是很好的一個選擇,當要交易的頻率為中低頻交易(譬如交易的頻率部會少於幾秒鐘)。它有很多的api和函式庫可以使它最佳化和便宜的解決方案。
基於上述這些原因python有很好互動的社群使用者,他們會分享程式碼和幫忙審核大家的程式碼。現在最流行的網頁的金融回測社群是Quantopian和QuantConnect。Quantopian是使用python而QuantConnect是使用C#。兩個平台都有提供高品質的歷史資料。Quantopian和QuantConnect現在都有提供即時交易的功能。
Zipline是一個event-driven(事件驅動)的系統,可以用在回測和即時交易。
在這篇文章我們將可以學到如何安裝Zipline和如何實現Moving Average Crossover strategy(平均線交叉策略)並且計算獲利/損失比例,策略總和值。
這篇文章分成下面這些部分:
- 使用Zipline的好處
- 如何安裝zipline
- zipline的結構(如何改寫zipline的策略)
- 如何撰寫Moving Average Crossover strategy(平均線交叉策略)
Zipline的好處
- 容易使用
- 使用者很容易地可以使用很多統計的函式像移動平均(moving average)、線性回歸(linear regression)
- 輸入歷史資料和輸出性能統計資料都基於Pandas DataFrames,這樣可以和現存的PyData生態環境整合的非常好。
- 內建統計和機器學習的函式庫像matplotlib, scipy, statsmodels, and sklearn,這樣可以很快的可視化交易策略的績效。
安裝
使用pip
假設你有所以依賴的python函式庫,你可以透過下面指令來安裝zipline:
# code
pip install Zipline
使用conda來安裝
另一個安裝zipline的方法就是使用conda套件管理來安裝,你可以透過pip install conda來安裝conda套件。當設定好的conda後,你就可以從Quantopian安裝zipline。
#code
conda install -c Quantopian Zipline