徐浩然,许 波,徐可文
广东财经大学 信息学院,广州510000
自股市诞生以来,由于股票市场的高回报性,股票的波动一直引起大家的高度关注,研究者希望通过研究,揭示股票运行规律,对其价格走势进行预测。但是,股票市场是一个非常复杂的系统,其非线性、不平稳性、复杂性等特点导致对股票价格的预测研究变得十分困难。
早期的股票行情分析,主要包括基本面分析和技术分析。基本面分析主要是通过公司的整体运营情况、财务报表以及行业的发展趋势和宏观经济运行态势对公司价值及其未来的股价走势进行预测。基本面分析是辅助投资者进行长线投资的主要依据。而技术分析,则更关心证券市场本身的变化因素,通过股价、成交量或涨跌指数等数据计算得到各种技术指标,使用这些技术指标以及图表展现过去股票价格走势,从而对该股票未来的价格进行预测。
与基本面分析及技术分析不同,许多学者将股票每日的收盘价按照时间先后顺序列出,构造成股票时间序列模型。根据股票历史价格走势对未来短期变化趋势进行预测,其中,最为著名的便是ARIMA[1]模型。近些年,许多学者如:Zheng[2]、Rangel-Gonzalez[3]、宋刚[4]等对ARIMA算法进行了进一步的优化与改进工作。
随着大数据时代的到来,股票市场中海量的数据引起了众多学者的关注。机器学习方法,例如:支持向量机、神经网络、决策树等方法被广泛应用于股票预测领域。其在处理复杂以及大量数据上面表现出的优势,解决了传统方法的许多局限性。研究者们通过股票市场中产生的大量历史数据,结合机器学习算法进行建模与训练,并通过训练出的模型来对股票未来的走势进行预测,较传统的方法极大提高预测的准确率,具有十分重要的理论和现实意义。
本文重点收集了近几年来在股票预测领域使用机器学习方法的主要文献,从股票预测研究的主要问题、特征工程以及机器学习算法的应用(如图1)三个方面分别进行分析和总结。对该领域研究的难点与不足进行归纳,并浅析该领域研究未来可能有的发展动向。力求使读者能对该领域的研究现状全面认识,并且提供了一些未来可能的研究思路。
在股票预测问题上,不同的学者的关注点不尽相同。不同的研究问题,其实验结果的表现形式也不一样。研究者关注的主要问题包括以下几个方面。
研究者希望通过训练一种机器学习模型,对股票未来的价格进行预测。对股票具体价位的预测实质上是一类回归问题。研究者将通过模型预测出的股价与实际股价进行对比,并通过MSE、RMSE、MAE等指标衡量股价预测的准确率。而另一部分学者则关注未来股价的变动趋势,将股价预测问题转换为二分类问题,构建one-hot编码作为标签,即若未来一段时间内的股票收盘价大于当天收盘价则记为1,否则便记为0,并通过准确率、AUC、召回率等指标可以衡量预测的效果。但是在实际股票投资中,股票的涨跌幅度对投资者收益影响较大,二分类的涨跌预测往往很难满足实际应用中的需求,部分学者将“上涨”“下跌”的二分类问题转化为“小涨”“大涨”“小跌”“大跌”的四分类问题进行分类预测。
由于股票价格短期变化的不确定性,对于其转折点的预测被许多学者所关注。准确的预测股票价格变动的转折点,在转折点位置进行相应的买卖操作,对于投资决策具有十分重要的意义。Chang等人[5]将分段线性表示PLR结合BP神经网络对股票转折点进行预测。李丰等人[6]通过使用PLR和高斯过程分类方法,提取股票历史价格序列的转折点,对转折点进行分类标记,并通过实验证明其对股票转折点预测模型的有效性。Tang[7]将分段线性表示(PLR)和加权支持向量机(WSVM)相结合,对股票TPs进行预测,并且在文中提出了几种提高PLR-WSVM模型性能的方法。
与使用统计指标评估模型的准确率不同,一些学者更关注股票预测模型在实际市场上的量化投资收益。Buncic[8]使用动态模型平均法构建了股票回报率预测模型,并根据预测结果建立投资组合,其较被动的指数投资策略获得了可观的收益。秦璐[9]提出区域标记法,把某一段顶部、底部区域的点进行全部标记,来代替只标记最高、最低点的传统单点标记法。其方法使得股票交易收益更加稳定,且更符合证券市场的实际情况。
在机器学习实验,特别是股票预测实验中,特征工程一直是十分重要的部分。股票市场经过长时间的发展,积累了大量反应股票趋势变化的原始数据。从类型上来说,既包括大量个股的数据,也包括行业板块、市场指数的数据。大多数学者如Wang等[10],选取道琼斯指数、纳斯达克指数作为较为成熟的股票市场代表,将我国的香港恒生指数、上证指数、创业板指数等作为新兴股票市场代表进行研究,以此来比较其算法在成熟与新兴市场的不同表现。为了减小市值较小的股票的异常波动对预测结果的影响,苏治[11]选取了A股市场总市值前150位的公司数据。也有部分学者选取个股数据进行预测模型效果的评估,但是由于个股的变动随机性较大,模型评估效果往往具有局限性。
同时,股票市场的各种辅助指标对于机器学习的预测也起到十分重要的作用,好的指标选取可以大大提高预测准确率的上限。早期的研究中,包含日期与收盘价的股票时间序列数据被广泛应用于预测。开盘价、最高价、最低价、成交量、成交额、换手率等基础交易数据也被众多学者用作辅助预测的常用指标。随着大数据技术的不断发展,更多的股票历史交易数据被用于预测,一些由金融、统计领域的行业专家构造的技术指标被更多的使用。邓烜堃[12]将kdj、macd、boll等48个常用技术指标作为辅助训练特征,取得了不错的效果。伯毅[13]根据经验,自行创造了一种支持压力指标,并通过实验论证加入其自创指标后的数据训练效果要好于未加入之前的效果,说明其自创的指标可以提升模型的预测效果。
图1 机器学习算法在股票预测应用思维导图
近些年来,包括股票新闻、金融微博、论坛等社交媒体的文本数据被越来越多的用于股票预测。朱梦珺[14]对金融微博进行文本与语义分析,并对应相关股票的价格走势进行拟合预测。Sun[15]使用大量社交媒体数据研究股票价格与社交媒体内容间的关系。余传明[16]使用一种新的文本价格融合模型,对将股票论坛文本数据与股票价格指标结合进行预测,其准确率较单独使用文本或者股价特征有了较大提升。
但是并不是越多的特征,预测效果就好越好。如何合理有效地选择最有价值的特征指标进行训练,去除对预测精度影响较小的特征,是一个十分重要的研究课题。Alsubaie[17]采用5种不同的特征选择方法对50个广泛使用的股票分析技术指标进行了排序,并且提出了一种成本敏感的微调朴素贝叶斯分类器,获得了很好的投资收益。Tsai[18]提出了一种基于特征选择的混合时间序列模型,首先采用逐步回归,然后采用多元自适应回归样条MARS和使用核技巧的岭回归来选择关键特征。于卓熙[19]运用主成分分析对应该股票价格变化的指标进行降维。邓烜堃[12]利用DAE对选取的48个技术指标进行降维,并结合BPNN进行预测。其模型不仅大大降低了运行时间,而且较PCA、FA等降维方法在准确率上有所提升。
支持向量机[20](SVM)是在统计学习理论基础上发展形成的机器学习方法。其理论基础主要是VC维理论和结构风险最小化原理,是建立在几何距离基础上的一种学习算法。由于其在解决小样本、高维数据和非线性问题方面展现出特有的优势,众多学者将支持向量机模型用于股票预测领域。
Kim[21]直接把支持向量机用于股票预测,通过实验论证了该方法较传统的神经网络方法效果更好。张贵生等[22]利用SVM处理高维面板数据的优势,构建一种近邻互信息的特征选择模型。挖掘与目标股指相关的周边金融市场的变化信息,对目标股指进行预测。Mei[23]将SVM与传统的ARIMA模型结合,首先利用ARIMA模型进行预测,然后将其误差结果作为SVM的输入变量,以预测股价的波动方向。Alam[24]提出了一种结合输入数据全局和局部特征的多核支持向量机。同时,利用果蝇优化算法(FFO)提出了一种参数整定方法,并将其应用于股市运动方向预测问题。
传统的SVM更多地被用于解决分类问题,却不适用于解决股价预测问题中的回归问题。在SVM基础上发展起来的基于非线性回归技术的支持向量回归机(SVR)解决了这一缺陷。Frohlich等[25]最先以遗传演算法进行特征选取最优化的SVR模型研究。Huang[26]以台湾股票市场的数据,建立了遗传算法改进的SVR选股模型。实验表明,采用遗传算法进行特征选择和参数寻优的SVR模型显著增强该模型的预测准确率。Vilela[27]使用聚类方法结合SVR构造了一种两阶段模型。
许多学者基于SVM与SVR模型,对文本数据进行分析与预测。黄润鹏[28]运用新浪微博的文本数据,构建情绪倾向时间序列,通过支持向量机模型,研究上证指数时间序列与情绪倾向时间序列之间的关系。Shynkevich[29]根据新闻与目标股票间的相关性,对新闻进行加权,并结合多核SVM模型进行预测。董理[30]从社交媒体中提取文本信息结合股票指标,使用SVR模型对股价进行预测。
SVM与SVR在解决高维特征的分类和回归问题具有优势,这也与股票预测领域的多特征数据相契合。同时,支持向量机中存在大量核函数可供使用,研究者可以根据实际问题选择适合的核函数进行应用。但是,目前还没有较好的方法解决核函数选取的问题,这也是未来的研究重点。同时,当该方法应用于大规模训练样本时会耗费大量的计算机内存和运算时间,这可能会限制其在大数据时代股票预测中的发展空间。
人工神经网络(Artificial Neural Network,ANN)是人工智能领域的研究热点。该算法从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。早在20世纪90年代,Varfis等人[31]便已经尝试将人工神经网络应用于金融时间序列问题。Hammad[32]采用前向多层人工神经网络对多家公司的股票进行预测,证明人工神经网络具有收敛快、精度高等优势。Amin[33]通过实验评估了几种前馈人工神经网络在纳斯达克市场股票价格预测效果。刘恒等[34]利用贝叶斯正则化方法改进BP神经网络,解决BP网络陷入局部最优化影响泛化能力的问题。Qiu[35]使用全局搜索技术(GA/SA)结合人工神经网络进行预测。冉杨帆[36]、戴德宝[37]等则比较了神经网络和支持向量机方法在股票文本数据预测方面的效果。
传统的神经网络主要具有以下缺点:容易陷入局部最优化;需要训练的权值过多;需要大量的样本进行训练且泛化能力不强,容易导致“过拟合问题”等。随着近些年的大数据积累以及计算机运算能力的提升,深度学习在人工神经网络的基础上发展起来。相较于传统神经网络,深度学习模型层数更多,具有更强的特征提取能力,受到了广泛的关注。
受益于大数据技术以及计算机运算能力的提升,以卷积神经网络CNN、循环神经网络RNN、长短期记忆网络LSTM、前馈神经网络FNN等为代表的深度学习技术,在文本、图像、语音视频识别等领域取得了突破性的进展。而目前,越来越多的学者将目光投向股票预测领域,希望通过深度学习的最新技术来解决此类问题。Catalin[38]利用LSTM和CNN分别构建了股票预测模型,并根据其预测结果建立买卖策略。Kim[39]将LSTM和CNN模型结合,对于股票数据,分别从时间序列以及股票图像两种角度进行预测。彭燕[40]运用LSTM处理时间序列中间隔和延迟较长问题的优势,解决RNN会遗忘之前状态信息的缺点。曾安[41]依据时间序列前后两个方向的序列关系,使用一种基于深度双向LSTM的神经网络预测模型解决长时间序列的梯度消失问题。
部分学者也提出了一些方法,对现有的深度学习结构进行了优化与改进。Wang[10]从输入数据中提取主要成分并对其进行积分,构建出一种基于主成分分析的神经网络STNN。Li[42]构建了一种结合极端学习器EML的深度学习结构。Zhou[43]构建了一个基于EMD和FNN的两阶段模型。利用信号分解的EMD经验模态分解方法,将分解出来的IMF作为输入变量,输入FNN模型进行训练。吴曼曼等人[44]在其基础上进一步研究,证明了EMD结合Flman神经网络进行股票预测的有效性。
与传统的机器学习方法相比,不需要进行特征选择是深度学习的一大优势。在股票预测问题中,特征工程是十分困难的工作,不管是市场中的常用指标还是基于数学、统计学的专家指标,都很难令人信服。而深度学习可以使计算机自行进行特征选择,比人工选择具有更高的准确率。并且具有很高的适应性,同时也可以利用迁移学习方法进行相似领域的转换。
深度学习同样存在一些缺陷。首先深度学习需要大量的数据进行支持并且需要高端的GPU进行长时间的训练才能收获好的训练效果。其次,深度学习“黑箱操作”的运算方法使其具有较差的解释性,无法进行可视化展示,其训练得出的结果无法找到对应的经济学理论解释,这也是深度学习在股票预测应用中难以令人信服的主要原因。
集成学习,是指结合多个学习器进行学习任务的一种机器学习方法,也称为分类器的集成。该方法可以对线性回归、决策树、支持向量机等基学习器进行集成训练,其性能较单一学习器往往会有较大的提升。
Bagging是并行式集成学习方法的代表。谢琪等人[45]利用bagging方法,集成多个长短记忆神经网络LSTM进行训练,其预测准确率较单一的LSTM模型有了较大提升。Awajan[46]使用基于经验模态分解EMD的bagging方对非平稳非线性的时间序列进行预测。Lohrmann[47]使用随机森林模型对股票进行分类并根据结果制定交易策略和买入持有策略。
Boosting算法是常用的串行式集成学习算法。Zhang[48]采用adaboost算法进行预测,体现出集成学习算法在股票预测领域很好的性能。Zhang[49]将Adaboost算法与概率支持向量机PSVM、遗传算法GA等结合进行股票转折点的分类预测。王燕[50]利用网格搜索算法对Xgboost模型进行参数优化,寻找出准确率最优的Xgboost参数模型。Zhou[51]首次将级联集成学习架构应用于股票指数的预测和交易,其将逻辑回归模型LR级联到梯度增强决策树(GBDT)模型上,并进行模拟买卖实验,证明其模型在实际应用中的利润收益。
集成学习与传统单一的机器学习算法相比往往具有更高的精度。随机森林、Xgboost等方法也具有特征选择的功能,便于处理包含多特征的股票数据。同时,其可解释性高,可以很方便地进行可视化展示,易于用户理解。但是该方法主要应用于股票预测中的涨跌分类问题,对应股价的回归问题无法进行预测。
目前机器学习在股票预测领域已经取得了非常不错的成绩,但是其综合准确率,依然没有达到令人非常满意的效果。对于衡量股票价格预测准确率:MSE、RMSE、MAE等指标,以及股票涨跌趋势准确率:AUC、召回率等指标,其精度较以往的研究有了大幅度的提升,但是还有进一步提升的空间。时间序列数据量过小以及特征工程复杂的工作都是目前股票预测领域的研究难点。所以,未来还有许多方面需要研究者进行探索。在今后的研究中,可能存在以下研究热点。
股票时间序列的数据量较少是困扰深度学习方法应用的主要问题。在图像处理领域中,迁移学习方法在解决小数据问题中取得了很好的效果,未来可以尝试使用迁移学习方法解决股票领域数据量的问题。迁移学习[52](Transfer Learning,TL)是指将以前任务中学习到的知识和技能应用到新任务(新领域)中的能力。利用已经学习过的“源域”,应用到新的领域“目标域”之中进行辅助学习。传统机器学习的股票预测方法都是单独使用一只股票的时间序列数据对其未来价格进行预测,但对于一些发行时间较短,时间序列数据量较少股票的预测效果受到了较大的限制。由于股票市场中相似行业的公司股票价格变动规律往往具有相关性和联动性,可以考虑使用迁移学习的方法(图2),利用与目标股票相关度较高的其他股票数据进行辅助预测,或许是未来的研究热点。
图2 迁移学习与传统机器学习在股票预测的比较
“数据和特征决定机器学习的上限,而算法只是不断逼近这个上限”。在此前的研究中,大量的研究者更关注于算法模型的构造与改进。但同时,特征工程仍有许多工作需要完成,是提升预测准确率的关键一环。
开盘价、收盘价、成交量、最高最低价等常用指标在短期股价预测中被广泛使用。同时,可以尝试在模型中输入公司财务指标、宏观经济指标、行业相关指标等来预测某具体行业的上市公司长期的运行趋势。文本分析依然有待更深入的研究,可以关注“股吧”“论坛”等社交网站中股民情绪变化与股票市场趋势的关联度。
另一方面,可以使用自适应算法对特征进行优化。典型的自适应算法包括迫零算法、最陡下降算法、LMS算法、RLS算法等,其主要思想是根据处理数据的数据特征自动调整处理方法处理参数、边界条件或约束条件等,使其与所处理数据的统计分布特征、结构特征相适应,以取得最佳的处理效果。
深度学习方法在股票预测中取得了较多的进展,由于其高预测精度的优势,未来依然会被作为研究热点。
目前最常用的CNN与LSTM模型各有优缺点。CNN在特征选择上具有更好表现,而LSTM则更加关注时间序列之间的相关性。未来的研究中,考虑将CNN和LSTM进行模型融合,发挥其各自的优势。Shi等[53]提出convlstm模型,在特征输入LSTM前进行卷积操作,较好地解决城市降雨量预测问题中的时间与空间关联性的问题。未来也可以探究该方法在股票预测中的应用。
另外,深度学习作为一种“黑箱操作”模型,存在解释性差的缺点。未来可以更加关注其在进行股票预测过程中的经济学理论意义和解释性。
股票预测作为一个困扰研究者的重大问题,在这些年的研究中已经取得了不错的进展。支持向量机、深度学习、集成学习等机器学习算法在该领域都受到了广泛的关注。但是每种模型都存在其特有优势和缺陷,预测准确率不高、解释性差等问题凸显。提高预测准确率、增加数据量、进行模型融合、增强模型的可解释性等问题未来依然有待进一步的深入研究。