Closed Mjzs12138 closed 11 months ago
问题出在 holds 数据中没有继续保存 bid 这个字段,这是为了节省内容。将在 0.9.29 版本修复。临时修复方式是,找到源码 czsc.traders.dummy:one_symbol_dummy,将93行注释掉。
dfh['n1b'] = (dfh['price'].shift(-1) / dfh['price'] - 1) * 10000
# dfh.drop(columns=['bid'], inplace=True)
dfh.fillna(0, inplace=True)
使用示例脚本run_dummy_backtest,执行该函数时,显示策略保存失败。
dummy = czsc.DummyBacktest(strategy=CzscStrategyExample2, read_bars=get_raw_bars, signals_module_name='czsc.signals', sdt='20200101', edt='20230301', signals_path=os.path.join('results', 'dummy_backtest信号'), results_path=os.path.join('results', 'dummy_backtest结果'))
定义需要回测的品种,这里可以自定义
symbols = get_symbols('A股主要指数') dummy.one_symbol_dummy(symbols[0])
2023-09-10 19:53:26.297 | DEBUG | czsc.traders.dummy:one_symbol_dummy:98 - 399682.SZ 15分钟笔停顿 保存失败,原因:"['bid'] not found in axis" 2023-09-10 19:53:26.307 | DEBUG | czsc.traders.dummy:one_symbol_dummy:98 - 399682.SZ 15分钟笔停顿B 保存失败,原因:"['bid'] not found in axis" 2023-09-10 19:53:26.307 | INFO | czsc.traders.dummy:one_symbol_dummy:100 - 399682.SZ 回测完成,共 2 个持仓策略,耗时 2.48 秒