Traceback (most recent call last):
File "D:\veighna_studio\Lib\threading.py", line 1041, in _bootstrap_inner
self.run()
~~~~~~~~^^
File "D:\veighna_studio\Lib\threading.py", line 992, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\veighna_studio\Lib\site-packages\vnpy_ctabacktester\engine.py", line 188, in run_backtesting
engine.load_data()
~~~~~~~~~~~~~~~~^^
File "D:\veighna_studio\Lib\site-packages\vnpy_ctastrategy\backtesting.py", line 209, in load_data
progress += progress_days / total_days
~~~~~~~~~~~~~~^~~~~~~~~~~~
ZeroDivisionError: division by zero
一:ZeroDivisionError: division by zero
问题描述:错误信息里显示在backtesting.py的第209行出现了除以零的情况。错误的具体代码是progress += progress_days / total_days,这里的分母total_days是零,导致除法错误。
total_days应该是根据回测的数据计算出来的总天数。如果数据加载有问题,或者数据的时间范围不正确,可能会导致计算出的总天数为零。比如,数据可能没有正确加载,开始日期和结束日期相同,或者数据本身的时间跨度有问题。
解决方案:
不要让开始日期和结束日期为一天