在Jupyter Notebook、Spyder及PyCharm中运行backtesting.py时Backtest.run()与Backtest.plot()无法正常执行的问题求助
大家好,我最近在用backtesting库做策略回测的时候碰到了棘手的问题——不管是在Jupyter Notebook、Spyder还是PyCharm里运行代码,调用Backtest.run()和Backtest.plot()都没法得到预期的结果,反而总是返回绑定方法的对象,完全起不了作用。
环境信息
- Python版本:
3.9.13 [MSC v.1916 64 bit (AMD64)]
具体现象
- 调用
Backtest.run()时,输出如下:
<bound method Backtest.run of <backtesting.backtesting.Backtest object at 0x0000022BAA3F79A0>>
- 调用
Backtest.plot()时,输出如下:
<bound method Backtest.plot of <backtesting.backtesting.Backtest object at 0x00000234CABC06A0>>
- 在Spyder和PyCharm中运行时,除了上述输出,还会收到一条警告:
UserWarning: Jupyter Notebook detected. Setting Bokeh output to notebook. This may not work in Jupyter clients without JavaScript support (e.g. PyCharm, Spyder IDE). Reset with
backtesting.set_bokeh_output(notebook=False).
warnings.warn('Jupyter Notebook detected. '
已尝试的解决方法
我按照警告提示执行了以下代码:
backtesting.set_bokeh_output(notebook=False)
但执行后,虽然会显示数据加载完成的提示:
[100%%*] 1 of 1 completed
但调用Backtest.run()依然返回绑定方法对象:
<bound method Backtest.run of <backtesting.backtesting.Backtest object at 0x00000208775CBF70>>
有没有朋友遇到过类似的问题?求帮忙指点一下该怎么解决,谢谢!
备注:内容来源于stack exchange,提问作者Cheng Jun Wei

