Backtrader 教程:策略 - 参考

  |  

内置策略的参考

MA_CrossOver

别名:

* SMA_CrossOver

这是一个多头策略,在移动平均线交叉上运行

笔记:

* Although the default

购买逻辑:

* No position is open on the data

* The `fast` moving averagecrosses over the `slow` strategy to the
  upside.

卖出逻辑:

* A position exists on the data

* The `fast` moving average crosses over the `slow` strategy to the
  downside

订单运行类型:

* Market

线路

* datetime

参数:

* fast (10)

* slow (30)

* _movav (<class ‘backtrader.indicators.sma.SMA’>)

信号策略

Strategy的这个子类旨在使用信号自动操作。

信号通常是指针和预期的输出值:

  • > 0long指示

  • < 0是一个short的指示

信号有 5 种类型,分为 2 组。

主组

  • LONGSHORT : 从这个信号中获取longshort指示

  • LONG

    • long迹像被认为是长期的
    • short迹像被用来关闭多头头寸。但:

    • 如果系统中有LONGEXIT (见下文)信号,它将用于退出长期

    • 如果SHORT信号可用且没有LONGEXIT可用,它将用于在打开short之前关闭long

  • SHORT

    • short迹像被视为做空
    • long迹像被用来关闭空头头寸。但:

    • 如果系统中有SHORTEXIT (见下文)信号,它将用于退出短路

    • 如果一个LONG信号可用并且没有SHORTEXIT可用,它将用于在打开一个long之前关闭一个short

退出组

这 2 个信号旨在超越其他信号,并为退出long / short头寸提供标准

  • LONGEXIT : 采取short指示退出long头寸

  • SHORTEXIT : long迹象表明退出short头寸

下单

订单运行类型为Market ,有效期为None (取消前有效)

参数:

  • signals (默认值: [] ):列表/元组的列表/元组,允许实例化信号并分配给正确的类型

    该参数预计通过cerebro .add_signal管理

  • _accumulate (default: False ): 允许进入市场(多头/空头),即使已经在市场上

  • _concurrent (default: False ): 即使订单已经等待运行,也允许发出订单

  • _data (默认值: None ):如果系统中存在多个作为订单目标的数据。这可以是

    • None :将使用系统中的第一个数据

    • 一个int :表示在那个位置插入的数据

    • An str :创建数据时赋予数据的名称(参数name )或使用 cerebro .adddata cerebro .adddata(..., name=)添加 cerebro

    • 一个data实例

线路

* datetime

参数:

* signals ([])

* _accumulate (False)

* _concurrent (False)

* _data (None)

推荐阅读

相关文章

Backtrader细分佣金计划

不久前,委员会计划的实施进行了重新设计。最重要的是:涉及的部分返工: 保留原始的佣金信息类和行为 打开大门,轻松创建用户定义的佣金 将格式 xx% 作为新佣金方案的默认值,而不是 0.xx(只是一个品味问题),保持行为可配置 扩展委员会概述了基本要素。

Backtrader教程:经纪人 - 开仓作弊

“发布”1.9.44.116 添加了对 Cheat-On-Open的支持。这似乎是那些全力以赴的人的需求功能,他们在酒吧 close 后进行了计算,但希望与 open 价格相匹配。 当开盘价跳空(上涨或下跌,取决于是否buysell有效)并且现金不足以进行全面运营时,这样的用例就会失败。这将强制代理拒绝该操作。

Backtrader 教程:绘图 - 同一轴

上一篇future-spot 将原始数据和稍微(随机)修改的数据绘制在同一空间上,但不在同一轴上。从该帖子中恢复第一张图片。有人能看见:图表左右两侧有不同的刻度当查看在原始数据周围振荡+- 50点的摆动红线(随机数据)时,这一点最为明显。在图表上,视觉印像是这些随机数据大多总是高于原始数据。

Backtrader标杆

backtrader 包括 2 种不同类型的对象,可帮助进行跟踪: Observers Analyzers 工单 #89 是关于添加资产基准测试的。明智的是,人们实际上可能有一个策略,即使积极,也低于简单地跟踪资产所能提供的策略。

Backtrader教程:观察者 - 基准测试

工单 #89 是关于针对资产添加基准测试的。明智的是,人们实际上可能有一个策略,即使积极,也低于简单地跟踪资产所能提供的策略。

Backtrader跨越数字

《backtrader》的发布1.9.27.105纠正了一个疏忽。这是一个疏忽,因为拼图的所有部分都已到位,但启动并不是在所有角落都进行的。 该机制使用一个名为的属性_mindatas,因此让我们将其称为: mindatas。 社区问了这个问题,答案并不是很到位。

Backtrader教程:绘图 - 日期范围

该版本1.9.31.x 增加了制作部分绘图的功能。 使用策略实例中保存的完整时间戳数组的索引 或者使用实际datetime.date 或 datetime.datetime 实例来限制必须绘制的内容。 一切都超过标准cerebro.plot。

Backtrader条形同步

文献和/或行业中缺乏标准公式不是问题,因为问题实际上可以总结为: 条形同步 工单 #23 提出了一些问题,即是否可以 backtrader 考虑计算 相对体积 指针。 请求者需要将给定时刻的 volume 与前一个交易日的相同时刻进行比较。

Backtrader现实咬合

上一篇文章设法拷贝了该BTFD 策略,发现真正的收益 16x 而不是 31x。 但正如拷贝期间所指出的: 不收取佣金 使用2x 杠杆不收取利息 这就提出了一个显而易见的问题: 当收取佣金和利息时,这16x中有多少会存在? 幸运的是,前面的示例足够灵活,可以对其进行试验。

Backtrader动量策略

在另一篇伟大的文章中,泰迪·科克(Teddy Koker)再次展示了算法交易策略的发展之路: 研究优先应用 pandas 回溯测试,然后使用 backtrader 荣誉!!! 该帖子可以在以下位置找到: 泰迪·科克(Teddy Koker)给我留言,问我是否可以评论 backtrader的用法。