Backtrader版本 1.2.1.88

  |  

将次要版本号从 1 更改为 2 需要一段时间,但旧的 DataResampler 和 DataReplayer 的弃用导致了这种情况。

readthedocs 的文档

文档已更新为仅引用现代方法 resamplingreplaying。它就像:

...
data = backtrader.feeds.BacktraderCSVData(dataname='mydata.csv')  # daily bars
cerebro.resampledata(data, timeframe=backtrader.TimeFrame.Weeks) # to weeks
...

要重播,只需更改为resampledata replaydata.还有其他方法可以做到这一点,但这是最直接的接口,可能是唯一一个被任何人使用的接口。

工单 #60 之后,很明显,允许向data feeds添加其他lines(实际上添加到任何基于lines的对象)的扩展机制不足以支持工单中建议的内容。

因此,实现了一个附加参数来 lines 对象,该参数允许完全重新定义 lines 层次结构(Escape from OHLC Land 将是一个合适的电影标题)

一个名为 data-bid-ask 的示例已添加到源中。从范例中可以看出:

class BidAskCSV(btfeeds.GenericCSVData):
    linesoverride = True  # discard usual OHLC structure
    # datetime must be present and last
    lines = ('bid', 'ask', 'datetime')
    # datetime (always 1st) and then the desired order for
    params = (
        ('dtformat', '%m/%d/%Y %H:%M:%S'),

        ('datetime', 0),  # field pos 0
        ('bid', 1),  # default field pos 1
        ('ask', 2),  # defult field pos 2
    )

通过linesoverride 指定常规 lines 继承机制将被绕过,并且对象中定义的 lines 将取代任何先前 lines

该版本可从pypi获得,并且可以与通常的:

pip install backtrader

或者,如果更新:

pip install backtrader --upgrade

推荐阅读

相关文章

Backtrader教程:指针 - 开发

如果必须开发任何东西(除了一个或多个获胜策略之外),那么这个东西就是一个自定义指针。 根据作者的说法,平台内的这种开发很容易。 需要满足以下条件: 从指针派生的类(直接或从现有的子类派生) 定义它将保持lines 指针必须至少具有 1 line。

Backtrader在同一轴上打印

上一篇文章期货和现货补偿,在同一空间上绘制原始数据和略微(随机)修改的数据,但不是在同一轴上。 从该帖子中恢复第 1张图片。 人们可以看到: 图表的左侧和右侧有不同的刻度 当查看在原始数据周围振荡+- 50点的旋转红line(随机数据)时,这一点最为明显。

Backtrader教程:数据馈送 - 重新采样

如果数据仅在单个时间范围内可用,并且必须在不同的时间范围内进行分析,则是时候进行一些重新采样了。 “重采样”实际上应该称为“上采样”,因为一个人从源时间帧到更大的时间帧(例如:几天到几周) backtrader 内置支持通过筛选器对象传递原始数据,从而进行重采样。

Backtrader教程:操作平台

Line 反复运算器 为了参与操作,plaftorm使用 line 反复运算器的概念。它们已经松散地模仿了Python的反复运算器,但实际上与它们无关。 策略和指针是 line 反复运算器。

Backtrader教程:日志记录 - 编写器

将以下内容写出到流中: csv 流,

Backtrader股票筛选

在寻找其他一些东西时,我在StackOverlow家族网站之一上遇到了一个问题:Quantitative Finance aka Quant StackExchange。问题: 它被标记为Python,因此值得一看的是 backtrader 是否能够胜任这项任务。 分析仪本身 该问题似乎适合用于简单的分析器。

Backtrader教程:筛检程序

此功能是 backtrader 的相对较新的补充,必须安装到已经存在的内部结构中。这使得它不像希望的那样灵活且100%功能齐全,但在许多情况下它仍然可以达到目的。 尽管该实现试图允许随插即用的筛检程序链接,但预先存在的内部结构使得很难确保始终可以实现。因此,某些筛选器可能是链接的,而其他一些筛选器可能不是。

Backtrader教程:经纪商

经纪商仿真器该模拟支持不同的订单类型,根据当前现金检查提交的订单现金需求,跟踪每次反复运算的cerebro 现金和价值,并在不同数据上保持当前位置。

Backtrader教程:观察者 - 统计

在内部backtrader 运行的策略主要处理 data feeds 和 指针。 Data feeds 被添加到Cerebro 实例中,并最终成为策略输入的一部分(解析并用作实例的属性),而指针则由策略本身声明和管理。

Backtrader终极振荡器

backtrader开发启动时的目标之一是使开发新的指针变得非常容易(至少对作者本人而言),以在数学和视觉上测试想法。 门票#102 是关于将 UltimateOscillator 添加到 backtrader 注意 它将在下一个版本中添加,同时可以使用下面的代码使用它。 票证中所示的参考: 以及: 无需在这里重复。