机器学习预测中国股票收益:108种异常现象的实证研究
机器学习预测中国股票收益:108种异常现象的实证研究
本文基于Wind金融数据库的数据,分析了1997年1月至2019年12月期间上海和深圳证券交易所的A股。研究采用108种异常现象的机器学习方法进行选股,包括波动性、流动性、动量、财务和价值等五类特征。使用的机器学习算法包括普通最小二乘回归、主成分分析回归、偏最小二乘回归、回归树模型、随机森林和梯度提升回归树等。模型的超参数通过训练集、验证集和测试集进行调整。策略在每月最后一个交易日预测下个月股票收益,构建不同资产组合。
数据来源与特征选择
该研究使用Wind金融数据库作为股票收益、股权和财务报表数据的来源。数据范围为1997年1月至2019年12月。感兴趣的地区是上海和深圳股票交易所上市和交易的A股(中国股票市场与会计研究数据库(CSMAR))。在本文中,作者采用了月度再平衡周期,股票收益数据是每月股票的回报,同时考虑了现金股息的投资。
作为机器学习方法的输入,作者使用了Hou等人(2019年)和Qiao(2019年)的研究中发现的美国股票市场中的108种异常现象。这些异常可以分为五类:
- 波动性(风险)- 例如贝塔、波动率、特异波动率等(37种)
- 流动性- 例如规模、换手率、Amihu等(23种)
- 动量- 例如11个月的动量、6个月的动量、动量变化、动量残差等(9种)
- 财务- 例如净资产收益率、毛利率、资产增长率等(31种)
- 价值- 例如市净率、股息与股价比率等(8种)
机器学习算法
作者在金融应用中使用了以下不同的机器学习算法:
- 普通最小二乘模型(OLS)- 假设解释变量和解释变量之间存在线性关系,并通过最小化平方误差和来找到数据的最佳回归系数。
- 带有惩罚项的线性模型- 为了解决各种问题(高维数据、解释变量之间的相关性存在、样本不是独立同分布的情况),对OLS机器学习算法进行了改进。如果添加惩罚项,则线性模型的惩罚项会减少变量数量,为方程(4)中的过拟合问题提供一种解决方案。
- 主成分分析回归(PCA)- 是金融领域中常用的降维方法。其原则是尝试将原始变量重新组合成一组新的不相关的综合变量,并选择少量的综合变量来尽可能反映原始变量的信息。
- 偏最小二乘回归- PCA方法的问题在于保留了最大方差的信息,而金融数据的信噪比太低。部分PLS方法解决了这个问题。通过添加项𝑐𝑜𝑟𝑟2(𝑌, 𝑧𝑤),方程9,PLS方法在压缩信息时将考虑压缩信息与解释变量之间的相关性,以确保保留更多与解释变量相关的信息。
- 回归树模型- 回归树模型是一种捕获变量相互作用效应的非线性模型,通常用于机器学习。回归树是一种用超平面划分空间的方法。每次将当前空间划分为两个部分,使得每个叶节点位于与空间中的其他叶节点不相交的区域。有两种方式可以提高预测性能:集成和提升。
- 随机森林是一种基于决策树构建的特殊集成学习方法。
- 梯度提升回归树(GBDT)是由多个决策树组成的迭代决策树算法,所有树的预测集成为最终预测。这是多个回归树的结果。
- 神经网络模型- 作者使用了共计五种神经网络模型。每个神经网络模型的总体结构相同,只是隐藏层和神经元的数量不同。每个神经网络模型的隐藏层数从1到5不等,而模型的其他部分构造方式相同。具体的神经网络模型设置在表3中有更详细的介绍。
超参数调整
所有数据根据时间被分为三部分:训练集、验证集和测试集。文章将22年(1997年至2019年)的样本分为3部分:前6年是训练集(1997年至2003年),中间6年是验证集(2004年至2009年),最后10年是预测集(2010年至2019年)。
策略表现
该文章中的机器学习选股策略是在每个月的最后一个交易日根据所有模型对下个月股票收益的预测进行排序,并根据排序结果构建不同的资产组合。作者将数据分成十分位数。从表7中的所有方法的平均值(面板A,列H_L)可以看出,长短资产组合策略的平均月回报率为1.99%,月平均标准差为6.13%,年化夏普比率为1.13%。我们还可以看到,纯做空资产组合策略的平均月回报率为1.11%,月标准差为9.00%,年化夏普比率为0.43%。
研究结论
该研究的主要发现如下:
- 历史交易数据可以预测下个月的个别股票回报,机器学习算法的样本外预测优于传统计量经济模型;
- 在中国股票市场,流动性特征具有很强的预测能力,而动量特征在样本外预测中较弱;
- 机器学习算法与资产定价研究的结合可以产生显著的经济价值。在样本外测试期间,两层神经网络的等权(市值加权)长短头寸策略的表现是所有模型中最好的,平均月回报为3.03%(2.94%),月波动率为4.65%(6.88%),年化夏普比率为2.26(1.48),根据FF5因子,月度调整阿尔法显著为3.03(2.95)。
回测表现
- 年化收益率:26.68%
- 波动率:23.88%
- Beta:N/A
- 夏普比率:1.13
- 索提诺比率:N/A
- 最大回撤:N/A
- 胜率:N/A