← 返回报告库
ETF 动量 · 门控 · 影子账 · 2026-10-22

两条影子候选是什么策略?
—— 短期反转门控、隔夜硬阈门控

从 awesome-systematic-trading 清单里挑出的 8 个假设,按事先写好的规则、真实成本、样本内/样本外切分和随机对照全部回测了一遍。只有两条叠加在现行 ETF 动量上的「换仓门控」通过,进入只记录、不下单的影子账。两条分开跟踪,不叠加。

池:76 只 ETF,2013-01 → 2026-09|成本:月换手比例 × 0.1%(站点口径)|IS < 2022-01-01,OOS ≥ 2022-01-01|纯研究,未改实盘和站点策略页
0.44基线 OOS 夏普
0.65反转门控 rev5_10 OOS 夏普
0.92隔夜硬阈 OOS 夏普(全期 0.98)
90% / —随机对照胜出比例(反转 / 硬阈未单独做)
一句话:两条都不是新策略,只是在现行「52 周高动量 top3」的月初换仓那一步加一个「这次先别换」的条件。只是少换,不加杠杆,也不新开空仓。OOS 改善明显,但都只有 4 年多 OOS、约 57 个换仓月,先进影子账观察,不改实盘。

共同的底座:现行 ETF 52 周高动量

信号价格 / 过去 250 日最高价(至少 200 日数据),越接近 52 周高排名越前
持仓top3 等权;同一主题最多 1 只;QDII 溢价 > 8% 不买
钝化新候选得分要比被替换的持仓高 2pp 以上才换(去掉它换手翻倍,OOS 夏普 0.44→0.375,所以保留)
换仓时点每月第一个交易日;信号用前一交易日收盘价
表现CAGR 14.0% / 夏普 0.96 / 最大回撤 −26.0%;IS 夏普 1.25 → OOS 0.44(沪深300 同期 OOS 0.085)

① 短期反转门控 rev5_10

直觉

动量(几个月到一年)和短期反转(几天到一个月)同时存在。一只 ETF 刚在 5 天里涨了 10% 以上才冲进 top3,这时买进往往买在短期情绪的顶上,接下来容易回吐,换手成本也白付了。所以:老持仓不动,只是拦住「刚暴涨的新面孔」,等它冷却后下个月再看。来源:Understanding Momentum and Reversal(AST 清单,原文 Sharpe 1.36,36 年,未扣成本)。

事前规则(冻结)

信号候选 ETF 截至前一交易日收盘的 5 日收益率 r5
参数r5 > 10% → 本月不作为新买入(已持有的不受影响,不会因此被卖出)
门控关闭时该候选跳过,按排名顺延到下一只合格候选;若因此凑不满 3 只,本月回退为不加门控的基线选法
换仓时点与基线相同:月初第一个交易日
成本换手比例 × 0.1%
变体CAGR夏普MDDIS 夏普OOS 夏普月均换手
基线14.02%0.957−26.0%1.2530.4430.2525
rev5_10(主候选)14.52%1.068−24.6%1.2920.6530.2423
5日>8%16.28%1.192−15.5%1.4440.7520.2342
5日>15%15.46%1.090−26.2%1.2850.7260.2504
10日>10%15.97%1.208−15.5%1.4190.7820.2302
10日>15%16.57%1.223−15.5%1.4200.8470.2343
5日>10% 改为排序剔除13.98%1.033−24.6%1.2380.6530.2403
随机对照:用同样 7.3% 的跳过率随机拦候选,跑 20 个种子,OOS 夏普中位 0.465;rev5_10 的 0.653 胜过其中 90%。说明有用的是「拦住刚暴涨的」,不只是「少换几次」。
为什么不选更好看的 10日>15%:主候选是事先定的 rev5_10,网格里更强的那些是看过结果才挑出来的,选它们有过拟合风险。影子账只冻结 rev5_10 一个参数。
反转门控净值
风险:① 回撤只从 −26.0% 降到 −24.6%,主要改善的是收益质量,回撤改善有限;② 每月真正被拦的候选不多,实盘月份里大部分时候和基线一样;③ 回测按前一日收盘信号、收盘价成交,实盘执行有滑点;④ 在牛市主升段可能错过最强的那只。

② A 股隔夜硬阈换仓门控

直觉

A 股隔夜收益(今天开盘 / 昨天收盘 − 1)长期显著为负,日内为正。近期隔夜持续明显为负,通常是外盘冲击、情绪恶化或资金在开盘出逃的时候。这种时候换仓追新,容易买在情绪差、跳空多的环境里。所以:隔夜环境差的月份不换仓,拿着老仓不动。这不是美股式的「只持有隔夜」,T+1 也做不了那种策略,这里只是一个入场过滤。来源:AST 的 Market Sentiment and an Overnight Anomaly,以及 Factor Beta, Overnight and Intraday Expected Returns in China。

事前规则(冻结)

信号510300 每日隔夜收益 = open / pre_close − 1(|值| > 12% 视为异常剔除),取近 20 日均值 m20
参数月初前一交易日 m20 > −5bp(−0.05%)→ 门控打开,正常执行基线换仓(含 2pp 钝化)
门控关闭时m20 ≤ −5bp:本月不换仓、继续持有上月组合(不空仓);空仓时也不新开
换仓时点月初第一个交易日
成本换手比例 × 0.1%;历史上 56.4% 的月份门控打开,月均换手 0.2525→0.1858
变体CAGR夏普MDDIS 夏普OOS 夏普开门月占比
无门控基线14.02%0.957−26.0%1.2530.443100%
m20 > −5bp 才换仓(主候选)14.01%0.976−23.0%1.0030.92356.4%
m20 > −5bp,否则空仓9.78%0.824−16.9%0.8400.79356.4%
m20 ≥ 一年中位数才换仓(良性版)10.86%0.780−27.3%0.7690.80248.5%
良性版,否则空仓9.02%0.803−16.9%0.8870.64348.5%
隔夜门控净值
随机对照与诚实说明:同占用率(48.5%)的随机门控 OOS 夏普中位 0.51,良性版胜出 80%。硬阈版没有单独做随机对照,而且 −5bp 阈值是和良性版一起比较后选出来的,带有事后成分。这是两条里证据更弱的一条。
风险:① IS 夏普从 1.25 降到 1.00,改善全在 2022 年后,可能是 A 股这几年的体制特征;② 门控关闭时拿着可能已失效的老仓,单月趋势反转时会吃亏;③ 只用 510300 一个代理,隔夜数据 n=3486 天;④ 空仓版回撤更低(−16.9%),但牺牲了约 4pp 年化,不作为影子主候选。

影子账怎么记

性质只记录,不下单,不改实盘,不改站点 ETF 动量页
频率每月第一个交易日,按前一交易日收盘数据计算
每期字段基线 top3 / 影子 A 持仓 / 影子 B 持仓;A:被拦候选及其 r5;B:m20 数值与开关状态;三条线换手与扣 0.1% 后的净值
分开跟踪A、B 各自只相对基线比较,不叠加成「A+B」:两层门控叠加后自由度翻倍,样本又短,分不清是谁的功劳
评估累计 ≥ 12 个月后再看:影子相对基线的超额、换手,以及门控触发月份的单独表现;参数冻结,期间不调

商品侧备注:优先展期

国内商品期货截面(2009-10 → 2026-09,成本 10bp,月度,2018 起为 OOS):纯展期收益(roll yield)多空 OOS 夏普 0.537,是最强单信号;价格动量多空只有 0.267。展期与动量双重排序 0.537,和纯展期打平;对展期正交后的残差动量只有 0.129。两者截面相关月均 0.43,不是独立信息源。结论:商品轮动优先看展期/期限结构,不在上面堆动量装饰。

其余假设:失败,现行规则不变

假设判决关键数字(OOS)处理
Crypto 多周期趋势过滤(叠加现有 40/25/35)FAIL夏普:现金版 1.84 / 仅 BTC 0.64 / 半仓版 2.19,均低于基线 2.32不上
商品动量 × 低池内相关加权FAIL夏普 0.300,等权动量 0.255;方向对,但未过事前门槛不立项
行业层 52 周高(申万一级 PRILAG)FAILtop3–6 夏普 −0.06 ~ −0.21,行业等权 −0.01弃
三策略波动率目标 / 逆波动再平衡半否定等权 18.2% / 1.57 / −9.2%;逆波动 15.4% / 1.53 / −7.2%:回撤降了,IR 没升保持等权
转债好 / 坏 carry 分层证伪好 carry 相对转债等权超额 ≈ 0;坏 carry 反而 +4.7%(IR 0.62)不上该筛选
商品展期 × 动量正交形式 PASS0.537 vs 纯展期 0.537,经济上打平用纯展期
元教训:AST 清单(Papers With Backtest 复刻夏普中位约 0.37)的数字不扣成本,而且多是海外市场的结论,迁移到国内必须自己做 OOS。这轮 8 项只留下 2 条门控,价值主要在于少走弯路。

口径与文件

· 数据:iq/ref/etf_close.csv(76 只 ETF,至 2026-09-24);510300 open/pre_close;申万一级(akshare,至 2026-10-21)。
· 研究目录:etf_ast_batch/(etf_rev_gate、overnight_gate、ind_52w)、cmdty_ast_batch、crypto_mtf_trend、vol_taa_ast、cb_good_carry。
· 夏普按 244 个交易日年化;所有数字都是回测,不代表未来。