← 返回报告库
ETF 动量 · 形成期 · 上影子 · 2026-10-26
52 周行程跳过近月
—— 形成期终点滞后 SKIP=21 再算 nearness
经典 Jegadeesh/Titman 动量在排名时跳过最近约 1 个月,避免短期反转污染形成期。现行站点用信号日 P[t]/rolling_max(250);本支改为在滞后 SKIP 个交易日的价格上算同一 nearness,再用该分数做主题/QDII/钝化/月初换仓。主候选事先冻结 SKIP=21;邻域与成本只报告不回挑。
底座:主题 CAP=1 + QDII 溢价 8% + 2pp 钝化 + 月初换仓 + 换手×0.1%|IS ≤ 2021-12,OOS ≥ 2022-01|判决:上影子(只记账、不下单、未改站点交易页、未改 engine_gates.py)
0.23基线 OOS 夏普
0.64skip-1m SKIP=21 OOS 夏普(Δ+0.41)
+496bpOOS 日超额年化(IR 0.34 / t 0.73)
73.5%持仓差异月率(122/166)
一句话:改的是排名信号本身的形成窗口终点,不是换仓门控。OOS 明显改善、成本网格 Δ 稳在 +0.38~+0.41、持仓高度不同 → 上影子。需正视:IS 1.24→0.90 变差、全期略逊、SKIP=42 反向、超额 t 仅 0.73;邻域 SKIP=10 事后更好但不回挑;影子期继续盯。
逻辑与正交关系
短期反转会污染「刚冲高」的近月收益;跳过近月是经典做法。本支把
px = df.shift(SKIP) 后再算
sig = px / px.rolling(250).max(),在信号日排名,其余流程照 _base_picks + _dampen_swap。
- rev5_10:选完后拦短期暴涨新买(继续影子)
- 秩稳定:对新买加「上月秩」门控(另篇上影子)
- 本支:改排名信号形成窗口终点
- dual abs-mom / corr cap / gold prem / inflow avoid / 行业52w:已停挖
冻结规则(回测前写死)
| 底座 | engine_gates 同站点:TOPK=3,CAP=1,MARGIN=0.02,PGATE=0.08,COST=0.001,W=250,MINP=200,START=20130101;月初换仓 |
| 主候选 | SKIP=21(约 1 个月交易日)。px = df.shift(21) 后 sig = px / px.rolling(250, min_periods=200).max(),在信号日 dates[i-1] 上排名;其余照 _base_picks + _dampen_swap |
| 基准 | 同引擎 mode='baseline'(标准 nearness,非沪深300) |
| 切分 | IS ≤ 2021-12-31;OOS ≥ 2022-01-01 |
| 邻域 | 只报告不回挑:SKIP ∈ {10, 21, 42} |
| 成本网格 | 5/10/20/30bp,只报主候选 OOS Sharpe vs 基线 |
| 换手 | 相对上月持仓名集合,turnover = 1 − |交集|/3;首日扣 turnover×cost |
| 实现 | run_study.py import engine_gates,自写 run_skip;未改 engine_gates.py |
主结果:基线 vs SKIP=21
| 区间 | 基线夏普 | 基线 CAGR | 基线 MDD |
skip21 夏普 | skip21 CAGR | skip21 MDD | Δ夏普 |
| IS(≤2021-12) | 1.24 | 18.3% | −18.1% | 0.90 | 12.9% | −24.5% | −0.34 |
| OOS(≥2022-01) | 0.23 | 2.4% | −29.9% | 0.64 | 8.0% | −13.4% | +0.41 |
| 全期 | 0.87 | 12.5% | −31.6% | 0.81 | 11.2% | −24.5% | −0.06 |
OOS 日超额约 +496bp 年化,IR 0.34,t 0.73(N=1162)——点估计大,统计显著性仍弱。回撤从 −29.9% 收到 −13.4%。IS 与全期都变差,改善几乎全在 OOS。
持仓差异与活动
73.5%终仓≠基线的月(122/166)
50OOS 差异月
72IS 差异月
0.287月均换手(基线 0.255→0.287)
典型差异:跳过近月后,短期冲高主题(如电子/消费)排名回落,黄金·外 / 宽基等替补进入;路径依赖钝化后差异在多数月份持续。与秩稳定门控不同,本支换手略升而非下降。
成本网格(主候选 OOS 夏普)
| 成本 | 基线 | skip-1m | Δ |
| 5bp | 0.25 | 0.66 | +0.41 |
| 10bp(站点) | 0.23 | 0.64 | +0.41 |
| 20bp | 0.21 | 0.61 | +0.40 |
| 30bp | 0.19 | 0.57 | +0.38 |
成本网格 OOS Δ夏普稳在 +0.38 ~ +0.41,不翻转。
邻域(只报告,不回挑)
| 变体 | OOS 夏普 | Δ vs 基线 | 持仓差异月率 | OOS 超额年化 | 月均换手 | 备注 |
| SKIP=10 | 1.06 | +0.83 | 75.3% | +929bp | 0.241 | 事后更好,不回挑 |
| SKIP=21(主) | 0.64 | +0.41 | 73.5% | +496bp | 0.287 | 主候选 |
| SKIP=42 | −0.03 | −0.26 | 83.1% | −407bp | 0.251 | 窗口过长变差 |
三档均在 IS 变差;仅短/标准 skip 在 OOS 改善。窗口敏感 → 影子期用冻结的 SKIP=21,不切到 SKIP=10。
分年夏普(基线 → SKIP=21)
| 年 | 基线夏普 | skip21 夏普 | 基线 CAGR | skip21 CAGR |
| 2013 | 0.94 | 0.33 | 18.4% | 5.0% |
| 2014 | 2.28 | 2.24 | 26.5% | 25.5% |
| 2015 | 1.60 | 1.09 | 31.0% | 22.8% |
| 2016 | 1.89 | 1.67 | 20.7% | 13.6% |
| 2017 | 1.63 | 1.09 | 13.7% | 10.5% |
| 2018 | 0.07 | −0.27 | 0.1% | −4.3% |
| 2019 | 1.30 | 2.17 | 10.2% | 16.7% |
| 2020 | 2.11 | 1.38 | 44.7% | 22.1% |
| 2021 | 0.39 | 0.46 | 5.6% | 7.2% |
| 2022 | −0.67 | −0.24 | −11.0% | −4.4% |
| 2023 | 0.04 | 1.03 | −0.3% | 12.6% |
| 2024 | 0.86 | 1.15 | 8.3% | 11.8% |
| 2025 | 2.89 | 0.64 | 47.2% | 8.0% |
| 2026 | −1.10 | 0.89 | −25.2% | 14.3% |
OOS 改善主要来自 2022–2024 与 2026 减亏/增盈;2025 基线大胜被 skip 错过(夏普 2.89→0.64),是影子期必须盯的主要风险。
判决与局限
| 判决 | 上影子 —— 只记账、不下单;SKIP=21 冻结;不改站点、不改 engine_gates.py、不回挑 SKIP=10 |
| 通过点 | OOS Δ夏普 +0.41;成本稳健(+0.38~+0.41);持仓实质不同(73.5%) |
| 风险记录 | IS 明显变差(Δ−0.34);全期略逊;SKIP=42 反向;超额 t 仅 0.73;2025 年大幅落后基线 |
| 明确不做 | 未改站交易页 / 不下单 / 不改实盘逻辑;不因邻域 SKIP=10 更好而回挑 |
口径与文件
· 研究目录:
/root/cb-allotment/research/etf_skip1m_form_20261026_09/(REPORT.md · result.json · run_study.py)
· 引擎(只读):
scripts/etf_gate_shadow/engine_gates.py
· 附件:
result.json ·
原始研究笔记
· 数字以 result.json 为准;夏普按引擎日频年化;所有数字都是回测,不代表未来。