VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 3
声望: 0

程序内容

from vnpy_ctastrategy.backtesting import BacktestingEngine
from vnpy_ctastrategy.strategies.atr_rsi_strategy import AtrRsiStrategy
from datetime import datetime

engine = BacktestingEngine()
engine.set_parameters(
vt_symbol="IF888.CFFEX",
interval="1m",
start=datetime(2025,4,1),
end=datetime(2025,4,29),
rate=0.3/10000,
slippage=0.2,
size=300,
pricetick=0.2,
capital=1_000_000,
)
engine.load_data()
engine.run_backtesting()
df = engine.calculate_result()

错误信息

KeyError Traceback (most recent call last)
Cell In[14], line 24
22 df = engine.calculate_result()
23 return df
---> 24 df1 =run_barcktesting(datetime(2025,2,6),datetime(2025,3,26))
25 df2 =run_barcktesting(datetime(2025,3,1),datetime(2025,4,30))

Cell In[14], line 22, in run_barcktesting(start, end)
20 engine.load_data()
21 engine.run_backtesting()
---> 22 df = engine.calculate_result()
23 return df

File C:\veighna_studio\Lib\site-packages\vnpy_ctastrategy\backtesting.py:288, in BacktestingEngine.calculate_result(self)
285 for key, value in daily_result.dict.items():
286 results[key].append(value)
--> 288 self.daily_df = DataFrame.from_dict(results).setindex("date")
290 self.output(("逐日盯市盈亏计算完成"))
291 return self.daily_df

File C:\veighna_studio\Lib\site-packages\pandas\core\frame.py:6122, in DataFrame.set_index(self, keys, drop, append, inplace, verify_integrity)
6119 missing.append(col)
6121 if missing:
-> 6122 raise KeyError(f"None of {missing} are in the columns")
6124 if inplace:
6125 frame = self

KeyError: "None of ['date'] are in the columns"

Member
avatar
加入于:
帖子: 1877
声望: 142

回测成交记录为空,你下载IF888.CFFEX的数据了吗

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】