美文网首页
1.4 Backtrader 中的相关概念

1.4 Backtrader 中的相关概念

作者: wanggs66 | 来源:发表于2020-04-18 21:52 被阅读0次

    Data Feeds

    给回测提供所需的数据(策略+指标等)

    • Data Feeds缩写形式: self.data : self.datas[0] ; self.dataX : seld.datas[X]
    • 当Data Feeds 不写时,默认值为self.data(即self.data0、self.datas[0])
    • 一切皆可称为Data Feed: 通过对象操作,获取相关的数据,可用于整个回测过程

    Parameters

    • 可通过类属性的方式设定默认值(为tuple of tuples或者dict形式)
    • 支持关键字参数
    • 通过self.params(self.p)可以在类的实例中访问参数值

    Lines

    • 回测系统中的每一个对象几乎都能成为Lines 对象(将不同的值放到一块可以构成Line 序列,同时可以通过Lines 对象方位相关的值)
    • self.data 和Indicators 指标都有Lines 属性,可以通过self.lines.indname的方式访问相关的数据
    • lines 相关的缩略形式:xxx.lines : xxx.l; xxx.lines.name : xxx.lines_name; self.line : self.lines[0]; self.lineX : self.lines[X]; self.line_X : self.lines[X]; self.dataY : self.data.lines[Y]; self.dataX_Y : self.dataX.lines[X]: self.datas[X].lines[Y]
    • self.data.lines.close 和self.movav.lines.sma 也可以简写成self.data.close 和 self.movav.sma(但是这种方式不支持赋值和对齐)
    • lines 声明: 仅支持tuple格式(能保证数据插入的顺序)。注意:当tuple中仅有一个元素的时候,要把逗号写上。
    • lines len: len - 已经处理的bars数; buflen Data Feed 中缓存进来的数据数量

    index

    0 表示当前,-1, -2, -3表示之前

    Slicing

    • myslice = self.my_sma.get(ago=0, size=1)
    • myslice = self.my_sma.get(size=10)
    • myslice = self.my_sma.get(ago=-1, size=10)

    Lines: DELAYED indexing

    init中可通过[-x]的方式推迟相关计算

    Lines Coupling

    通过()可将两个不同的lines放到同一个timeframe下进行分析

    Operators, using natural constructs

    • Operators Create Objects: 可以通过简单的算术操作进行lines之间以及lines与数值之间的运算
    • Operators true to nature:
      由于Python语言中的一些保留字,BackTrader中创建自己的一些操作符和函数

    相关文章

      网友评论

          本文标题:1.4 Backtrader 中的相关概念

          本文链接:https://www.haomeiwen.com/subject/zvmavhtx.html