Backtrader
Backtrader 教程:订单 - StopTrail
- 版本1.9.35.116将StopTrail和StopTrailLimit订单运行类型添加到回测库中。笔记这仅在回测中实现,还没有针对实时经纪人的实现笔记更新为1.9.36.116版本。盈透证券支持StopTrail 、 StopTrailLimit和OCO 。
Backtrader 教程:指针 - 使用
- 指针可以在平台的两个地方使用:内部策略其他指针内部指针在行动指针总是在策略中的__init__期间实例化next使用/检查指针值(或其派生值)有一个重要的公理需要考虑:在__init__期间声明的任何Indicator (或其派生值)都将在调用next之前预先计算。让我们来看看操作模式的差异。
Backtrader 教程:佣金计划 - 扩展
- 佣金和相关功能由单个类CommissionInfo管理,该类主要通过调用broker.setcommission进行实例化。该概念仅限于具有保证金和每份合约固定佣金的期货以及具有基于价格/规模百分比的佣金的股票。不是最灵活的计划,即使它已经达到了目的。
Backtrader多核优化
- 利用所有可用的内核是我为反向交易者考虑的事情,但从未完成。支持自然运算,删除数组符号,包含新指针和 bla, bla, bla。实际上,我不是优化的忠实拥护者,因此也不是为优化使用所有内核的忠实拥护者。恕我直言,一个好主意值得一百万次优化。笔记最初的多核支持已经存在,并且适用于众所周知的测试用例集。
Backtrader 教程:Cerebro - 节省内存
- 版本 1.3.1.92重新设计并完全实现了以前存在的内存节省方案,尽管没有太多吹捧和较少使用。 backtrader是(并将进一步)在具有大量 RAM 的机器上开发的,再加上通过绘图的视觉反馈是一个很好的拥有并且几乎是必须拥有的事实,mde 很容易做出设计决策:保留所有内容记忆。
Backtrader目标订单
- 在1.8.10.96版本之前,可以使用反向交易者通过策略方法进行智能质押:买入和卖出。这一切都是为了在负责赌注大小的等式中添加一个Sizer 。 Sizer不能做的是决定操作是买入还是卖出。这意味着需要一个新概念,在其中添加一个小的智能层来做出这样的决定。
Backtrader 教程:策略 - 参考
- 内置策略的参考MA_CrossOver别名: * SMA_CrossOver 这是一个多头策略,
Backtrader 教程:订单 - OCO
- 版本1.9.34.116将OCO (又名 One Cancel Others)添加到回测库中。笔记这仅在回测中实现,还没有针对实时经纪人的实现笔记更新为1.9.36.116版本。盈透证券支持StopTrail 、 StopTrailLimit和OCO 。
Backtrader体积填充
- 到目前为止, backtrader中的默认交易量填充策略相当简单明了:忽略音量笔记2016 年 7 月 15 日更正了实现中的错误并更新了示例以close头寸并在休息后重复。
BacktraderCSV 数据馈送开发
- backtrader已经提供了通用 CSV数据提要和一些特定的 CSV数据提要。
Backtrader分数大小
- 首先,让我们用两行总结反向交易方法的工作原理:它就像一个带有基本构建块 ( Cerebro ) 的建筑套件,可以插入许多不同的部件基本分布包含许多部分,如指针、分析器、观察器、 Sizer 、过滤器、数据馈送、经纪人、佣金/资产信息方案,...
Backtrader递归指针
- backtrader的最初目标之一是:能够快速制作指针原型以测试新想法它不一定是一个完美的指针,但能够快速轻松地开发它们确实会有所帮助。为了确认设计是正确的,反向交易者标准库中的第一个指针是指数移动平均线(又名 EMA),其定义为:递归。
Backtrader策略选择
- 最初的策略选择方法使用两个策略,手动注册和一个简单的[0, 1]列表来决定哪个是策略的目标。因为 Python 为元类提供了许多自省的可能性,所以实际上可以自动化该方法。
Backtrader优化改进
- backtrader 1.8.12.99版改进了多处理期间数据馈送和结果的管理方式。
Backtrader 教程:Cerebro - 例外
- 设计目标之一是尽早退出,让用户完全了解错误发生的情况。目的是强迫自己拥有会因异常而中断的代码并强制重新访问受影响的部分。但是时机已经成熟,一些例外可能会慢慢添加到平台中。
Backtrader多重交易
- 即使在相同的数据上运行,现在也可以为每笔交易添加唯一标识符。根据Tick Data and Resampling 版本backtrader的请求,支持“MultiTrades”,即:为订单分配tradeid的能力。此 id 被传递给Trades ,这使得有可能拥有不同类别的交易并同时打开它们。
Backtrader数据重采样
- 当数据仅在一个时间范围内可用并且必须在不同的时间范围内进行分析时,是时候进行一些重新采样了。 “重新采样”实际上应该称为“上采样”,因为从源时间范围到更大的时间范围(例如:几天到几周) “下采样”尚不可能。 backtrader通过将原始数据传递给智能命名为DataResampler的过滤器对象,内置了对重采样的支持。
Backtrader 教程:绘图 - 同一轴
- 上一篇future-spot 将原始数据和稍微(随机)修改的数据绘制在同一空间上,但不在同一轴上。从该帖子中恢复第一张图片。有人能看见:图表左右两侧有不同的刻度当查看在原始数据周围振荡+- 50点的摆动红线(随机数据)时,这一点最为明显。在图表上,视觉印像是这些随机数据大多总是高于原始数据。
Backtrader 教程:数据馈送 - 开发 - 常规
- 笔记示例goog.fd中使用的二进制文档属于 VisualChart,不能与backtrader一起分发。对直接使用二进制文档感兴趣的人可以免费下载VisualChart 。 CSV数据馈送开发已经展示了如何添加新的基于 CSV 的数据馈送。
Backtrader 教程:经纪人 - 滑点
- 回测不能保证真实的市场状况。无论市场仿真有多好,在真实的市场条件下都会发生滑点。这意味着:要求的价格可能不匹配。集成的回测代理支持滑点。