钱多多小栈
专注量化回测的站点

Backtrader-快速开始(基本设置)

使用平台

在通过实例(从0到最终搭建一个完整的实例)来学习使用backtrader之前,让我们先了解2个基本概念。

1.数据列表

数据源,指标和交易策略都有数据列表。列表中的单行数据是股票的每日数据记录,主要包括:
交易日,开盘价,最高价,最低价,收盘价,成交量,未平仓量(基本不用)
对应的字段分别为:
DateTime,Open,High,Low,Close,Volume,OpenInterest

2.索引0的使用方法

当访问数据列表中一行的数据的时候,索引0是访问当前的值。(主要是python的list类型迭代器是0开始)。要访问最后的行使用索引-1。在后面样例中可以看到访问最后一行情况,也可以看到0访问当前行的情况。

我们初始化一个简单移动均线(sma)的实例,然后操作访问下。

self.sma = SimpleMovingAverage(.....)

获取当前sma行

av = self.sma[0]

因为索引0就是访问当前行,所以不需要知道多少行,分钟,日,月就就可以直接访问。

通过索引-1访问最后一行

previous_value = self.sma[-1]

当然还可以访问-2,-3…这种形式,访问倒数第二行,第三行等等。

从0构建100的实例

基本设置

让我们开始吧

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())

程序执行后输出如下:

Starting Portfolio Value: 10000.00
Final Portfolio Value: 10000.00

在上面的实例中:

  • 导入了backtrader框架
  • 实例化cerebro引擎
  • 通过run方法运行cerebro引擎
  • 在屏幕上输出了运行结果

虽然代码不多,但是我们还是要说明,背后执行了哪些动作:

  • 在cerebro引擎初始化的时候,broker也随之被初始化
  • broker实例化默认会设置一些交易用的资金

用户如果对broker不做特别的定制,框架会自动默认生成一个broker并设置1万元的启动资金。

未经允许不得转载:钱多多量化小栈 » Backtrader-快速开始(基本设置)

评论 抢沙发

评论前必须登录!