From c263aa14ab44f47bd4f19ef310c8cf2c48057aa7 Mon Sep 17 00:00:00 2001 From: claude_dev Date: Sun, 2 Aug 2026 21:21:42 +0800 Subject: [PATCH] =?UTF-8?q?chore(cta=5Fengine):=20=E5=8A=A0=20load=5Fdata?= =?UTF-8?q?=20bar=E6=95=B0+run=5Fbacktesting=20logging(=E7=A1=AE=E8=AF=8A?= =?UTF-8?q?=E5=8D=A1=E7=82=B9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cta_6f7e8036 日线卡 run_backtesting(CPU85%,read_index_daily 前即卡),日线111bar该秒级→疑似 load_data 读多了(vnpy_db 2cb2ab0修复后读真实dbbardata,区间过滤/interval疑失效)。加 load_data history bars 数 + run_backtesting 完成 logging,重跑看 bar 数确诊。 --- sanguo_backtest/cta_engine.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sanguo_backtest/cta_engine.py b/sanguo_backtest/cta_engine.py index a0ff66e..31904d6 100644 --- a/sanguo_backtest/cta_engine.py +++ b/sanguo_backtest/cta_engine.py @@ -240,6 +240,7 @@ def run_cta_backtest( try: # Load historical data engine.load_data() + logging.info("[cta] load_data 完成: history bars=%d", len(getattr(engine, "history_data", []) or [])) # C1 定寸:size = N 股/手。load_data 后取首根 bar close 算满仓手数。 # vnpy 的 turnover/PnL/commission 自动 ×size,策略 volume 保持 1 手=N 股=满仓, @@ -259,6 +260,7 @@ def run_cta_backtest( # Run backtesting engine.run_backtesting() + logging.info("[cta] run_backtesting 完成") # Calculate statistics — calculate_result() returns a daily DataFrame, # calculate_statistics(df) returns the stats dict (sharpe/drawdown/etc.)