背景

现在新增的策略还有 8 个策略,尝试修复这些错误中的: backtrader/tests/strategies/test_06_macd_ema_fase_strategy.py

================================================== MACD EMA 策略回测结果: bar_num: 28087 buy_count: 0 sell_count: 0 sharpe_ratio: None annual_return: 0.0 max_drawdown: 0.0 total_trades: 0 final_value: 50000.0

Traceback (most recent call last): File “/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_06_macd_ema_fase_strategy.py”, line 239, in test_macd_ema_strategy() File “/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_06_macd_ema_fase_strategy.py”, line 223, in test_macd_ema_strategy assert strat.bar_num == 28069, f”Expected bar_num=28069, got {strat.bar_num}” ^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Expected bar_num=28069, got 28087

backtrader/tests/strategies/test_12_abberation_strategy.py

================================================== Abberation 策略回测结果: bar_num: 169683 buy_count: 0 sell_count: 0 sharpe_ratio: None annual_return: 0.0 max_drawdown: 0.0 total_trades: 0 final_value: 1000000.0

Traceback (most recent call last): File “/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_12_abberation_strategy.py”, line 246, in test_abberation_strategy() File “/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_12_abberation_strategy.py”, line 230, in test_abberation_strategy assert strat.bar_num == 170081, f”Expected bar_num=170081, got {strat.bar_num}” ^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Expected bar_num=170081, got 169683

backtrader/tests/strategies/test_13_fei_strategy.py

================================================== Fei 策略回测结果: bar_num: 169683 buy_count: 0 sell_count: 0 sharpe_ratio: None annual_return: 0.0 max_drawdown: 0.0 total_trades: 0 final_value: 1000000.0

Traceback (most recent call last): File “/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_13_fei_strategy.py”, line 275, in test_fei_strategy() File “/Users/yunjinqi/Documents/量化交易框架/backtrader/tests/strategies/test_13_fei_strategy.py”, line 259, in test_fei_strategy assert strat.bar_num == 170081, f”Expected bar_num=170081, got {strat.bar_num}” ^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Expected bar_num=170081, got 169683

这三个 bar_num 不一样的错误

限制

  1. 不允许修改测试用例

  2. 修改源代码之后,在开始测试的时候,需要 pip install -U . 安装新的代码

  3. 修复不能性能的大幅度下滑。

所有测试结果,一共 8 个测试用例失败。

========================= short test summary info ========================== FAILED tests/strategies/test_06_macd_ema_fase_strategy.py::test_macd_ema_strategy - AssertionError: Expected bar_num=28069, got 28087 FAILED tests/strategies/test_19_index_future_momentum.py::test_treasury_futures_macd_strategy - AssertionError: Expected buy_count=38, got 0 FAILED tests/strategies/test_12_abberation_strategy.py::test_abberation_strategy - AssertionError: Expected bar_num=170081, got 169683 FAILED tests/strategies/test_08_kelter_strategy.py::test_keltner_strategy - AssertionError: Expected buy_count=15, got 0 FAILED tests/strategies/test_07_macd_ema_true_strategy.py::test_macd_ema_true_strategy - AssertionError: Expected buy_count=64, got 0 FAILED tests/strategies/test_13_fei_strategy.py::test_fei_strategy - AssertionError: Expected bar_num=170081, got 169683 FAILED tests/strategies/test_15_fenshi_ma_strategy.py::test_timeline_ma_strategy - AssertionError: Expected buy_count=1453, got 45935 FAILED tests/strategies/test_16_cb_strategy.py::test_cb_intraday_strategy - AssertionError: Expected buy_count=300, got 0

Results (159.67s (0:02:39)): 353 passed 8 failed

     - tests/strategies/test_06_macd_ema_fase_strategy.py:163 test_macd_ema_strategy
     - tests/strategies/test_19_index_future_momentum.py:236 test_treasury_futures_macd_strategy
     - tests/strategies/test_12_abberation_strategy.py:170 test_abberation_strategy
     - tests/strategies/test_08_kelter_strategy.py:223 test_keltner_strategy
     - tests/strategies/test_07_macd_ema_true_strategy.py:227 test_macd_ema_true_strategy
     - tests/strategies/test_13_fei_strategy.py:199 test_fei_strategy
     - tests/strategies/test_15_fenshi_ma_strategy.py:237 test_timeline_ma_strategy
     - tests/strategies/test_16_cb_strategy.py:222 test_cb_intraday_strategy