From 3caefc56522046b411b17b3ad9d868192a5b2dfb Mon Sep 17 00:00:00 2001 From: hmo Date: Wed, 12 Aug 2026 06:16:23 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20CHANGELOG=E8=BF=BD=E5=8A=A02026-08-12?= =?UTF-8?q?=E8=B6=85=E8=B7=8C=E7=AD=96=E7=95=A5=E5=9B=9E=E6=B5=8B=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E6=89=A9=E5=B1=95=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4a44626..ea89c1de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,39 @@ +## 2026-08-12 — 超跌策略回测框架全面扩展(v_weak/v_oversold 回测支持) + +### 背景 +v_weak(实盘)+ p_oversold(新策略)需研究 Tab 展示真实回测数据。原 run_backtest 用 compute_single_score 逐窗口评分,单股 161 秒(全市场 4000 股不可行);超跌策略研发时用的是 run_mr_backtest(O(N) 门槛过滤)+ step27-49 pandas 管道(年化 18.57%)。 + +### 修改 +1. **strategy_lab.py 性能修复**: + - `prepare_sector_context` ADX 计算 O(N²)→O(N)(calc_trend_strength 移到板块外层循环,296板块×490天卡死→0.95秒) + - `_get_external_factors` 改预加载模式(prepare_external_context 一次载入基本面分位/行业动量/新闻,消除循环内逐日查库——403万行 news 全表扫是卡死根因) +2. **calc_factors 加超跌因子**:bias60/dist_lo20/r5f/vol_shrink/close_up(ma60 已在 bars 里) +3. **pass_filters 加因子检查**:bias60/dist_lo20/r5f/vol_shrink/mkt_rsi/mkt_dd60/mcap_q/pe_q/news3/sec_ret20 +4. **_load_index_ctx 加大盘 RSI/DD60**(mkt_rsi/mkt_dd60,p_oversold 门控) +5. **run_mr_backtest 扩展**:支持外部因子过滤 + tp_pct=None 兜底 + 外部因子记录 +6. **注册**:v_weak(v_mr 研发参数:bias_max=-10单边/rsi_max=42/ret_max=-15/mom20_max=5/amount_max=15/rsi_delta_min=2/mkt_mode=any)、v_oversold(12维因子 mr config) +7. **scripts/research/step49_save_to_research.py**:复现 v5 定稿(年化 18.57%)并保存 strategy_research(支持 10y/5y/2y) +8. **evolution/evolution_api.py**:baseline 改 v_weak/v_oversold;组合 Tab members 查询兼容 v_oversold(研究名) + +### 回测结果(2026-08-12 复现) +| 策略 | 10y | 5y | 2y | +|------|-----|-----|-----| +| v_weak | 21697笔/53.6%/cagr11.7%/dd25.4% | 5297笔/49.6%/cagr7.7%/dd24.7% | 1872笔/42.0%/cagr4.3%/dd18.0% | +| v_oversold | 200笔/53.5%/cagr18.6%/dd32.4% ✅复现 | 122笔/59.8%/cagr27.4%/dd32.4% | 34笔/76.5%/cagr37.9%/dd17.7% | + +> v_oversold 10y 完全复现研发 v5 定稿(年化18.57%/回撤-32.4%/873信号/分年净值一致)。 + +### 效果 +- 研究 Tab:v_weak/v_oversold 标记 current,展示真实回测数据 ✅ +- 组合 Tab:p_oversold 显示 10y cagr 18.6%(不再"待回测")✅ +- 进化模块 baseline:v_weak/v_oversold ✅ +- 性能:10y 全市场回测 280-420 秒(可接受) + +> 执行:Sisyphus (小小莫) +> 待办:部署步骤 2-6(dry-run/管道验证/全链路/健康监控/观察期)待老莫批准 + +--- + ## 2026-07-19 — XMPP bot 递归重连修复 ### 根因