← 返回目录
p3.2动手⏱ 约 16 分钟

回归与显著性:重叠样本让 t 值虚高

纯噪声数据上,假阳性率高达 56.8%——然后回头修正 P2

🔎 最后验证 2026-07📚 来源:模拟、Newey-West 复核与有效样本量于 2026-07-31 在 ECS 实测(固定随机种子 20260731),输出见 code/outputs/stdout.txt🧰 statsmodels 0.14.6、pandas 3.0.5、numpy 2.5.1
为什么学这个

P2 每一节,我都用日频数据算"未来 10 日 / 20 日 / 60 日收益",然后做 t 检验。

这里有个被广泛忽略的问题:这些收益窗口是重叠的。今天算的"未来 20 日收益",和明天算的,共享 19 天的行情。

后果有多严重?我在纯随机数据上做了模拟——没有任何真实效应,理想的假阳性率应该是 5%:

情形普通 OLS 假阳性率
信号逐日独立(不真实)6.2%
信号持续 20 天(接近真实)56.8%

一半以上的"发现"是假的。而真实的交易信号——RSI>70、价格在均线上方——全都是持续的

这一节找出 t 检验失效的真正条件,然后回头把 P2 的结论用 Newey-West 重算一遍

💡 打个比方

你想估计一个城市的平均身高,于是采访了 1000 个人。

但如果这 1000 人来自 50 个家庭,每家 20 口——你的有效样本量根本不是 1000,因为同一家人身高相似,后 19 个人提供的新信息远少于第一个。

而 t 值大致按 √N 增长。把 50 当成 1000,你的置信度会虚高约 4.5 倍。

一、模拟:找出 t 检验失效的真正条件

⚠️ 避坑

这一节我最初的模拟设计是错的,而那个错误恰好指出了真正的机制。

第一版模拟里,我把"信号日"设成逐日独立的随机数(每天各自抛硬币)。结果:普通 OLS 假阳性率 6.2%,接近理想的 5%——重叠窗口似乎没有造成任何问题

这与预期不符。原因是:光有"y 用重叠窗口"还不够。

真正让 t 检验崩掉的,是 x 和 y 同时具有持续性。而真实的交易信号恰恰都是持续的:RSI>70 会连着好几天,价格在均线上方会连着好几周。

修正模拟:把信号改成"一旦成立就连续成立 20 天"——假阳性率立刻飙到 56.8%

400 次模拟,每次 2000 天纯随机收益(不含任何真实效应),检验"信号日"的未来 20 日收益是否异于其他日子:

情形普通 OLSNewey-West
A. 信号逐日独立(不真实)6.2%7.2%
B. 信号持续 20 天(接近真实)56.8%8.8%

两个结论:

  1. 在完全没有效应的数据上,普通 t 检验有 56.8% 的概率报告"显著"
  2. Newey-West 把它拉回到 8.8%——不完美,但已经在可用范围

二、为什么:有效样本量

未来 N 日收益名义样本一阶自相关有效样本缩水
1 日40220.02038634.0%
5 日40180.80443689.1%
10 日40130.90320694.9%
20 日40030.9569097.7%
60 日39630.9852999.3%

用一阶近似 N_eff ≈ N × (1-ρ)/(1+ρ):

未来 20 日收益,名义样本 4003,有效样本只有 90 个。60 日更极端——只剩 29 个

而 t 值大致按 √N 增长。把 90 当成 4003,t 值会虚高约 √(4003/90) ≈ 6.7 倍

这解释了 P2 那些 t 值为什么普遍很大:不是效应强,是样本被重复计数了。

🔧 动手做:在纯随机数据上,造出 56.8% 的"显著"(6 分钟)

python overlap_bias.py。它在完全没有真实效应的纯随机数据上,用重叠窗口(今天算未来 20 日、明天再算,共享 19 天)做 t 检验。

你会看到(实测):普通 OLS 的假阳性率高达 56.8%(理想应是 5%),Newey-West 修正后拉回 8.8%

想明白:重叠窗口让有效样本量远小于名义样本(未来 20 日收益名义 4003、有效仅 90),t 值因此虚高。一半以上的"发现"是噪声——而真实交易信号(RSI>70、均线上方)全都是持续的,全踩这个坑。用重叠窗口做检验,必须报 Newey-West。

三、回头修正 P2

把 P2 的关键结论改写成回归形式,同时报普通 t 值与 Newey-West t 值:

检验持有期系数普通 t普通 pNW tNW p结论
p2.2 RSI 上穿 7010 日1.024pp7.160.00005.040.0000仍显著
p2.2 RSI 上穿 7020 日1.185pp5.700.00003.910.0001仍显著
p2.3 上穿布林上轨10 日0.385pp3.850.00013.080.0021仍显著
p2.3 上穿布林上轨20 日0.650pp4.480.00003.470.0005仍显著
p2.4 OBV 顶背离10 日0.788pp5.450.00003.440.0006仍显著
p2.4 OBV 顶背离20 日0.890pp4.240.00002.350.0188仍显著

诚实的读法:

  • 六项全部仍然显著——P2 的核心结论经受住了这一轮修正
  • 但 t 值普遍缩水:RSI 10 日从 7.16 降到 5.04,OBV 20 日从 4.24 降到 2.35(已接近临界)
  • 缩水幅度与重叠程度相关:持有期越长,虚高越严重

这不是说 P2 全错,而是说:它们的置信度被高估了。而 OBV 20 日那一项,修正后的 t=2.35 已经在"再多一层校正就会掉出去"的边缘——若先用 Newey-West 修正后的 p 值,再做 P3.4 的多重检验,它就会掉出去(P3.4 用的是 P2 原始 p 值,详见那一节的口径说明)。

四、规矩

  1. 任何用重叠窗口做的检验,都必须报 Newey-West 修正后的 t 值(maxlags 取持有期长度)
  2. 同时报有效样本量,让读者知道你的 4000 个观测其实相当于 90 个
  3. 能不用重叠就不用:如果数据够多,改成不重叠的分段(20 日收益就每 20 天取一个点),代价是样本变少,但结论干净
❓ 测验
同事的因子检验报告:日频数据、未来 60 日收益、样本 3963 个观测、t 值 4.2、p<0.0001。最该先问什么?
✏️ 填空
处理重叠窗口导致的残差自相关,标准做法是使用 ___-West 稳健标准误。

📌 免责:本课为技术教学,统计结果为历史模拟,不构成投资建议。

✅ 小结

这一节做了三件事:

  1. 模拟找出失效条件:光有重叠窗口不够,x 和 y 同时持续才会崩——纯噪声数据上假阳性率 56.8%,Newey-West 修正回 8.8%
  2. 有效样本量:未来 20 日收益名义 4003、有效仅 90(缩水 97.7%);60 日只剩 29
  3. 回头修正 P2:六项全部仍显著,但 t 值普遍缩水(RSI 10 日 7.16→5.04,OBV 20 日 4.24→2.35)

还有一个附带收获:我最初的模拟设计是错的(信号设成了逐日独立),而正是那个错误让我找到了真正的机制。这类"失败先于结论"的过程,我在课里原样保留——因为知道一个方法什么时候不失效,和知道它什么时候失效,是两种不同的理解

下一节讲协整与配对交易。它是"统计套利"的统计前提,也是数据挖掘偏差最干净的实证:我会在 1035 对标的里做全量协整检验,样本内找到 68 对"显著"——然后告诉你其中有多少经得起校正,以及样本外还剩几对。

下一节 → 协整与配对交易:统计套利的统计前提
🔎 来源与核验· 4 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「400 次模拟(2000 天纯随机收益,无真实效应,未来 20 日收益):信号逐日独立时普通 OLS 假阳性率 6.2%、Newey-West 7.2%;信号持续 20 天时普通 OLS 假阳性率 56.8%、Newey-West 8.8%」
📚 本节 code/overlap_bias.py,2026-07-31 于 ECS 实测(随机种子 20260731),输出见 code/outputs/stdout.txt✓ 已核验 2026-07
「有效样本量(N_eff ≈ N(1-ρ)/(1+ρ)):未来 1/5/10/20/60 日收益的一阶自相关为 0.020/0.804/0.903/0.956/0.985,有效样本约 3863/436/206/90/29,缩水 4.0%/89.1%/94.9%/97.7%/99.3%」
📚 同上实测(沪深300 指数)✓ 已核验 2026-07
「Newey-West 复核 P2:RSI 上穿 70(10 日)t 由 7.16 降至 5.04、(20 日)5.70→3.91;布林上轨(10 日)3.85→3.08、(20 日)4.48→3.47;OBV 顶背离(10 日)5.45→3.44、(20 日)4.24→2.35;六项均仍显著」
📚 同上实测(HAC 稳健标准误,maxlags=持有期)✓ 已核验 2026-07
「本节回归口径与 P2 的 Welch t 检验不同(回归比较信号日 vs 非信号日,P2 比较信号日 vs 全样本),故 t 值不完全可比」
📚 本节 code/overlap_bias.py(回归口径实现:信号日 vs 非信号日,与 P2 的全样本对比不同)✓ 已核验 2026-07
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p3.3
协整与配对交易
继续读下一节 →