数据至 2026-09-18 · 近一年窗口 2025-09-18 → 2026-09-18 · 复核对象 win = 350 / 380(生产) / 500 · 口径: 门控P95 + SD≥10 + DF≥4 + K=10 + 12%止损 + 次日开盘成交 + 0.1%/边
维持 380
本季判定
连续落后季度 0/2, 未触发回滚条件
+30.54%
近一年 380
对 500 领先 +7.02pp
+21.51%
全周期 380
Calmar 0.856 vs 500 0.732
+22.68%
对照 win=350
名义高 +1.18pp, 属锯齿噪声
维持本季维持 380: 近一年 380 (+30.54%) 仍领先 500 (+23.52%), 全周期 Calmar 优势仍在 (0.856 vs 0.732) —— 两条回滚条件均不成立
结论回滚检查计数: 连续落后季度 = 0 / 阈值 2 → 无需动作, 生产常量不变 (daily_signal.WIN = 380)
慎用350 名义最优 (全周期 +22.68% / Calmar 0.902) 但不构成切换依据: 领先幅度落在锯齿噪声内, 见第 6 节
警示样本小: 近一年仅 47 笔 (380) —— 单季数字只作观测, 不得据此切换窗口
①
决定 Calmar 优势的是回撤: 全周期 380 回撤 -25.14% vs 500 -29.21%, 而收益几乎持平 (+21.51% vs +21.38%, 差 +0.13pp)
②
窗口更短 → 门开更多: 全周期 380 门开 194 天 vs 500 179 天, 交易 464 vs 461 笔; 近一年收益因此高出 +7.02pp
③
本季为机制建立后的首份复核 (历史 1 条), 持续性规则要到 2026Q4 才有累积判定意义
2
近一年复核 (2025-09-18 → 2026-09-18)
SECTION 2
| 窗口 | 年化 | 最大回撤 | Calmar | 交易数 | 胜率 | 单笔 |
|---|
| 350 | +30.91% | -11.82% | 2.615 | 49 | 61.2% | +5.94% |
| 380 (生产) | +30.54% | -12.87% | 2.372 | 47 | 61.7% | +6.11% |
| 500 | +23.52% | -10.08% | 2.332 | 45 | 64.4% | +5.15% |
结论近一年 380 +30.54% / Calmar 2.372, 对 500 领先 +7.02pp 收益与 +0.04 Calmar; 但 500 回撤更小 (-10.08% vs -12.87%) —— 这是样本内的取舍, 不是退化信号
①
胜率反而不占优: 380 61.7% vs 500 64.4%, 380 的优势来自单笔更大 (+6.11% vs +5.15%)
②
一年仅 47 笔 (500 为 45 笔): 3 笔交易的差别就能拉开 +7.02pp —— 单季数字不可作决策依据
3
全周期复核 (2014-01-01 → 2026-09-18)
SECTION 3
| 窗口 | 年化 | 最大回撤 | Calmar | 交易数 | 胜率 | 单笔 |
|---|
| 350 | +22.68% | -25.14% | 0.902 | 494 | 65.0% | +6.11% |
| 380 (生产) | +21.51% | -25.14% | 0.856 | 464 | 64.7% | +6.18% |
| 500 | +21.38% | -29.21% | 0.732 | 461 | 65.1% | +6.17% |
结论全周期 380 与 500 收益几乎相同 (+21.51% vs +21.38%, 差 +0.13pp), Calmar 差 +0.12 全部来自回撤 (-25.14% vs -29.21%)
①
380 与 350 的全周期回撤完全相同 (-25.14%), 500 为 -29.21%; 加密扫描里 325~450 是最小回撤带 (-25.14% ~ -27.44%), 500 落在带外, 750 以上再扩到 -34~-35%
②
交易数 350/380/500 = 494/464/461: 窗口越短出手越多, 但 380 相对 500 只多 3 笔
| 指标 | 380 (生产) | 500 | 差值 |
|---|
| 近一年年化 | +30.54% | +23.52% | +7.02pp |
| 近一年 Calmar | 2.372 | 2.332 | +0.04 |
| 全周期年化 | +21.51% | +21.38% | +0.13pp |
| 全周期 Calmar | 0.856 | 0.732 | +0.12 |
| 全周期最大回撤 | -25.14% | -29.21% | 回撤少 4.07pp |
| 全周期交易数 | 464 | 461 | +3 笔 |
| 门开天数 | 194 | 179 | +15 天 |
| 在场占比 | 50.6% | 52.4% | -1.78pp |
①
门开 +15 天 (+8.4%) 只换来 3 笔额外交易: 多开的门并没有等量转化为入场
②
在场占比 380 反而略低 (50.6% vs 52.4%): 入场点不同导致持有期错位, 不影响结论
③
当前阈值 (2026-09-18): 380 = 174 / 500 = 132 —— 两窗口的松紧次序并非固定, 取决于窗口内极端日的留存; 本季不改常量, 门控行为不变
结论规则(已固化): 连续 2 个季度同时满足「近一年 380 ≤ 500」与「全周期 Calmar 380 < 500」→ 告警建议评估回滚; 任一不成立 → 维持
| 条件 | 本季取值 | 是否成立 |
|---|
| ① 近一年 380 ≤ 500 | +30.54% vs +23.52% | 不成立 |
| ② 全周期 Calmar 380 < 500 | 0.856 vs 0.732 | 不成立 |
| 连续落后季度 streak | 0 | 阈值 2, 未触发 |
| 告警 alert | false | 无需动作 |
| 季度 | 数据截至 | 近一年 380 | 近一年 500 | 全周期 Calmar 380 | 全周期 Calmar 500 | streak | 告警 |
|---|
| 2026Q3 | 2026-09-18 | +30.54% | +23.52% | 0.856 | 0.732 | 0 | 否 |
①
复核节奏: 每月 3 日跑口径一致性巡检 (常量/文档/公式注释/缓存新鲜度), 1/4/7/10 月额外跑统计复核并必建看板卡 (cron ebb7802a8b4f)
②
回滚路径已备未启用: /root/backups/win380_20260920_093422/ 存有切换前原件 (daily_signal.py 含 WIN = 500) + engine.py 与选股公式; 回滚需同改两处常量
6
为什么不是 350 (名义最优 ≠ 切换依据)
SECTION 6
| 窗口 | 近一年年化 | 近一年 Calmar | 全周期年化 | 全周期 Calmar | 全周期回撤 | 交易数 |
|---|
| 350 | +30.91% | 2.615 | +22.68% | 0.902 | -25.14% | 494 |
| 380 (生产) | +30.54% | 2.372 | +21.51% | 0.856 | -25.14% | 464 |
| 差值 (350-380) | +0.37pp | +0.24 | +1.18pp | +0.05 | 0.00pp | +30 |
慎用350 (以及更短的 325) 在数字上更漂亮, 但 09-20 加密扫描 300~500 (25 天步长) 的 Calmar 为 0.633 / 0.943 / 0.902 / 0.898 / 0.785 / 0.733 / 0.876 / 0.715 / 0.732 —— 相邻一档就能跳 ±0.31, 是锯齿不是高原
①
若「最优数字」可作依据, 该选 325 (Calmar 0.943) 而不是 350 —— 三个候选互相矛盾本身说明这不是机制优势
②
350 全周期多 30 笔交易 (+6.5%): 窗口更短 → 阈值更贴近期 → 出手更多, 额外执行成本未计入
③
按既定研究口径「增益只来自某一段即视为未证明」: 该区间的领先属样本内优选, 不能作为切换理由
①
窗口 = 阈值的记忆长度: 阈值取过去 win 个交易日全市场候选数 C 的 P95 (不含当日, 严格因果), C ≥ 阈值 当日门开
②
窗口短 → 阈值更新快: 极端行情后阈值更快回落 → 门开日更多 (380: 194 天 vs 500: 179 天)
③
窗口过短 → 平静期门槛被压低 → 平庸信号涌入: win=60 实测年化 +8.90% / Calmar 0.217 / 门开 272 天 (已判定有害)
④
窗口过长 → 迟钝: win=1500 年化最高 (+23.78%) 但回撤 -35.5% —— 平静期的低门槛不会及时抬升
⑤
120~1500 是宽平台 (年化 19.5~23.8%): 「门控存在」比「窗口取多少」重要, 380 与 500 都在平台内, 因此维持成本很低
·回测: /root/lxxg/gate_recheck.py, 数据截至 2026-09-18; 本报告全部数字由 data/gate_recheck_2026Q3.json 现算
·样本池: 沪/深主板 + 创业板 (剔科创板/北交所); 剔 ST/退市名称级 + 逐日 isST 真值 + 监管事件 60 日窗口
·选股: SD≥10 & DF≥4, 按 DF 降序取前 K=10; 离场: EXITW (区间位置/宽度条件) 或最长 40 交易日; 固定 12% 止损
·门控: 全市场候选数 C ≥ 各自窗口的因果滚动 P95 阈值; 三个窗口各自独立计算阈值, 以 gate_mask 注入 (引擎内部 gate 关闭, 避免双重门控)
·成交: 信号当日收盘成立, 次日开盘成交; 单边成本 0.1%; 无前视 (阈值只用当日及之前数据)
·判定: 持续性规则 (连续 2 个季度双条件成立才告警); 本季双条件均不成立, streak = 0
·本次核对: 数字与判定由脚本 gate_recheck_q3_verify.py 独立重推导, 19 项检查全部通过 (含与 09-20 win380.json 交叉核对)
·红线: 本报告不改生产常量; 若告警只交建议与证据, 等用户拍板
·年化收益: 净值按日历天折算的复合年化 (非累计); 近一年 = 数据截止日往前 365 个自然日的同一口径复跑
·最大回撤: 净值自历史峰值的最大跌幅; Calmar: 年化收益 ÷ 最大回撤绝对值 (>0.5 较优, >1 优秀)
·胜率: 盈利笔数占比; 单笔: 每笔平均收益 (已含双边 0.1% 成本); 交易数: 完整买卖对数
·门开天数: 全市场候选数 C ≥ 当日阈值的交易日数 (策略允许建仓的日期); 在场占比: 持有至少一只标的的交易日占比
·streak: 连续满足「近一年 380 ≤ 500」的季度数; alert: streak ≥ 2 且「全周期 Calmar 380 < 500」时才为真
·锯齿: 参数微调导致指标不单调跳动的现象, 是样本内优选 (噪声) 的典型特征, 与真实参数高原 (平滑) 相对
数据: /root/lxxg/data/gate_recheck_2026Q3.json · gate_recheck_history.json · win380.json · 生成 2026-09-20 · 季度复核存档, 不含投资建议