量化概念 15:幸存者偏差(消失的样本,恰恰是亏得最惨的那批)
二战时,军方统计返航飞机的弹孔分布,发现机翼和机尾弹孔最多,准备给这些地方加固。统计学家 Wald 反对:被打中要害的飞机根本没飞回来,弹孔多的地方恰恰说明不是要害。用"活下来的样本"做统计,结论天然是错的——这就是幸存者偏差(survivorship bias)。
什么是幸存者偏差
用现在还存在的样本去回测历史,把已经消失的部分排除在外。消失的是什么?是退市的、破产的、被并购的股票——往往也是跌得最惨、甚至归零的那批。它们不在今天的股票列表里,所以被悄悄排除了,回测收益因此系统性高估。

它藏在哪里
股票池:用"今天还在"的股票回测五年前。今天还在的股票,是五年前那一批里活下来的——表现差的那部分早就被淘汰了,样本里只剩下"当时涨得好的"。
指数成分:用当前的沪深 300 成分回测历史。指数本身会调仓,弱股被踢出、强股被纳入,当前成分天然是历史的"优等生"。
基金业绩:统计基金平均收益时,清盘、合并的基金会从榜单消失。活着的基金平均表现,比所有成立过的基金平均表现好看得多。
因子研究:只用存活公司的数据验证因子,结论建立在"活下来才被观察"的样本上。
影响有多大
一个数值例子。100 只股票,90 只活着、平均涨 50%;10 只退市、平均跌 90%(归零边缘)。
- 只看幸存者:平均 +50%
- 含退市股的真实平均:(90 × 50% + 10 × (-90%)) ÷ 100 = +36%

虚高约 14 个百分点。回测里那些漂亮的年化数字,有一部分就是这么来的。偏差的方向是固定的——只看幸存者,永远高估,没有"碰巧低估"的可能。
怎么避免
- 样本包含退市股:拉数据时把退市、暂停上市的股票一起纳入,退市后用最后价格或零处理
- 时点样本:回测每个历史时点,用"当时存在的股票",而不是今天的列表
- 指数用历史成分:回测指数相关策略时,用当时的成分股,不是现在的
- 口径自查:样本里有没有一只退市股?一个都没有,就要怀疑样本是不是被幸存者偏差污染了
常见误区
- 用今天的股票池回测五年前:这是最典型的双倍偏差——既用了幸存者,又用了未来信息
- 以为退市股影响小:比例可能不大,但它们亏得最多,对均值的拖累远超占比
- 只看基金排行榜:榜单本身就没有清盘的基金,数字天然偏乐观
- 样本"很干净"就觉得安全:干净过头往往意味着把历史淘汰的股票都清掉了
小结
幸存者偏差,是用活下来的样本回测历史,把亏得最惨的那批悄悄排除。它藏在股票池、指数成分、基金业绩里,方向固定、只高估不低估。避免的核心是一条:样本里必须包含退市股,历史时点用当时的股票——看到特别漂亮的回测,先检查样本里有没有"死过"的股票。
寒蝉 Hancic

