背景¶
重构代码之后,这个测试用例失败了,需要修复这个测试用例,分析定位 bug 在什么地方,然后修复
/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_19_index_future_momentum.py
修复方法建议¶
backtrader/run_test_with_log.py 这个运行 test_19 这个策略,然后对比 master 分支上的结果,看看 remove-metaprogramming 分支上的结果究竟差在哪里,然后去定位。
如果必要,可以修改 test_19 这个测试用例,增加注释,然后方便在两个分支上进行对比。
限制¶
不允许修改测试用例,尤其是测试用例的期望值。
修改过源代码重新测试的时候,最好 pip install -U . 重新安装一下。
初始报错信息:¶
FAILED tests/strategies/test_19_index_future_momentum.py::test_treasury_futures_macd_strategy - AssertionError: Expected buy_count=38, got 39
================================================== 国债期货 MACD 策略回测结果: bar_num: 1990 buy_count: 39 sell_count: 38 sharpe_ratio: -694.0708400638595 annual_return: -2.6152428615087203e-06 max_drawdown: 6.587194555726902e-05 total_trades: 91 final_value: 999979.3480700012¶
Traceback (most recent call last):
File “/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_19_index_future_momentum.py”, line 324, in