使用平台
在通过实例(从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万元的启动资金。
评论前必须登录!
注册