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

你可能感兴趣的:(量化投资)