研报&论文

【研报分享】华泰金工林晓明团队-基于CSCV框架的回测过拟合概率——华泰人工智能系列之二十二

由small_q创建,最终由small_q 被浏览 92 用户

报告摘要

基于CSCV框架计算三组量化研究案例的回测过拟合概率

本文基于组合对称交叉验证(CSCV)框架,以三组量化研究为案例展示回测过拟合概率(PBO)的计算流程,发现两组多因子选股模型的PBO较低,择时模型的PBO较高。案例1为7种机器学习模型的多因子选股策略,指数增强组合PBO大多在15%~50%,“XGBoost表现最佳”的结论大概率不是回测过拟合。案例2为6种交叉验证方法的多因子选股策略,多空组合PBO在20%~50%,“分组时序交叉验证表现最佳”的结论大概率不是回测过拟合。案例3为双均线50ETF择时策略,PBO在50%~90%,“参数组合[11,30]和[11,24]表现最佳”的结论可能为回测过拟合。

过拟合可分为两个层次:训练过拟合和回测过拟合

华泰人工智能系列多项研究探讨过拟合。过拟合可分为训练过拟合和回测过拟合两个层次。训练过拟合是机器学习语境下偏狭义色彩的过拟合,是指机器学习模型在训练集表现好,在测试集表现差,产生原因是模型超参数选择不当或者模型过度训练,解决方案是采用合理的交叉验证方法选择模型超参数或迭代次数。回测过拟合是量化研究语境下偏广义色彩的过拟合,是指量化模型在回测阶段表现好,在实盘阶段表现差,产生原因是市场规律发生变化,或者对回测期数据噪音的过度学习。回测过拟合难以根除,相对合理的解决方案是借助量化指标检验回测过拟合程度。

核心思想是计算“训练集”夏普比率最高的策略在“测试集”的相对排名

CSCV框架下回测过拟合概率的核心思想是:计算“训练集”夏普比率最高的策略,在“测试集”中的相对排名,如果相对排名靠前,代表回测过拟合概率较低,反之则代表回测过拟合概率较高。“训练集”和“测试集”的划分基于组合的思想,将全部回测时间划分成S份,任取其中S/2份拼接得到“训练集”,剩余S/2份拼接得到“测试集”,分别计算各条策略的夏普比率,进而得到相对排名,并重复多次,将相对排名大于50%即排在后一半的概率视作回测过拟合概率。回测过拟合概率的计算相对简单,不仅适用于机器学习策略,还能推广到其它类型的量化策略。

探讨回测过拟合概率计算过程中的各项细节

回测过拟合概率的计算过程中包含多项细节。将长度为T的全部回测时间划分成S份,每份回测时间长度为T/S。T/S越小,组合次数越大,计算时间开销越大;T/S越大,组合次数越小,策略排名结果受偶然性因素影响更大,实际使用时建议采用较小的T/S比。对策略进行排名时一般采用夏普比率,也可以根据实际需要选择其它评价指标,例如本文的指数增强组合采用信息比率进行排名更为合理。

风险提示:多因子选股和择时等量化模型都是对历史投资规律的挖掘,若未来市场投资环境发生变化,则量化投资策略存在失效的可能。回测过拟合概率是将历史回测表现的时间序列经过简单打乱重排计算得到,忽略回测的路径依赖特性,存在过度简化的可能。

研究背景

回测(Backtesting)是量化策略研究中必不可少的环节,也是量化投资和传统主动投资的重要区别之一。回测的本质是将某种可被精确刻画的投资策略,在历史中进行推演和复现,通过该策略在历史上的表现,推测它在未来的表现,进而对多组策略加以取舍,形成最终的投资决策。回测这一研究手段的前提假设是历史会在未来重演。

那么,历史会重演吗?这个问题恐怕没有人能回答。如果未来金融市场的规律发生改变,那么历史回测表现好的投资策略,在未来可能变差。投资策略在未来表现弱于历史回测表现的现象称为“回测过拟合”(Backtest Overfitting)。市场规律发生变化是回测过拟合的原因之一。

如果市场规律不变,历史回测表现好的策略在未来表现就会好吗?如果投资策略在历史回测表现好,仅仅源于捕捉到个别股票、个别因子或者个别时间段的极端收益,相当于捕捉到数据中的噪音,那么该策略在未来表现很可能出现退化。模型对回测期数据噪音的过度学习是回测过拟合的另一个原因。

平心而论,回测并不是“科学”的研究手段。和自然科学的研究相比,如果想要探究温度、光照对植物光合作用的影响,那么可以采用控制变量法,控制其它影响因素不变,仅改变温度或光照,比较实验组和对照组的反应产物含量并得出结论。然而,社会科学尤其是金融领域的研究难以开展实验,很多时候只能基于历史挖掘规律。历史上的规律以及基于规律开发的投资策略完全有可能由随机因素促成,就像是中彩票,相同的号码在未来会有多少概率再次中奖呢?

尽管回测这一研究手段存在过拟合的风险,无法得出“科学”的研究结论,对于量化策略开发者来说,它仍然是最好的研究工具之一。回测一定程度上反映了策略的优劣,在实践中我们通常根据回测结果评估策略表现,或是比较不同策略的回测结果来选择模型或选择参数组合。

此时,认识和测量回测过拟合的风险就显得尤为重要。在华泰金工《人工智能19:重采样技术检验过拟合》(20190422)中,我们借助Bootstrap重采样技术构建A股市场“平行世界”,并提出两种回测过拟合概率的测量方法。本文我们将采用另一种思路,基于Bailey、Borwein、López de Prado和Zhu在2017年发表的论文《The Probability of Backtest Overfitting》中提出的组合对称交叉验证(CSCV)框架,系统性地介绍回测过拟合概率的测量方法,并且以实例展示不同类型量化策略的回测过拟合风险。

回测过拟合概率

过拟合的两个层次:训练过拟合和回测过拟合

华泰人工智能系列的多项研究探讨“过拟合”。在不同语境下,“过拟合”的含义有所不同。我们认为过拟合可以分为两个层次:训练过拟合和回测过拟合。

训练过拟合是机器学习语境下偏狭义色彩的过拟合。它是指机器学习模型在训练集表现好,在测试集表现差,如下图所示。训练过拟合的产生原因是模型超参数选择不当(如树集成模型),或者模型过度训练(如神经网络模型)。训练过拟合的问题可被解决,解决方案是采用合理的交叉验证方法选择模型超参数或者迭代次数。交叉验证方法在《人工智能14:控制过拟合:从时序交叉验证谈起》(20181128)和《人工智能16:再论时序交叉验证控制过拟合》(20190218)中有详细论述。

{w:100}{w:100}

回测过拟合是量化研究语境下偏广义色彩的过拟合。它是指量化模型在回测阶段表现好,在实盘阶段表现差,如下图所示。回测过拟合的产生原因在研究背景中已有论述,主要是市场规律发生变化,或者源于模型对回测期数据噪音的过度学习。回测过拟合的问题难以根除,相对合理的解决方案是测量回测过拟合的概率,以检验回测过拟合的程度。

{w:100}{w:100}

在华泰金工《人工智能19:重采样技术检验过拟合》(20190422)中,我们基于Bootstrap重采样技术,提出两种测量方法:1)“平行世界”中各策略回测指标的单因素方差分析的P值;2)“真实世界”最优策略在“平行世界”表现最优的概率。然而,上述两种测量方法存在两处缺陷:1)计算过程依赖重采样得到“平行世界”,计算量相对较大;2)只适用于机器学习选股框架,无法推广到其它类型的量化策略。

本文基于Bailey、Borwein、López de Prado和Zhu在2017年发表的论文《The Probability of Backtest Overfitting》中提出的组合对称交叉验证(CSCV)框架,介绍回测过拟合概率的另一种测量方法。

回测过拟合概率PBO的定义

PBO(Probability of Backtest Overfitting)是定量衡量回测过拟合风险的指标,计算方式基于Bailey、Borwein、López de Prado和Zhu在2017年提出的组合对称交叉验证(Combinatorially-Symmetric Cross-Validation,简记为CSCV)框架。假设以夏普比率(Sharpe Ratio,简记为SR)作为框架中的策略评价指标,那么PBO可按如下方式定义:

{w:100}{w:100}

其中,SR表示“测试集”各组策略的夏普比率,n*表示“训练集”表现最好(夏普比率最高)的那组策略,ME表示中位数。注意到这里的“交叉验证”、“训练集”和“测试集”并不完全等价于机器学习传统意义上的相关概念,但是有异曲同工之处。

{w:100}{w:100}

上述定义的含义是:“训练集”夏普比率最高的策略n*,在“测试集”的夏普比率也应该较高,表现至少应优于一半的策略。如果策略n的测试集夏普比率排名在后50%,那么很有可能属于回测过拟合。回测过拟合的概率,即为最优策略n的测试集夏普比率排名位于后50%的概率。

PBO的定义引申出新的问题:对于量化策略,尤其是非机器学习策略,通常不存在“训练集”和“测试集”的概念。PBO是如何根据回测结果划分“训练集”和“测试集”呢?下面我们展示PBO的计算步骤:

{w:100}{w:100}

{w:100}{w:100}

{w:100}{w:100}

{w:100}{w:100}

PBO的计算框架包含以下优点:

  1. 保证“训练集”和“测试集”样本量相同,使得夏普比率具有可比性;
  2. 各组策略关系对等,排除其它影响夏普比率因素的干扰;
  3. 划分数据时将回测时间T划分为S个子集,每个子集内部保留原始时序。
  4. 该框架为非参模型,无需过多假设。
  5. 具备灵活性,可以根据实际情况将夏普比率换成其它策略评价指标。

方法

我们针对三组量化研究案例计算回测过拟合概率。三组案例的基本信息如下表所示。

{w:100}{w:100}

案例1基于华泰金工《人工智能选股周报》。我们跟踪Stacking、SVM、朴素贝叶斯、随机森林、XGBoost、逻辑回归、神经网络7条机器学习策略在月频多因子选股的表现。对于每一种机器学习方法,首先将选股模型在每个月末截面期对每只股票的打分视作单因子,进行单因子分层测试;其次根据打分构建中证500指数增强组合,在全部A股中选股,组合构建时相对于中证500指数进行行业中性和市值中性处理。

案例1的回测起始日期为2011年2月1日,为了保证回测月份T包含尽可能多的偶因数从而便于划分子矩阵,我们取回测结束日期为2019年1月31日,即包含完整的96个月共8年数据。此时,子矩阵包含月份T/S可以取6、8、12、16、24、48。在这8年的回测区间内,XGBoost模型在单因子回测和指数增强组合上的表现均优于其余6条策略,如下面四张图所示。我们将检验“XGBoost策略表现最优”结论的回测过拟合概率。

{w:100}{w:100}

{w:100}{w:100}

{w:100}{w:100}

{w:100}{w:100}

案例2基于华泰金工《人工智能16:再论时序交叉验证对抗过拟合》(20190218)。我们比较时序、分组时序、K折以及三种基线模型(训练集折半的K折、乱序递进式、乱序分组递进式)共6条策略在月频多因子选股的表现。这6条策略均为逻辑回归或均为XGBoost模型,区别在于使用的交叉验证调参方法不同。对于每一种交叉验证方法,我们进行单因子分层测试。 案例2的回测起始和结束日期和案例1相同,回测区间均为2011年2月1日~2019年1月31日共96个完整月份。子矩阵包含月份T/S取6、8、12、16、24、48。在这8年的回测区间内,无论是逻辑回归还是XGBoost,分组时序交叉验证的多空组合表现均优于其余5条策略,XGBoost模型下分组时序交叉验证的优势更明显,如下面两张图所示。我们将检验“分组时序交叉验证策略表现最优”结论的回测过拟合概率。

{w:100}{w:100}

{w:100}{w:100}

案例3考察基于不同参数组合的50ETF双均线择时模型。择时标的为华夏上证50ETF基金(510050.OF)。择时信号根据短均线、长均线的关系确定:若以T日收盘价计算的短均线自下而上穿过长均线,并且当前状态为空仓时,则以T+1日收盘价开仓做多;若以T日收盘价计算的短均线自上而下穿过长均线,并且当前状态为开仓时,则以T+1日收盘价平仓。

案例3的双均线择时模型包含两个关键参数:短均线长度和长均线长度。我们采用两条方案确定参数:1)任选7组备选参数([5,6]、[7,12]、[9,20]、[11,30]、[15,26]、[19,30]、[29,30]),从中选择回测夏普比率最高的那组参数;2)对短均线长度=5,7,…,29和长均线长度=6,8,…,30进行网格搜索,其中短均线长度需小于长均线长度,共91组备选参数,从中选择回测夏普比率最高的那组参数。

案例3的回测区间为2005年4月1日~2019年3月29日共168个完整月份。子矩阵包含月份T/S取12、14、21、28、42。交易费率为单边万二点五。在这14年的回测区间内,参数组合[11,30]在7组备选参数中表现最优,如下图所示;参数组合[11,24]在91组备选参数中表现最优。我们将分别检验上述两项结论的回测过拟合概率。

这里需要说明的是,案例1、2的回测区间长度和案例3不同。原因在于案例1、2的机器学习多因子选股模型需要72个月的训练数据,从而导致回测起始日期只能从稍晚的 2011年2月初开始,到2019年1月底为止,包含完整的8年;而案例3的择时模型最长只需要1个月的数据用来计算长均线,因此回测起始日期可以从较早的2005年4月初开始,到2019年3月底为止,包含完整的14年。


{w:100}{w:100}

结果

案例1:基于不同机器学习算法的多因子选股模型

我们展示不同T/S比(子矩阵包含月份)下,训练集最优策略在测试集的相对排名ω的分布情况,ω越小说明测试集表现越好。例如ω=12.5%代表训练集最优策略在测试集7条策略中排名第1(最优情况),ω=87.5%代表训练集最优策略在测试集7条策略中排名第7(最差情况)。

图中不同T/S比以不同颜色表示,例如T/S=6代表将96个回测月份以连续6个月为一组划分成16组,任取其中8组为训练集,剩余8组为测试集,共12870种组合方式;T/S=48代表将96个回测月份以连续48个月为一组划分成2组,任取其中1组为训练集,剩余1组为测试集,共2种组合方式。

左下图展示单因子分层测试多空组合的训练集最优策略在测试集的相对排名分布。对于各种T/S比,相对排名集中在12.5%的水平,说明训练集多空组合排名第1的策略在测试集大概率也排名第1,单因子分层测试多空组合的回测过拟合可能性较低。

右下图展示单因子分层测试Top组合的训练集最优策略在测试集的相对排名分布。对于T/S比为6、8、12、16、24这五种情形,相对排名集中在12.5%和25.0%的水平,说明训练集Top组合排名第1的策略在测试集大概率排在第1或第2,单因子分层测试Top组合的回测过拟合可能性较低。

对于T/S比为48的情形,相对排名50%的概率落在25.0%水平,50%的概率落在87.5%水平。实际上,T/S比为48时,训练集和测试集的组合方式只有两种,换言之训练集多空组合排名第1的策略在测试集一次落在第2,一次垫底。考虑到组合方式过少时,策略排名结果可能受偶然性因素影响更大,得到的结论未必客观。后面的分析中我们将不考虑T/S比为48的情况。

{w:100}{w:100}

{w:100}{w:100}

左下图展示中证500增强组合净值的训练集最优策略在测试集的相对排名分布。对于除T/S=48外的各种T/S比,相对排名分布相对均匀,说明中证500增强组合净值看似存在回测过拟合的可能。然而,对于指数增强组合而言,净值的夏普比率并不是好的评价指标,指数增强的目标是在获得超额收益的同时控制跟踪误差,信息比率(相当于超额收益净值的夏普比率)是更合理的评价指标。 右下图展示中证500增强组合超额收益净值的训练集最优策略在测试集的相对排名分布。此时,对于除T/S=48外的各种T/S比,相对排名集中在25.0%和37.5%的水平,说明训练集信息比率排名第1的策略在测试集大概率排在第2或第3,指数增强组合的回测过拟合可能性相对较低。

{w:100}{w:100}

{w:100}{w:100} 总的来看,对于单因子分层回测的多空组合和Top组合,以及构建的中证500指数增强组合,回归过拟合可能性均较低。我们统计相对排名大于等于50%的概率,得出回测过拟合概率PBO,结果如下表所示。排除指数增强组合夏普比率PBO以及T/S=48这两种情形,其余各评价指标的PBO整体较低。当T/S=8时,多空组合的PBO为7.4%,Top组合的PBO为20.6%,指数增强组合超额收益净值的PBO为34.5%。这表明案例1的结论“XGBoost策略表现最优”有较大的概率不是回测过拟合。

{w:100}{w:100}

案例2:基于不同交叉验证方法的多因子选股模型

左下图展示逻辑回归模型单因子分层测试多空组合的训练集最优策略在测试集的相对排名分布。对于各种T/S比,相对排名分布相对均匀,整体偏向50%的左侧,说明训练集多空组合排名第1的策略在测试集大概率排名前50%,逻辑回归模型单因子分层测试多空组合的回测过拟合可能性较低。

右下图展示XGBoost模型单因子分层测试多空组合的训练集最优策略在测试集的相对排名分布。对于各种T/S比,相对排名集中在28.6%的水平,说明训练集多空组合排名第1的策略在测试集大概率排名第2,XGBoost模型单因子分层测试多空组合的回测过拟合可能性较低,并且比逻辑回归模型的回测过拟合程度更低。

{w:100}{w:100}

{w:100}{w:100} 我们统计相对排名大于等于50%的概率,得出回测过拟合概率PBO,结果如下表所示。总的来看,除T/S比为48的情形外,逻辑回归多空组合夏普比率PBO在20%~50%之间,XGBoost多空组合夏普比率PBO在10%~40%之间,两者的回测过拟合概率均较低,这表明案例2的结论“分组时序交叉验证策略表现最优”有较大概率不是回测过拟合。同时,XGBoost的回测过拟合概率低于逻辑回归,这也和此前的研究结论相符,逻辑回归本身不易发生训练过拟合,因此分组时序交叉验证为逻辑回归带来的提升有限。

{w:100}{w:100}

案例3:基于不同参数组合的50ETF双均线择时模型

左下图展示在7组备选参数下的训练集最优策略在测试集的相对排名分布。对于各种T/S比,相对排名集中在62.5%和75.0%的水平,说明训练集多空组合排名第1的择时参数在测试集大概率排名第5或第6(即倒数第3或倒数第2),回测过拟合可能性较高。

{w:100}{w:100}

{w:100}{w:100}

右上图展示在全部91组备选参数下的训练集最优策略在测试集的相对排名分布。对于各种T/S比,相对排名较为均匀,整体偏向50%右侧,说明训练集多空组合排名第1的择时参数在测试集大概率排名后50%,回测过拟合可能性较高。

我们统计相对排名大于等于50%的概率,得出回测过拟合概率PBO,结果如下表所示。除T/S为42的情形外,7种参数选择方式下的PBO在70%~90%之间,91种参数选择方式下的PBO在50%~70%之间,两者的回测过拟合概率均较高。这表明案例3的结论“参数组合[11,30]在7组备选参数中表现最优”和“参数组合[11,24]在91组备选参数中表现最优”有较大的概率是回测过拟合。案例3的择时模型相比于案例1、2的多因子选股模型更容易出现过拟合,这也和人们的认知相符。

{w:100}{w:100}

总结与讨论

本文基于组合对称交叉验证(CSCV)框架,以三组量化研究为案例展示回测过拟合概率(PBO)的计算流程,发现两组多因子选股模型的回测过拟合概率较低,择时模型的回测过拟合概率较高。案例1为7种机器学习模型的多因子选股策略,指数增强组合PBO大多在15%~50%之间,“XGBoost模型表现最佳”的结论大概率不是回测过拟合。案例2为6种交叉验证方法的多因子选股策略,多空组合PBO在20%~50%之间,“分组时序交叉验证方法表现最佳”的结论大概率不是回测过拟合。案例3为双均线50ETF择时策略,PBO在50%~90%之间,“参数组合[11,30]和[11,24]表现最佳”的结论大概率是回测过拟合。

华泰人工智能系列多项研究探讨过拟合。过拟合可分为训练过拟合和回测过拟合两个层次。训练过拟合是机器学习语境下偏狭义色彩的过拟合,是指机器学习模型在训练集表现好,在测试集表现差,产生原因是模型超参数选择不当或者模型过度训练,解决方案是采用合理的交叉验证方法选择模型超参数或迭代次数。回测过拟合是量化研究语境下偏广义色彩的过拟合,是指量化模型在回测阶段表现好,在实盘阶段表现差,产生原因是市场规律发生变化,或者对回测期数据噪音的过度学习。回测过拟合难以根除,相对合理的解决方案是借助量化指标检验回测过拟合程度。

CSCV框架下回测过拟合概率的核心思想是:计算“训练集”夏普比率最高的策略,在“测试集”中的相对排名,如果相对排名靠前,代表回测过拟合概率较低,反之则代表回测过拟合概率较高。“训练集”和“测试集”的划分基于组合的思想,将全部回测时间划分成S份,任取其中S/2份拼接得到“训练集”,剩余S/2份拼接得到“测试集”,分别计算各条策略的夏普比率,进而得到相对排名,并重复多次,将相对排名大于50%即排名后一半的概率视作回测过拟合概率。回测过拟合概率的计算相对简单,不仅适用于机器学习策略,还能推广到其它类型的量化策略。

回测过拟合概率的计算过程中包含多项细节。将长度为T的全部回测时间划分成S份,每份回测时间长度为T/S。T/S越小,组合次数越大,计算时间开销越大;T/S越大,组合次数越小,策略排名结果受偶然性因素影响更大,实际使用时建议采用较小的T/S比。对策略进行排名时一般采用夏普比率,也可以根据实际需要选择其它评价指标,例如本文的指数增强组合采用信息比率进行排名更为合理。

附录

案例1方法

案例1中,我们跟踪Stacking、SVM、朴素贝叶斯、随机森林、XGBoost、逻辑回归、神经网络7条机器学习策略在月频多因子选股的表现。涉及的机器学习模型的详细介绍,可参见华泰人工智能系列报告。机器学习模型运用到多因子选股的流程如下:

  1. 数据获取:

a) 股票池:全A股。剔除ST股票,剔除每个截面期下一交易日停牌的股票,剔除上市3个月内的股票,每只股票视作一个样本。

b). 训练样本长度: 72个月。

  1. 特征和标签提取:每个自然月的最后一个交易日,计算70个因子暴露度,作为样本的原始特征;计算下一整个自然月的个股超额收益(以沪深300指数为基准),作为样本的标签。因子池如下表所示。
  2. 特征预处理:

a) 中位数去极值:设第T期某因子在所有个股上的暴露度序列为D_i,D_M为该序列中位数,D_M1为序列|D_i-D_M|的中位数,则将序列中所有大于D_M+5D_M1的数重设为D_M+5D_M1,将序列中所有小于D_M-5D_M1的数重设为D_M-5D_M1;

b) 缺失值处理:得到新的因子暴露度序列后,将因子暴露度缺失的地方设为中信一级行业相同个股的平均值。

c) 行业市值中性化:将填充缺失值后的因子暴露度对行业哑变量和取对数后的市值做线性回归,取残差作为新的因子暴露度。

d) 标准化:将中性化处理后的因子暴露度序列减去其现在的均值、除以其标准差,得到一个新的近似服从分布的序列。

  1. 训练集和交叉验证集的合成:

a) 分类问题:在每个月末截面期,选取下月收益排名前30%的股票作为正例(y=1),后30%的股票作为负例(y=0)。将训练样本合并,随机选取90%的样本作为训练集,余下10%的样本作为交叉验证集。

b) 回归问题:直接将样本合并成为样本内数据,同样按90%和10%的比例划分训练集和交叉验证集。

  1. 样本内训练:使用机器学习模型对训练集进行训练。
  2. 交叉验证调参:模型训练完成后,使用模型对交叉验证集进行预测。选取交叉验证集AUC(或平均AUC)最高的一组参数作为模型的最优参数。
  3. 样本外测试:确定最优参数后,以T月月末截面期所有样本预处理后的特征作为模型的输入,得到每个样本的预测值f(x)。使用预测值进行单因子分层测试,并构建中证500行业市值中性的全A选股组合。回测中的交易费用为单边千分之二。

单因子分层测试的方法如下:

  1. 股票池:全A股,剔除ST股票,剔除每个截面期下一交易日停牌的股票,剔除上市3个月以内的股票。
  2. 回测区间:2011-02-01至2019-01-31。
  3. 换仓:在每个自然月最后一个交易日核算因子值,在下个自然月首个交易日按当日收盘价换仓,交易费用以单边千分之二计。
  4. 分层方法:因子先用中位数法去极值,然后进行市值、行业中性化处理(方法论详见上一小节),将股票池内所有个股按因子从大到小进行排序,等分N层,每层内部的个股等权配置。当个股总数目无法被N整除时采用任一种近似方法处理均可,实际上对分层组合的回测结果影响很小。
  5. 多空组合收益计算方法:用Top组每天的收益减去Bottom组每天的收益,得到每日多空收益序列r1,r2,…,rn,则多空组合在第n天的净值等于(1+r1)(1+r2)…(1+rn)。
  6. 评价方法:全部N层组合年化收益率(观察是否单调变化),多空组合的年化收益率、夏普比率、最大回撤等。

{w:100}{w:100}

案例2方法

案例2中,我们比较时序、分组时序、K折以及三种基线模型(训练集折半的K折、乱序递进式、乱序分组递进式)共6条策略在月频多因子选股的表现。这6条策略均为逻辑回归模型或均为XGBoost模型,区别在于使用的交叉验证调参方法不同。所涉及的交叉验证方法如下图所示,详细介绍可参见华泰人工智能系列报告。

{w:100}{w:100}

案例2的选股流程中,前3步数据获取、特征和标签提取、特征预处理以及第7步样本外测试与案例1相同;4~6步略有区别,具体方法如下:

  1. 滚动训练集和验证集的合成:采用年度滚动训练方式,全体样本内外数据共分为八个阶段。例如预测2011年时,将2005~2010年共72个月数据合并作为样本内数据集;预测T年时,将T-6至T-1年的72个月合并作为样本内数据。根据不同的交叉验证方法,划分训练集和验证集,交叉验证的折数均为12。对于分组时序交叉验证,每次训练集长度均为6个月的整数倍,验证集长度均等于6个月。对于K折交叉验证和训练集折半的K折交叉验证,验证次数为12次;对于其余四种交叉验证方法,验证次数为11次。凡涉及将数据打乱的交叉验证方法,随机数种子点均相同,从而保证打乱的方式相同。
  2. 样本内训练:使用逻辑回归或XGBoost基学习器对训练集进行训练。

交叉验证调参:对全部超参数组合进行网格搜索,选择验证集平均AUC最高的一组超参数作为模型最终的超参数。不同交叉验证方法可能得到不同的最优超参数。 单因子分层测试方法同案例1。

参考文献

Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-mathematics and financial charlatanism: The effects of backtest overfitting on out-of-sample performance. Notices of the American Mathematical Society, 61(5), 458-471.

Bailey, D. H., Borwein, J., Lopez de Prado, M., & Zhu, Q. J. (2017). The probability of backtest overfitting. Journal of Computational Finance, 20(4), 39-70.

López de Prado, M. L. (2018). Advances in Financial Machine Learning. John Wiley & Sons.

作者:林晓明团队

执业证书编号:S0570516010001

标签

量化研究多因子选股模型机器学习模型
{link}