3. 幸存者偏差入门

一、核心原理:我们看到的样本,是被“筛选”过的

幸存者偏差(Survivorship Bias)是一种典型的样本选择偏差:当我们只统计“最终仍然存在”的个体,而忽略那些已经消失、退出、破产、下架或被淘汰的个体时,就会系统性地高估某种策略、资产或群体的真实表现。它的危险不在于数据算错,而在于数据从一开始就不完整。

用一句话概括:你看到的不是全部样本,而是经过生存筛选后的子样本。在投资与回测中,这种筛选往往由数据库、指数编制规则、基金清盘机制、退市制度等“看不见的手”完成。你以为自己在研究“市场”,实际上研究的是“活到今天的市场”。

其数学直觉可以这样表达:设全体样本为 N,其中存活样本为 S,真实期望为 E[N],而你可观测的期望为 E[S]。由于 S 剔除了表现差、风险高、已退出的个体,通常有 E[S] > E[N]。回测若基于 S,收益会被高估,风险会被低估。

二、来源:幸存者偏差从哪里进入数据

幸存者偏差不是单一错误,而是多个环节共同作用的结果。常见来源包括:

  • 数据库只保留当前存在的标的:已退市股票、已清盘基金、已违约债券被删除,历史行情随之消失。
  • 指数成分股回溯调整:今天的指数成分是“赢家”,用今天的成分去回测过去,等于提前知道谁活了下来。
  • 基金业绩展示:表现差的基金清盘后不再披露,存续基金的平均业绩被抬高。
  • 策略研究中的样本筛选:研究者只保留有完整历史数据的标的,而完整数据本身与存活高度相关。
  • 信息传播与叙事:媒体只报道成功者,失败者沉默,导致对成功概率的误判。

这些来源可以归纳为一条链:退出机制 → 数据删除 → 样本偏移 → 统计高估 → 决策误导。理解这条链,才能在回测中定位偏差入口。

三、直观案例:从“基金平均收益”到“回测曲线”

假设某市场十年间共有 1000 只基金,其中 400 只因业绩差、规模小被清盘,600 只存续至今。若只统计存续的 600 只,平均年化收益为 8%;而把已清盘的 400 只纳入,平均年化仅 3%。这 5 个百分点的差距,就是幸存者偏差的直接体现。

在股票回测中,问题更隐蔽。假设你使用“当前仍在交易的股票池”回测 2010—2020 年动量策略。那些在 2015 年退市、2018 年暴雷的股票从未进入样本,策略自然避开了大量尾部风险。回测曲线因此更平滑、夏普更高,但实盘无法复制。

关键判断:当回测收益显著高于同类实盘、回撤异常小、且标的池“恰好”都是知名公司时,应优先怀疑幸存者偏差。

四、影响:从统计指标到实盘决策的全面失真

幸存者偏差的影响不是“略微乐观”,而是系统性的。它至少体现在四个层面:

影响层面 具体表现 后果
收益估计 年化收益、超额收益被高估 预期回报不切实际
风险评估 波动率、最大回撤被低估 仓位过重、风控失效
因子有效性 因子IC、分组收益被夸大 选股信号实盘衰减
策略容量 流动性、冲击成本被忽略 规模一放大就失效

更严重的是,幸存者偏差会与过拟合、前视偏差叠加,形成“三重放大”。回测看起来完美,实盘却持续亏损,研究者往往归因于市场变化,而真正的问题在样本构建阶段就已埋下。

五、方法流程:识别与缓解幸存者偏差

在实战中,可按以下流程处理:

  1. 确认样本 universe 是否 point-in-time:每个历史时点应包含当时真实存在的全部标的,而非当前存续标的。
  2. 纳入已退出标的:退市、清盘、违约的标的必须保留其历史数据,并标注退出原因与时间。
  3. 使用历史成分股:指数回测应采用历史成分名单,而非最新成分回溯。
  4. 检查数据缺失模式:若缺失集中在差标的,说明偏差已进入数据。
  5. 做敏感性对比:分别用“含退出样本”和“仅存续样本”回测,观察指标差异。
# 伪代码:构建 point-in-time 股票池
for date in trading_days:
    universe = get_listed_stocks(date)      # 当时已上市
    universe -= get_delisted_before(date)   # 剔除已退市
    universe += get_delisted_on(date)       # 当日退市仍纳入
    run_strategy(universe, date)
若数据库无法提供已退市标的,至少应在报告中声明该限制,并将回测结果视为“乐观上界”,而非真实预期。

六、误区与复盘

误区一:只要数据量大就没有幸存者偏差。数据量再大,若退出样本被删除,偏差依然存在。

误区二:用当前指数成分回测长期表现是行业惯例。惯例不等于正确,它恰恰是偏差的常见来源。

误区三:幸存者偏差只影响股票,不影响基金和债券。任何有退出机制的领域都存在,包括基金清盘、债券违约、加密货币归零。

复盘时,建议追问三个问题:我的样本里,谁消失了?它们为什么消失?如果把它们加回来,结论还成立吗?能回答这三个问题,才算真正入门幸存者偏差。