概念笔记
回测偏差(优化 / 前视 / 幸存者 / 心理承受)
四大偏差合起来告诉一件事:回测收益几乎总是被吹高,实盘才是真相。QuantStart 把它们统称为「影响回测的偏差」,并给出结论——回测是实盘表现的理想化上界(idealised upper bound)。这四类偏差也是本站全部量化策略页的方法论底座:任何「回测年化 XX%」的结论,都要先过这一关再信。
一句话
回测偏差 = 四类系统性把回测结果吹高的机制:优化偏差(调参调到好看)、前视偏差(未来数据混进过去)、幸存者偏差(只测活到今天的标的)、心理承受偏差(实盘扛不住回撤中途放弃)。偏差几乎不可能消除,只能尽量压低;所以回测表现只该当「理想上界」看待。
当前理解
优化偏差(optimisation bias / curve fitting / data-snooping)
- 机制:为让策略在回测数据集上好看而不断调参、加参数;实盘换了一批数据就现形。
- 参数指什么:进出场标准、回看期、均线平滑期、波动率测量频率等。
- 缓解:参数个数压到最少;样本量加大(但老样本可能属于旧 regime,不再适用);对每个参数做灵敏度分析——绩效「曲面」平滑才可信,跳变多是测试数据的人工产物。
- 在本库的对应物:聚宽多回测与参数网格(多回测与参数网格分析(分位回测、超额评估))就是用「一批参数组合 + 超额评估」代替手调,本质是在对冲这种偏差;指标效果统计(指标效果的历史频率统计(赢平输频次与最佳区间))用「赢平输频次 + 样本量门槛」避免拍脑袋定阈值。
前视偏差(look-ahead bias)
- 机制:模拟走到时刻 N,却混进了 N+k(k>0)、当时实际拿不到的数据。三个常见来源:索引错位的技术 bug;用全样本(含未来)算线性回归系数再回溯应用;用当期才知道的高/低价(OHLC 极值)做当期决策——高/低价至少要滞后一期。
- 作者点明:它常是「实盘明显跑输回测」的头号原因。
- 在本库的对应物:任何用到「当日最高/最低价突破」信号的策略(如海龟的唐奇安通道)都要警惕极值只在收盘后确定——回测引擎若用当日盘中极值撮合当日信号,就引入了它。
幸存者偏差(survivorship bias)
- 机制:数据集只含「活到今天」的标的,把已退市的排除了。在 2001 年崩盘前后测科技股,只测挺过来的那批,等于预先知道谁成功。
- 它是前视偏差的一个特例:未来信息(谁活下来)被放进过去分析。
- 缓解:买含退市实体的无偏数据集(贵,机构用);别默认 Yahoo Finance 干净(零售常用,但它有幸存者偏差);用更近的数据 + 从当下自建无偏集,3–4 年见成效;或做不太沾该偏差的资产(部分商品期货)。
- 在本库的对应物:A 股因子/小市值回测(因子选股(排名 / 打分 / 阈值筛选)、回测评价三指标(收益 / 最大回撤 / 交易次数))依赖的历史成分与退市处理——聚宽历史快照能否还原「当时可选的全集」直接决定回测真假。
心理承受偏差(psychological tolerance bias)
- 机制:回测 5 年以上,整体向上的曲线让人以为能承受回撤。典型例:动量策略最大回撤 25%、最长回撤期 4 个月——回测里觉得能忍,实盘极难熬,策略常在长回撤中被停掉,于是实盘远差于回测。
- 它不算统计偏差,是行为偏差:算法再自动化,决定「停不停」的仍是人。
- 缓解:回测出现某百分比/时长的回撤,就按「实盘会重现」做预案;准备好坚持到重新盈利。
成本与数据层面的「隐性偏差」
- QuantStart Part II 补充两类回测比实盘好看的非统计来源:交易成本被低估(滑点与市场冲击是分水岭,动量策略滑点尤其大)与数据不干净(免费合成 OHLC 报价带异常极值与 tick 错误,策略用 OHLC 极值信号会失真)。详见 交易成本(佣金、规费、过户费与印花税)。
- 含义:回测要贴近实盘,除了压统计偏差,还要建模成本、选对数据、正确撮合市价/限价单。
来源
- 回测是什么:影响回测的四大偏差与软件选型(QuantStart) — 四大偏差的完整定义、例子与缓解(QuantStart Part I)
- 交易成本建模与回测引擎的实现细节(QuantStart) — 成本模型谱系、订单类型与 OHLC 数据问题(QuantStart Part II)
- raw 路径:
原始出处(已归档)、02-….md - 关联:回测评价三指标(收益 / 最大回撤 / 交易次数)(「回测三指标」回答赚不赚/稳不稳/信不信,偏差回答「信不信」的深层问题)、多回测与参数网格分析(分位回测、超额评估)(优化偏差的对冲工具)、交易成本(佣金、规费、过户费与印花税)(成本层面的隐性偏差)、QuantStart 算法交易回测方法论(Part I–II)(系列总览)
常见混淆
- 优化偏差 ≠ 只是「过拟合」:过拟合指模型吃掉噪音,优化偏差指为回测好看而调参——是同一家族的不同名字(曲线拟合、数据窥探都是别名),别当三种独立问题。
- 幸存者偏差 ≠ 独立新偏差:它本质是前视偏差的特例——「谁活到今天」是未来信息。作者明确点出这层关系。
- 前视偏差 ≠ 只来自代码 bug:参数用全样本回归、当期用 OHLC 极值都是隐蔽来源,别只查索引。
- 心理承受偏差 ≠ 统计偏差:它发生在「人要不要继续跑策略」的决策层,统计上回测没错,错在实盘执行被情绪中断。
- 回测差 ≠ 策略差(未必):偏差主要是「吹高」,但反过来也有策略回测保守、实盘更好的情况——不能把「回测差所以策略差」当成铁律。
- 别把「回测 = 上界」理解成回测一定虚高固定比例:偏差大小随策略、数据、频率而变,没有统一折扣系数。
开放问题
- A 股语境下四类偏差分别有多重:退市股历史数据可得性、指数成分快照是否含已退市者、涨跌停对回测撮合的影响——本站现有素材未量化 [需要验证]。
- QuantStart 只讲「尽量压低」,没给系统化的样本外/前推(walk-forward)验证流程;那套做法在本库暂无专页,后续可收。
- 「灵敏度曲面平滑才可信」是经验法则,怎样算「平滑」没有判据;参数网格(多回测与参数网格分析(分位回测、超额评估))的分位回测是它的一种可操作化,但判据仍待讨论。
来源
更新 2026-09-06