您的位置:  首页 » 量化交易与机器学习 » backtrader » backtrader回测框架的特点

特点

实时交易

盈透证券,OANDA V1,VisualChart,还与外界3rd方经纪人(羊驼,OANDA V2,ccxt,…)

[0]基于索引

  • [0]在当下解决前瞻偏差阵列用于
  • last-1, -2时刻访问在arrays(即:负值)时,保持在与Python“同步小号definition
  • 任何正数都意味着未来(在event-only 模式下测试你的代码并且会破坏)

事件和Vectorized

  • 交易逻辑和代理总是在逐个事件的基础上运行
  • 如果可能,指标的计算是矢量化的(源数据可以预加载)

一切都可以在event-only模式下运行,没有预装数据,就好像如果事情是活的。

数据源(Live Too)

  • 内置支持几个来源:CSV,数据库,消息人士透露,YahooFinance,盈透证券,OANDA V1,…
  • 任意数量的同时数据馈送(存储器的限制,很明显)可以同时运行

    Warning

    谨防幸存者的偏见!

  • 多重时间周期可以混合运行
  • 集成重采样和重放

Broker带电池included

  • Order类型:Market, Limit, Stop, StopLimit, StopTrail,
    StopTrailLimit, OCO, Bracket, MarketOnClose
  • 长短selling
  • 类似未来工具的持续现金调整
  • 用户定义的佣金计划和信贷利息
  • 资金模式
  • 批量填充策略
  • 自定义滑点

策略 – 交易逻辑

  • 操作前自动预热时间计算
  • 多策略(针对同一代理)可以并行运行
  • 多个订单生成方法(buy/sellorder_target_xxx,自动信号)
  • 事件通知:传入数据,数据馈送提供商,订单,交易,计时器。

指标

超过122个指标

  • 许多均线(SMA, EMA,…),经典:(MACD, Stochastic, RSI,…)和others
  • ta-lib integration

性能分析仪

内置多种性能分析器(TimeReturns, TradeAnalyzer,SharpeRatio, VWR, SQN,…)

绘图(额外)

自动的(定制的)绘制用单个命令。

注意:

对于这项工作,matplotlib必须安装

分级机

定义和插件智能自动铆合政策

观察员

这将被绘制并可以在系统中看到的一切(通常代理将用来绘制统计)

Miscelanea

  • Timers超过time
  • Trading Calendars
  • Timezone Support

Pure Python

重复动作最强大,且易于使用,编程的一个工作语言。不需要额外的库。

  • 使用OO很容易让被安装到每个other.
  • Operators拼图的碎片都超载,如果可能的话,提供自然语言语句如:
    av_diff = bt.ind.SMA(period=30) - bt.ind.SMA(period=15)
    

    其中av_diff将包含简单移动平均线的差的3015periods.

  • 对于语言结构,不能被覆盖,像and, or, if,相当于functions提供,以确保没有功能缺失,如
    av_and = bt.And(av_diff > 0, self.data.close < bt.ind.SMA(period=30))
    

1 thought on “backtrader回测框架的特点”

  1. 内容看起来很好,可惜代码框显示为网页源码,哪位知道如何解决吗?

    av_and = bt.And(av_diff > 0, self.data.close < bt.ind.SMA(period=30))

发表评论

电子邮件地址不会被公开。 必填项已用*标注