分类
联系方式
  1. 新浪微博
  2. E-mail

BackTrader Analyzers 分析器

介绍

Analyzers 分析器用于定量评估策略,BackTrader 提供了丰富的分析器库,从简单的胜率跟踪,到复杂的夏普比例都有提供,帮你更好地评估策略好坏。

SQN 系统质量数

由范塔普研究所(Van Tharp institute)的范塔普博士(Dr Van Tharp)定义的。它给你的策略打分。详情参见这里

Backtrader 文档提供了一个 SQN 评分规则:

  • 1.6 - 1.9 低于平均水平
  • 2.0 - 2.4 平均
  • 2.5 - 2.9 良好
  • 3.0 - 5.0 优秀
  • 5.1 - 6.9 超级棒
  • 7.0 - 圣杯?

代码示例

以双均线策略为例,为它添加 BackTrader 自带的 SQN 策略分析器,只需要一行代码:

#……

def printSQN(analyzer):
    sqn = round(analyzer.sqn, 2)
    print("SQN: {}".format(sqn))

cerebro.addanalyzer(bt.analyzers.SQN, _name="sqn")
strategies = cerebro.run()
cerebro.plot(style="bar", volume=False)

print("Final Portfolio Value: %.2f" % cerebro.broker.getvalue())
printSQN(strategies[0].analyzers.sqn.get_analysis())

运行效果:

em/backtrading/learn_sma_cross.py
Starting Portfolio Value: 10000.00
getStockPeriodFromDB 000001.SZ
2022-12-16, Ending Value 9996.86
Final Portfolio Value: 9996.86
SQN: -3.91

可以看到 SQN 得分为 -3.91 分,带入 SQN 评分规则,完全不入流。

网络资源

Using Analyzers in Backtrader - Backtest Rookies (backtest-rookies.com)