问答交流

模拟运行失败

由bqzte5v2创建,最终由small_q 被浏览 50 用户

https://bigquant.com/codeshare/ab8fdfa0-cd0e-47b7-a96d-a0391c480bb7

这是我一个简单的策略,可以正常回测,但是提交模拟交易出错,请问如何解决?

2024-01-15 00:44:40 任务运行开始调度 state=trigger event= ea0b9d62-d73c-405f-aabe-a5812a248e0d ..

2024-01-15 00:44:46 任务运行状态更新 state=scheduled event=20240112 ea0b9d62-d73c-405f-aabe-a5812a248e0d

2024-01-15 00:44:49 任务运行状态更新 state=running event=20240112 ea0b9d62-d73c-405f-aabe-a5812a248e0d

2024-01-15 08:44:49 [info ] run task_id='ea0b9d62-d73c-405f-aabe-a5812a248e0d' ..

2024-01-15 08:44:49 [info ] fetch task ea0b9d62-d73c-405f-aabe-a5812a248e0d ..

2024-01-15 08:44:49 [info ] start ea0b9d62-d73c-405f-aabe-a5812a248e0d.ipynb ..

[2024-01-15 08:44:57.702682] INFO: moduleinvoker:3148543991.py:95:<module> input_features_dai.v6 开始运行..

[2024-01-15 08:44:57.816189] INFO: moduleinvoker:3148543991.py:95:<module> 命中缓存

[2024-01-15 08:44:57.819319] INFO: moduleinvoker:3148543991.py:95:<module> input_features_dai.v6 运行完成[0.116682s].

2024-01-15 08:44:57 [info ] cache disabled for paper/live trading

[2024-01-15 08:44:57.865311] INFO: moduleinvoker:3148543991.py:138:<module> extract_data_dai.v7 开始运行..

2024-01-15 08:44:57 [info ] start_date='2024-01-12', end_date='2024-01-12', query_start_date='2023-10-14' ..

2024-01-15 08:45:00 [info ] data extracted: (0, 5)

[2024-01-15 08:45:00.180838] INFO: moduleinvoker:3148543991.py:138:<module> extract_data_dai.v7 运行完成[2.315489s].

[2024-01-15 08:45:00.206120] INFO: moduleinvoker:3148543991.py:149:<module> bigtrader.v9 开始运行..

[2024-01-15 08:45:00.245065] INFO: hfpapertrading:init.py:90:init got metadata extra from input datasource

[2024-01-15 08:45:00.247609] INFO: hfpapertrading:init.py:95:init read data ..

[2024-01-15 08:45:00.268906] ERROR: moduleinvoker:3148543991.py:149:<module> module name: bigtrader, module version: v9, trackeback: ValueError: NaTType does not support strftime

2024-01-15 08:45:02 [error ] run task failed:

---------------------------------------------------------------------------

Exception encountered at "In [1]":

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

Cell In[1], line 149

138 m2 = M.extract_data_dai.v7(

139     sql=m1.data,

140     start_date='2023-02-13',

(...)

145     debug=False

146 )

148 # @module(position="817,497", comment='', comment_collapsed=True)

--> 149 m3 = M.bigtrader.v9(

150     data=m2.data,

151     start_date='',

152     end_date='',

153     initialize=m3_initialize_bigquant_run,

154     before_trading_start=m3_before_trading_start_bigquant_run,

155     handle_tick=m3_handle_tick_bigquant_run,

156     handle_data=m3_handle_data_bigquant_run,

157     handle_trade=m3_handle_trade_bigquant_run,

158     handle_order=m3_handle_order_bigquant_run,

159     after_trading=m3_after_trading_bigquant_run,

160     capital_base=1000000,

161     frequency='daily',

162     product_type='股票',

163     before_start_days=0,

164     volume_limit=1,

165     order_price_field_buy='open',

166     order_price_field_sell='open',

167     benchmark='000300.SH',

168     plot_charts=True,

169     disable_cache=False,

170     debug=False,

171     backtest_only=False

172 )

173 # </aistudiograph>

File module2/common/modulemanagerv2.py:88, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.call()

File module2/common/moduleinvoker.py:370, in biglearning.module2.common.moduleinvoker.module_invoke()

File module2/common/moduleinvoker.py:292, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:253, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:210, in biglearning.module2.common.moduleinvoker._module_run()

File /var/app/data/custom_module/publicmodules/bigtrader/v9/init.py:321, in run(start_date, end_date, data, initialize, before_trading_start, handle_tick, handle_data, handle_trade, handle_order, after_trading, options_data, history_ds, benchmark_ds, capital_base, frequency, product_type, before_start_days, volume_limit, order_price_field_buy, order_price_field_sell, benchmark, plot_charts, disable_cache, debug, backtest_only, m_meta_kwargs)

317         # result = do_live_run(env)

319     from .core.pypapertrading import BigQuantModule

--> 321 outputs = BigQuantModule(

322         run_date=env.trading_date,

323         \*\*trading_params,

324         # \*\*m_meta_kwargs,

325     ).run()

326 else:

327     raise Exception("invalid trading mode")

File /var/app/data/custom_module/publicmodules/bigtrader/v9/core/pypapertrading/init.py:109, in BigQuantModule.init(self, run_date, initialize, handle_data, handle_tick, handle_trade, handle_order, before_trading_start, after_trading, data, order_price_field_buy, order_price_field_sell, before_start_days, replay_bdb, frequency, adjust_type, product_type, volume_limit, capital_base, options_data, email_to, wechat_to, daily_data_ds, minute_data_ds, tick_data_ds, benchmark_data_ds, basic_data_ds, dominant_data_ds, debug, benchmark)

103     instruments = json.loads(data)

104 elif isinstance(data, pd.DataFrame):

105     instruments = {

106         # "market": "CN_STOCK_A",

107         "instruments": list(set(data\["instrument"\])),

108         # TODO: to seconds?

--> 109 "start_date": data["date"].min().strftime("%Y-%m-%d"),

110         "end_date": data\["date"\].max().strftime("%Y-%m-%d"),

111     }

112 else:

113     raise Exception(f"not supported instruments type: {type(data)}")

File pandas/_libs/tslibs/nattype.pyx:72, in pandas._libs.tslibs.nattype._make_error_func.f()

ValueError: NaTType does not support strftime

2024-01-15 00:45:02 任务运行状态更新 state=failed event=20240112 ea0b9d62-d73c-405f-aabe-a5812a248e0d

Traceback (most recent call last):

File "/var/app/data/custom_module/aiflow_task_run.py", line 258, in <module>

run(run_id=sys.argv\[1\], task_id=sys.argv\[2\], event_name=sys.argv\[3\], dry_run=sys.argv\[4\])

File "/var/app/data/custom_module/aiflow_task_run.py", line 253, in run

raise ex from ex

File "/var/app/data/custom_module/aiflow_task_run.py", line 243, in run

do_run(task_id, event_name)

File "/var/app/data/custom_module/aiflow_task_run.py", line 211, in do_run

pm.execute_notebook(

File "/usr/local/python3/lib/python3.8/site-packages/papermill/execute.py", line 128, in execute_notebook

raise_for_execution_errors(nb, output_path)

File "/usr/local/python3/lib/python3.8/site-packages/papermill/execute.py", line 232, in raise_for_execution_errors

raise error

papermill.exceptions.PapermillExecutionError:

---------------------------------------------------------------------------

Exception encountered at "In [1]":

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

Cell In[1], line 149

138 m2 = M.extract_data_dai.v7(

139     sql=m1.data,

140     start_date='2023-02-13',

(...)

145     debug=False

146 )

148 # @module(position="817,497", comment='', comment_collapsed=True)

--> 149 m3 = M.bigtrader.v9(

150     data=m2.data,

151     start_date='',

152     end_date='',

153     initialize=m3_initialize_bigquant_run,

154     before_trading_start=m3_before_trading_start_bigquant_run,

155     handle_tick=m3_handle_tick_bigquant_run,

156     handle_data=m3_handle_data_bigquant_run,

157     handle_trade=m3_handle_trade_bigquant_run,

158     handle_order=m3_handle_order_bigquant_run,

159     after_trading=m3_after_trading_bigquant_run,

160     capital_base=1000000,

161     frequency='daily',

162     product_type='股票',

163     before_start_days=0,

164     volume_limit=1,

165     order_price_field_buy='open',

166     order_price_field_sell='open',

167     benchmark='000300.SH',

168     plot_charts=True,

169     disable_cache=False,

170     debug=False,

171     backtest_only=False

172 )

173 # </aistudiograph>

File module2/common/modulemanagerv2.py:88, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.call()

File module2/common/moduleinvoker.py:370, in biglearning.module2.common.moduleinvoker.module_invoke()

File module2/common/moduleinvoker.py:292, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:253, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:210, in biglearning.module2.common.moduleinvoker._module_run()

File /var/app/data/custom_module/publicmodules/bigtrader/v9/init.py:321, in run(start_date, end_date, data, initialize, before_trading_start, handle_tick, handle_data, handle_trade, handle_order, after_trading, options_data, history_ds, benchmark_ds, capital_base, frequency, product_type, before_start_days, volume_limit, order_price_field_buy, order_price_field_sell, benchmark, plot_charts, disable_cache, debug, backtest_only, m_meta_kwargs)

317         # result = do_live_run(env)

319     from .core.pypapertrading import BigQuantModule

--> 321 outputs = BigQuantModule(

322         run_date=env.trading_date,

323         \*\*trading_params,

324         # \*\*m_meta_kwargs,

325     ).run()

326 else:

327     raise Exception("invalid trading mode")

File /var/app/data/custom_module/publicmodules/bigtrader/v9/core/pypapertrading/init.py:109, in BigQuantModule.init(self, run_date, initialize, handle_data, handle_tick, handle_trade, handle_order, before_trading_start, after_trading, data, order_price_field_buy, order_price_field_sell, before_start_days, replay_bdb, frequency, adjust_type, product_type, volume_limit, capital_base, options_data, email_to, wechat_to, daily_data_ds, minute_data_ds, tick_data_ds, benchmark_data_ds, basic_data_ds, dominant_data_ds, debug, benchmark)

103     instruments = json.loads(data)

104 elif isinstance(data, pd.DataFrame):

105     instruments = {

106         # "market": "CN_STOCK_A",

107         "instruments": list(set(data\["instrument"\])),

108         # TODO: to seconds?

--> 109 "start_date": data["date"].min().strftime("%Y-%m-%d"),

110         "end_date": data\["date"\].max().strftime("%Y-%m-%d"),

111     }

112 else:

113     raise Exception(f"not supported instruments type: {type(data)}")

File pandas/_libs/tslibs/nattype.pyx:72, in pandas._libs.tslibs.nattype._make_error_func.f()

ValueError: NaTType does not support strftime

2024-01-15 00:45:08 任务运行状态更新 state=running event=20240112 ea0b9d62-d73c-405f-aabe-a5812a248e0d

2024-01-15 08:45:09 [info ] run task_id='ea0b9d62-d73c-405f-aabe-a5812a248e0d' ..

2024-01-15 08:45:09 [info ] fetch task ea0b9d62-d73c-405f-aabe-a5812a248e0d ..

2024-01-15 08:45:09 [info ] start ea0b9d62-d73c-405f-aabe-a5812a248e0d.ipynb ..

[2024-01-15 08:45:17.662570] INFO: moduleinvoker:3148543991.py:95:<module> input_features_dai.v6 开始运行..

[2024-01-15 08:45:17.767237] INFO: moduleinvoker:3148543991.py:95:<module> 命中缓存

[2024-01-15 08:45:17.769816] INFO: moduleinvoker:3148543991.py:95:<module> input_features_dai.v6 运行完成[0.107278s].

2024-01-15 08:45:17 [info ] cache disabled for paper/live trading

[2024-01-15 08:45:17.814191] INFO: moduleinvoker:3148543991.py:138:<module> extract_data_dai.v7 开始运行..

2024-01-15 08:45:17 [info ] start_date='2024-01-12', end_date='2024-01-12', query_start_date='2023-10-14' ..

2024-01-15 08:45:19 [info ] data extracted: (0, 5)

[2024-01-15 08:45:19.727538] INFO: moduleinvoker:3148543991.py:138:<module> extract_data_dai.v7 运行完成[1.913297s].

[2024-01-15 08:45:19.754194] INFO: moduleinvoker:3148543991.py:149:<module> bigtrader.v9 开始运行..

[2024-01-15 08:45:19.790873] INFO: hfpapertrading:init.py:90:init got metadata extra from input datasource

[2024-01-15 08:45:19.793463] INFO: hfpapertrading:init.py:95:init read data ..

[2024-01-15 08:45:19.814292] ERROR: moduleinvoker:3148543991.py:149:<module> module name: bigtrader, module version: v9, trackeback: ValueError: NaTType does not support strftime

2024-01-15 08:45:21 [error ] run task failed:

---------------------------------------------------------------------------

Exception encountered at "In [1]":

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

Cell In[1], line 149

138 m2 = M.extract_data_dai.v7(

139     sql=m1.data,

140     start_date='2023-02-13',

(...)

145     debug=False

146 )

148 # @module(position="817,497", comment='', comment_collapsed=True)

--> 149 m3 = M.bigtrader.v9(

150     data=m2.data,

151     start_date='',

152     end_date='',

153     initialize=m3_initialize_bigquant_run,

154     before_trading_start=m3_before_trading_start_bigquant_run,

155     handle_tick=m3_handle_tick_bigquant_run,

156     handle_data=m3_handle_data_bigquant_run,

157     handle_trade=m3_handle_trade_bigquant_run,

158     handle_order=m3_handle_order_bigquant_run,

159     after_trading=m3_after_trading_bigquant_run,

160     capital_base=1000000,

161     frequency='daily',

162     product_type='股票',

163     before_start_days=0,

164     volume_limit=1,

165     order_price_field_buy='open',

166     order_price_field_sell='open',

167     benchmark='000300.SH',

168     plot_charts=True,

169     disable_cache=False,

170     debug=False,

171     backtest_only=False

172 )

173 # </aistudiograph>

File module2/common/modulemanagerv2.py:88, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.call()

File module2/common/moduleinvoker.py:370, in biglearning.module2.common.moduleinvoker.module_invoke()

File module2/common/moduleinvoker.py:292, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:253, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:210, in biglearning.module2.common.moduleinvoker._module_run()

File /var/app/data/custom_module/publicmodules/bigtrader/v9/init.py:321, in run(start_date, end_date, data, initialize, before_trading_start, handle_tick, handle_data, handle_trade, handle_order, after_trading, options_data, history_ds, benchmark_ds, capital_base, frequency, product_type, before_start_days, volume_limit, order_price_field_buy, order_price_field_sell, benchmark, plot_charts, disable_cache, debug, backtest_only, m_meta_kwargs)

317         # result = do_live_run(env)

319     from .core.pypapertrading import BigQuantModule

--> 321 outputs = BigQuantModule(

322         run_date=env.trading_date,

323         \*\*trading_params,

324         # \*\*m_meta_kwargs,

325     ).run()

326 else:

327     raise Exception("invalid trading mode")

File /var/app/data/custom_module/publicmodules/bigtrader/v9/core/pypapertrading/init.py:109, in BigQuantModule.init(self, run_date, initialize, handle_data, handle_tick, handle_trade, handle_order, before_trading_start, after_trading, data, order_price_field_buy, order_price_field_sell, before_start_days, replay_bdb, frequency, adjust_type, product_type, volume_limit, capital_base, options_data, email_to, wechat_to, daily_data_ds, minute_data_ds, tick_data_ds, benchmark_data_ds, basic_data_ds, dominant_data_ds, debug, benchmark)

103     instruments = json.loads(data)

104 elif isinstance(data, pd.DataFrame):

105     instruments = {

106         # "market": "CN_STOCK_A",

107         "instruments": list(set(data\["instrument"\])),

108         # TODO: to seconds?

--> 109 "start_date": data["date"].min().strftime("%Y-%m-%d"),

110         "end_date": data\["date"\].max().strftime("%Y-%m-%d"),

111     }

112 else:

113     raise Exception(f"not supported instruments type: {type(data)}")

File pandas/_libs/tslibs/nattype.pyx:72, in pandas._libs.tslibs.nattype._make_error_func.f()

ValueError: NaTType does not support strftime

2024-01-15 00:45:21 任务运行状态更新 state=failed event=20240112 ea0b9d62-d73c-405f-aabe-a5812a248e0d

Traceback (most recent call last):

File "/var/app/data/custom_module/aiflow_task_run.py", line 258, in <module>

run(run_id=sys.argv\[1\], task_id=sys.argv\[2\], event_name=sys.argv\[3\], dry_run=sys.argv\[4\])

File "/var/app/data/custom_module/aiflow_task_run.py", line 253, in run

raise ex from ex

File "/var/app/data/custom_module/aiflow_task_run.py", line 243, in run

do_run(task_id, event_name)

File "/var/app/data/custom_module/aiflow_task_run.py", line 211, in do_run

pm.execute_notebook(

File "/usr/local/python3/lib/python3.8/site-packages/papermill/execute.py", line 128, in execute_notebook

raise_for_execution_errors(nb, output_path)

File "/usr/local/python3/lib/python3.8/site-packages/papermill/execute.py", line 232, in raise_for_execution_errors

raise error

papermill.exceptions.PapermillExecutionError:

---------------------------------------------------------------------------

Exception encountered at "In [1]":

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

Cell In[1], line 149

138 m2 = M.extract_data_dai.v7(

139     sql=m1.data,

140     start_date='2023-02-13',

(...)

145     debug=False

146 )

148 # @module(position="817,497", comment='', comment_collapsed=True)

--> 149 m3 = M.bigtrader.v9(

150     data=m2.data,

151     start_date='',

152     end_date='',

153     initialize=m3_initialize_bigquant_run,

154     before_trading_start=m3_before_trading_start_bigquant_run,

155     handle_tick=m3_handle_tick_bigquant_run,

156     handle_data=m3_handle_data_bigquant_run,

157     handle_trade=m3_handle_trade_bigquant_run,

158     handle_order=m3_handle_order_bigquant_run,

159     after_trading=m3_after_trading_bigquant_run,

160     capital_base=1000000,

161     frequency='daily',

162     product_type='股票',

163     before_start_days=0,

164     volume_limit=1,

165     order_price_field_buy='open',

166     order_price_field_sell='open',

167     benchmark='000300.SH',

168     plot_charts=True,

169     disable_cache=False,

170     debug=False,

171     backtest_only=False

172 )

173 # </aistudiograph>

File module2/common/modulemanagerv2.py:88, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.call()

File module2/common/moduleinvoker.py:370, in biglearning.module2.common.moduleinvoker.module_invoke()

File module2/common/moduleinvoker.py:292, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:253, in biglearning.module2.common.moduleinvoker._invoke_with_cache()

File module2/common/moduleinvoker.py:210, in biglearning.module2.common.moduleinvoker._module_run()

File /var/app/data/custom_module/publicmodules/bigtrader/v9/init.py:321, in run(start_date, end_date, data, initialize, before_trading_start, handle_tick, handle_data, handle_trade, handle_order, after_trading, options_data, history_ds, benchmark_ds, capital_base, frequency, product_type, before_start_days, volume_limit, order_price_field_buy, order_price_field_sell, benchmark, plot_charts, disable_cache, debug, backtest_only, m_meta_kwargs)

317         # result = do_live_run(env)

319     from .core.pypapertrading import BigQuantModule

--> 321 outputs = BigQuantModule(

322         run_date=env.trading_date,

323         \*\*trading_params,

324         # \*\*m_meta_kwargs,

325     ).run()

326 else:

327     raise Exception("invalid trading mode")

File /var/app/data/custom_module/publicmodules/bigtrader/v9/core/pypapertrading/init.py:109, in BigQuantModule.init(self, run_date, initialize, handle_data, handle_tick, handle_trade, handle_order, before_trading_start, after_trading, data, order_price_field_buy, order_price_field_sell, before_start_days, replay_bdb, frequency, adjust_type, product_type, volume_limit, capital_base, options_data, email_to, wechat_to, daily_data_ds, minute_data_ds, tick_data_ds, benchmark_data_ds, basic_data_ds, dominant_data_ds, debug, benchmark)

103     instruments = json.loads(data)

104 elif isinstance(data, pd.DataFrame):

105     instruments = {

106         # "market": "CN_STOCK_A",

107         "instruments": list(set(data\["instrument"\])),

108         # TODO: to seconds?

--> 109 "start_date": data["date"].min().strftime("%Y-%m-%d"),

110         "end_date": data\["date"\].max().strftime("%Y-%m-%d"),

111     }

112 else:

113     raise Exception(f"not supported instruments type: {type(data)}")

File pandas/_libs/tslibs/nattype.pyx:72, in pandas._libs.tslibs.nattype._make_error_func.f()

ValueError: NaTType does not support strftime

\

标签

回测模拟交易
评论
  • 拉长一下开始和结束日期
  • 怎么拉长法?我拉长好象也是出错。
  • 具体拉长到多少?
  • 使用一年的先跑一下
{link}