标签重叠(overlapping)的危害

用真实蒙特卡洛模拟说明:为什么 10s 高频取样 + 分钟级标签,会让纯噪声因子被误判为"极显著"
实验设定:造一个真实无预测力的随机因子(与未来收益完全无关,且像真实10s因子一样高度自相关 ρ=0.99), 每 10s 取一个样本,标签 = 未来 N 根收益。正确的统计检验,应该只有约 5% 的概率误判它显著(即 |t|>1.96)。 看看 naive t值实际误判了多少。

① 为什么会重叠

tt+1t+2t+3t+4t+5t+6t+7样本1的标签: 未来5格收益样本2的标签: 未来5格收益样本3的标签: 未来5格收益相邻样本的标签区间 80% 重合 → 它们几乎是同一个数,不是独立观测
每 10s 出一个样本,但标签要看未来很多格 → 相邻样本的标签区间大面积重合。 样本1和样本2的"未来收益"80%是同一段,它们不是两个独立观测,而是同一信息被数了很多遍

② 危害:纯噪声因子的假阳性率随 horizon 飙升

0%5%25%50%75%100%正确应≈5%3%3%10秒69%4%5分76%2%10分88%2%20分83%1%30分标签向未来看多久(horizon)
红=naive t值的假阳性率,绿=用「有效样本数 = N/horizon」修正后。横轴是标签向未来看多久。
危害:标签看未来 20分钟 时,一个毫无预测力的随机因子,naive 检验有 88% 的概率被判为"统计极显著"——而正确答案应该是 5%
也就是说:你挖出来的"显著因子",绝大多数可能是被重叠制造的幻觉。 用有效样本修正后,假阳性回落到 2%,恢复正常。
标签horizon10秒(无重叠)5分钟10分钟20分钟30分钟
naive 假阳性3%69%76%88%83%
修正后假阳性3%4%2%2%1%
horizon=10秒时无重叠,假阳性≈正常的几%;horizon越长重叠越重,naive假阳性越离谱。

③ 危害的本质:t值分布被撑大

显著门槛 ±1.96-12-60612随机因子算出的 t值h=10秒(无重叠) → 集中在±2内h=20分(重叠) → 散到±10,大量越过门槛
同一个随机因子,把它的 t值画成分布。无重叠(蓝)时 t值乖乖集中在 ±2 内; 重叠(红)时 t值散到 ±10,大量越过 ±1.96 的显著门槛。t值的"尺子"坏了。

④ 为什么会这样

显著性公式 t = IC × √(样本数N) 里的 N,假设样本相互独立。 但重叠让相邻样本几乎相同,真实独立样本数只有 ≈ N × (stride / horizon)
你的设定:stride=10秒、horizon=20分钟 → 真实独立样本只有名义的 10/1200 ≈ 1/120
于是 naive t值被夸大了 √120 ≈ 11 倍 —— 这正是上面红柱飙升的来源。

⑤ 怎么治(不改你的预测目标)

重叠不是前视(标签用未来收益天经地义),它是样本独立性问题。点估计(IC是多少)可信,坏的是显著性。三个治法:
降采样:每隔 ≥ horizon 取一个样本 → 完全不重叠(样本变少)。
重叠稳健统计:用 Newey-West 标准误,或按 有效N = N·stride/horizon 重算 t值(上图绿柱就是这么修的)。
看 ICIR 和稳定性,别只看裸 t值:ICIR(=mean(IC)/std(IC)) 对采样频率不敏感,比 t值诚实;更要看 IC 在不同时段/股票池是否一致为正。
数字来自蒙特卡洛模拟(400次重复·12000样本·因子ρ=0.99) · overlapping 是样本独立性问题,非前视