提问人:kbs 提问时间:11/13/2023 最后编辑:kbs 更新时间:11/16/2023 访问量:106
Backtesting.py 回测统计仅显示 nans 和 0
Backtesting.py backtest statistics only shows nans and 0
问:
我正在尝试使用 Backtesting.py 回测动量策略。我已经收集了数据并使用pandas_ta计算了指标值。我已经定义了空头和多头交易条件。现在,我只需要 Backtesting.py 运行回测,这样我就可以确定我的策略在历史数据上的表现。
我期待统计数据向我显示值而不是 0。bt.run()
nan
编辑:此笔记本的名称现在已 https://github.com/kbs-code/algo_trader/blob/master/backtests/debugging_example_backtestingdotpy.ipynb
谢谢
答:
0赞
Daan
11/15/2023
#1
在您的策略中,如果满足基于涡流的条件,您似乎会下达买入订单。但是,您永远不会平仓(使用 )。如果您不平仓,您的交易将永远不会结束,这不会为第二次交易腾出空间。self.position.close()
要解决这个问题,您需要实施退出策略或使用止盈(以及可选的止损)。
希望这会有所帮助。
评论
0赞
kbs
11/15/2023
你的前提不正确;在错误示例中从未下过买入订单,backtesting.py 不需要 .在我的示例中,我能够在没有的情况下进行 1 笔交易,因为当回测结束时,该头寸会自动平仓。self.close()
BuyAndHold
self.close()
1赞
kbs
11/16/2023
#2
回溯测试器必须使用“self.data.foo”而不是“self.foo”才能使用任何列中的值。请参阅更新的笔记本和故障排除证明。
评论
self.close