量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W+关注者,曾荣获AMMA优秀品牌力、优秀洞察力大奖,连续4年被腾讯云+社区评选为“年度最佳作者”。
标题:Stock Market Anomalies and Machine Learning Across the Globe
作者:Vitor Azevedo、Georg Sebastian Kaiser、Sebastian Muller
股票市场异常是指那些与传统金融理论不符合的现象,这些现象可能导致投资组合表现出色或者糟糕。机器学习技术可以帮助我们更好地理解这些异常,并提高投资组合的表现。本文旨在探讨机器学习模型在国际股票市场异常预测中的应用。作者使用了来自多个国家的大量数据,并采用多种机器学习算法来构建未来回报预测器。他们还对不同算法和特征选择方法进行了比较,并评估了它们在样本内和样本外测试中的表现。作者发现:1、机器学习模型可以有效地预测股票市场异常,尤其是在样本外测试中表现更好。2、不同的机器学习算法和特征选择方法对预测能力的影响不同。例如,基于树的算法(如随机森林和梯度提升树)通常比线性模型表现更好。3、在国际股票市场中,不同的异常变量具有不同的预测能力。例如,动量和价值因子在多个国家中表现出色,而流动性因子则在某些国家中表现较差。4、在构建未来回报预测器时,考虑多个异常变量之间的非线性关系可以提高模型的预测能力。测试了哪些因子?
本文使用了量价数据、基本面数据及分析师一致预期数据构建了240个因子(异象),这些数据从1980年7月至2019年6月,覆盖了MSCI主要地区指数的国家(包括以下指数:MSCI North America, Europe, Pacific, Emerging Markets)。经过一系列的处理,最终的数据包括68个国家66000家上市公司的超过9390万条的月度数据。从下表我们可以看到中国的数据占了总样本的8.17%。主要测试了113个基本面因子、75个量价因子、18个分析师因子及19个估值因子和15个其他因子。所有因子的数据都基于截面排序标准化到(0,1)的区间。因子评价主要使用多空组合收益及其显著性。在构建多空组合时,分别构建了等权组合和市值加权组合。具体因子列表请参考原文。
使用了哪些机器学习的模型?
1、线性回归模型,GLM(Generalized Linear Model)2、树模型,Gradient Boosting Machine(GBM)3、神经网络模型,总共有三个,浅层全连接模型(Small Feedforward Neural Network),深层全连接模型(Large Feedforward Neural Network)和RNN。在所有的240个因子中,有167个因子(约占总体70%)的多空收益显著(t值大于1.96)。t值大于3.00的因子有132个。基于240个因子的截面排序的均值,本文构建了一个Baseline factor。与所有单个因子组合的平均表现对比,Baseline因子的换手率更高,月度平均的表现也更优。等权Baseline因子的表现也显著大于市值加权的Baseline因子表现。在接下来的研究中,本文将对比各模型于Baseline因子的表现。针对6个不同的模型,分别针对原始的收益和收益排序进行了训练。下表A是使用收益率作为训练目标的模型表现,下表B是使用收益排序作为训练目标的模型表现。可以看出:1、所有基于收益率训练的6个模型的表现都优于Baseline因子,而且3个神经网络模型的表现优于其他的树模型和回归模型,其中表现最好的是Small FNN。2、所有基于收益排序训练的6个模型的表现也优于Baseline因子,而且表现最好的也是神经网络模型,最优的是Large FNN。3、整体而言,机器学习模型的表现要优于Baseline因子,而且在使用神经网络模型时,基于收益排序预测的模型的效果要优于基于收益率预测的模型。基于预测的目标、窗口滑动的方式、使用的因子集可以构建出多种模型:2、窗口滑动方式可以分为:不滑动、10年滑动、扩展(即起始点不变)3、因子选择可以分为:使用Lasso、Elastic Net选取因子,使用固定t值过滤下表给出了所有可能性组合的测试结果,所有模型表现均优于Baseline因子,其中表现最好的是Small FNN。把所有模型按照不同的训练方式计算平均的效果,如下表所示,可以看出,基于截面排序的模型效果要优于基于基于原始收益率的预测模型;基于Lasso选则因子的模型表现更优。即使是同一个模型,当选择不同的训练方式的时候都会带来很大的改变,如下图所示,对于GLM模型,当使用扩展窗口、基于收益排序和elastic net选择的因子集进行训练时,该模型的表现能够提升1.56%。总结
机器学习模型确实能够显著提高传统因子的表现,但在具体实施过程中存在很多不同的选择,如训练的目标,窗口的滚动及因子的选择。本文给了我们一个非常详细的对比,很多结果也于我们直观的认知保持一致,为我们在具体应用机器学习模型提供的借鉴。