在挖掘因子或开发量化模型的过程中经常会遇到一些「坑」,比较突出的有幸存者偏差、使用未来数据、过度拟合等。
大多数人都听过幸存者偏差,也知道它的意思,但可能都没有认真想过这个偏差的影响会有多显著。比如,我们用沪深 300 指数的当前成分股来进行回测,从现在的成分股中计算因子值,然后回测其在历史中的表现。由于指数每半年都会进行成分股调整,留在指数中的股票一般都是好的股票,这会使回测结果比实际结果好。要避免踩「坑」,就要用到时点数据(Point in Time, PIT 数据)进行回测,要按照数据当时公布的状态如实记录,不能事后去修正。比如,股票 A 在上年年底的时候退市了,有的回测数据可能就会把股票 A 从数据库中删除,在回测的时候就永远不会选到它,但这种处理显然不合理。如果用 PIT 数据,就要如实地保留股票 A,因为在它发布退市公告前我们并不知道股票 A 何时会退市,是有可能会选到这只股票的。
前文提到,使用未来数据也称为「前视偏差」,就是在回测中使用了当下还未公布的数据。最常见的是财务报告,上市公司的年报通常是第二年的 3、4 月份才会公布,而报告期都是前一年的 12 月 31 日,做回测的时候很容易在第二年的 1 月份就引用了这些年报数据,比如净利润;或者间接引用这些数据,比如计算市盈率时采用的净利润。避免使用未来数据的方法也比较简单,就是在回测时坚持使用 PIT 数据。
此外,过度拟合是一类经常遇到的坑,也是量化投资的致命风险,特别是一些可以设置参数的指标。比如动量指标,可以用过去 20 天的收益率来定义,也可以用过去 50 天的收益率来定义。在某一个时间段内,总是能找到一个最优的参数,比如 30 天,使得在这段时间内的动量指标具有最高的预测能力,但往往过了这段时间这个参数的动量指标就不管用了。过度拟合问题与提高预测精度在样本内并不容易区分,通常需要通过样本外的检验进行判断,如果样本内表现很好而样本外表现很差,往往就是因为样本内过度拟合了。通常来说,指标的参数越多,就越容易存在过度拟合的问题。
 
(本章节完结)