回测的坑:幸存者偏差
一句话速览
退市的公司会从数据里消失,于是回测的世界比真实世界友好得多。
这节课要你带走的
幸存者偏差在美股回测里的具体形态,以及一个自己就能做的检验。
回测的世界比真实世界友好, 因为失败的那些已经从数据里消失了。
它在美股的三种形态
二、指数成分是事后的
用当前的指数成分去回测过去, 等于假设你在几年前就知道哪些公司会被纳入指数。
而被纳入通常发生在公司已经成功之后。
三、策略本身的幸存
你看到的公开策略,是从大量被测试过的策略里挑出来的那些。
失败的策略不会被发表, 所以「这个策略回测很好」这句话的信息量比看起来小。
这个偏差有多大
它的方向永远是同一个:让回测结果好于真实。
而且它对高风险策略的影响更大, 因为那些策略在真实世界里更容易碰到退市和暴跌的公司。
一个自己就能做的检验
问一句:如果这段时间里有公司退市,我的回测会怎么处理
如果答案是「数据里没有退市的公司」, 那你的回测结果就有系统性偏差。
知道这一点之后,正确的做法不是修正数据 (个人很难做到),而是把回测结果往差里打折。
相关的一个偏差
选择偏差。 你在筛选标的时用的条件, 可能已经隐含了「这家公司后来表现不错」这个信息。
典型例子:用「过去五年营收持续增长」来筛选, 那五年的数据在当时是拿不到的。
正确的态度
不是不做回测,是知道回测能回答什么。
它能回答:这套规则在这段历史上的表现如何、 最大回撤有多大、连亏最长几笔。
它不能回答:这套规则未来能赚多少。
而前者对定仓位有用 (见 U5-10), 这已经是回测最大的价值了。
做
今天就做这一件事
如果你做过任何回测,问一句:这段时间里退市的公司在不在数据里?
如果不在,把回测结果打个折再用。
带走这一条:幸存者偏差在美股的三种形态是退市公司从数据消失、指数成分是事后的、以及策略本身的幸存(失败的策略不会被发表)。它的方向永远是让回测好于真实,且对高风险策略影响更大。检验方法是问退市公司在不在数据里,知道之后正确做法是把结果往差里打折而不是试图修正数据。回测能回答规则在这段历史上的表现和最大回撤,不能回答未来能赚多少。