backtrader量化平臺教程(一)框架簡介

爲什麼選擇backtrader

我們在投資的過程中,經常會有各種各樣的idea。這些idea實際如何?如何評估。
這時候我們需要使用歷史數據對我們的idea進行回測。

但是從零構築一個回測框架,工作量和對技能的要求比較高。我們也沒有必要爲了喫個饅頭而去種麥子。

backtrader是這樣一個基於python的回測框架。通過它我們可以快速的對策略進行回測驗證我們的Idea。

backtrader可以讓你把精力化在策略的構建上而不是框架的構建,本身還提供了很多工具,幫你評估策略和優化策略。

backtrader的社區也很活躍,可以很好的獲得幫助。

backtrader內置了三大頂級交易所的實時數據和交易下單API接口,可以進行實盤交易。國內的話,可能需要使用收費的商業接口進行交易。

安裝

python2馬上要停止維護了,建議使用python3。

pip install backtrader

基本概念

Line

Line在backtrader裏是一個很基本的概念。Line表示一連串的數據點。
比如我們獲取20010101到20100101的萬科A的每日開盤價,就構成了一個Line。

Index 0

在Line上的數據,0代表當前值,-1代表上一個時間點的值(可能是昨天,如果你是日線數據的話;也可能是5min前的數據,如果你是5min線的話)。

self.sma = SimpleMovingAverage(.....)
av = self.sma[0]

最簡單的例子

下邊是一個最簡單的例子,沒有執行任何策略。
Cerebro是backtrader的執行引擎,可以通過run接口將它允許起立。

from __future__ import (absolute_import, division, print_function,
                        unicode_literals)

import backtrader as bt

if __name__ == '__main__':
    cerebro = bt.Cerebro()

    print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())

    cerebro.run()

    print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())

執行後的結果如下(框架默認資金是10000.0)。

Starting Portfolio Value: 10000.00
Final Portfolio Value: 10000.00
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章