python量化分析库 Backtrader入门之一
Bactrader是python中用来做单机量化分析的一个库,使用该库不用借助量化平台就可以进行股市的量化分析和回测。只要自己已经有股票数据,就可以在自己的机器上进行量化分析,摆脱网络平台的束缚和依赖。
框架的使用
首先理解使用backtrader的过程中大致一下解释2个基本概念。
一、 Line
价格数据(Data Feeds)、技术指标(Indicators)和策略(Strategies)都是 Line。
“Line” 是由一系列的点组成的。典型的价格数据,通常由以下类别的数据组成:
- Open, High, Low, Close, Volume, OpenInterest
开盘价、最高价、最低价、收盘价、成交量、持仓量
价格数据中的所有”Open” (开盘价)按时间组成一条 Line。所以,一组含有以上6个类别的价格数据,共有6条 Line。
如果我们也算上“DateTime”(时间,可以看作是一组数据的主键),一共有7条 Line。
二、下标0
当访问一条 Line 的数据时,会默认指向下标为 0 的数据。
最后一个数据通过下标 -1 来访问。这也设计是为了符合 Python 的迭代器规则(一条 Line 可以被迭代,因此也是iterable)。
在-1之后是索引0,它用于访问当前时刻。
假设在创建策略的过程中,在初始化期间创建具有简单移动平均值的策略:
self.sma = SimpleMovingAverage(.....)
访问此移动平均线的当前值的最简单方法:
av = self.sma[0]
在回测过程中,无需知道已经处理了多少条/分钟/天/月,”0”一直指向当前值。
遵循典型的 Python 传统,用下标 -1 来访问最后一个值:
previous_value = self.sma[-1]
当然,当然-2、-3下标也是可以照常使用。