基于机器学习的股票价格研究

2021-06-02 03:57王丽娜李欣欣
现代商贸工业 2021年17期
关键词:支持向量机机器学习神经网络

王丽娜 李欣欣

摘 要:股票投资常常伴随着风险发生,越来越多的投资者期望寻求更加科学的投资方法。随着人工智能和大数据的兴起,用机器学习探究股票市场的变化规律越来越流行。本文采用机器学习的三种算法,线性神经网络模型(Linear Model)、多层感知机神经网络模型(MLP)和支持向量机回归模型(SVM)分别对1990年至2019年的上证指数sh000001价格进行研究。在1%误差容忍度下,验证了三种模型对股价均较好的预测效果,为广大投资者提供投资策略支持。

关键词:上证指数价格;机器学习;神经网络;支持向量机

中图分类号:F23     文献标识码:A      doi:10.19311/j.cnki.1672-3198.2021.17.044

1 研究背景

随着我国股市的不断发展和完善,越来越多的机构和个人参与到股票市场。上市公司希望从股票市场上融到资金,而投资者也期望从投资的股票中获得收益。但股票投资也经常伴随着风险,如果盲目进行投资,只会给投资者带来损失,科学合理地分析股票走势并选择有效的投资策略越来越受到人们的关注。

正是在这种市场需求下,股票市场的各类预测问题就成为一个研究热点。很多研究学者积极投身股票预测的研究,并取得的一定的研究成果。传统的股票預测研究有很多技术已经比较成熟,如技术分析方法和基本面分析方法,曾劲松(2005)指出在弱有效市场下,技术分析可以帮助投资者获得超额收益。扈香梅(2014)指出,技术分析可以在短期内小波动范围为投资者提供最佳买卖股票的时机。也有一些学者提出了更加严谨的金融时间序列分析方法如向量自回归模型、移动平均模型和自回归移动平均模型等。阎大颖(2003)运用向量自回归模型,检验了国内外股票市场价格指数长期走势的时序相关性。王成璋等(2011)在书中详细介绍了自回归移动平均模型的使用及适用范围。Bollerslev(1986)在Engle的研究基础上丰富了ARCH模型,提出广义自回归条件异方差模型。张贵生等(2016)指出融合了梯度因子信息的G-ARMA-GARCH模型对股票价格预测的准确度显著提高并且具有较好的稳定性。

随着计算机技术飞速发展,机器学习逐渐进入人们视野,将机器学习与股票的大数据结合引起了学者的广泛关注。目前,比较常见的股票市场预测算法大多为监督学习算法,如决策树、随机森林、神经网络和支持向量机等算法。张晨希等(2006)主要采用支持向量机的机器学习方法来预测股票市场股价走势,提高了股票分辨效率。陈俏(2015)采用小波神经网络分析出股票不同时间序列的频率变化规律。彭燕等(2019)基于长短期记忆网络对股价进行预测,拓宽了人们对股票投资策略的认知。也有一些学者采用多种机器学习方法和金融模型结合的方法,有效弥补了单个算法的不足,可以更精准地预测股价的未来走向。傅航聪(2017)综合时间序列算法、K近邻算法以及支持向量机算法的长处,整合提出了一种综合预测算法,整体效果也比较稳定。崔文喆等(2019)采用GARCH模型和BP神经网络模型预测多只股票的走势,BP神经网络模型的预测效果均优于GARCH模型,且总体差异具有高度统计学意义。基于数据的机器学习试图从数据样本中寻找规律,并利用这些规律对新数据或无规则的数据进行预测,这已学界得到了广泛认可。

2 模型设定

本文采用线性神经网络、非线性神经网络和支持向量机回归三种模型进行预测。在线性神经网络模型中,其激活函数是线性函数。假设输入是一个n维向量X=[x1,x2,…,xn],从输入到神经元的权值为ωi,则该神经元的输出为:

v=Σxiωi+b(1)

本文函数g采用线性函数,神经网络的输出就是:

y=g(Σxiωi+b)=Σxiωi+b(2)

在非线性神经网络模型中,激活函数对输入的信号进行了非线性变换,假设输入信号用x0表示,突触强度用权重w0表示,神经元中的信号处理在模型中是矩阵乘法。参数w0是可以通过学习得到的,它对输入信号产生了影响。每个输入信号与相应的权重相乘之后再相加,之后再经过激活函数σ处理,得到输出结果。本文选择基本激活函数sigmoid函数,将输入的信号经过运算,输出一个(0,1)区间内的值。用公式表示这一过程为:

y=σ(Σiwixi+b)(3)

此时,单个的神经元模型可以看作一个二元分类器,将输入样本分成两类,单个神经元可以将输入进行判定,输出值接近于1为一类,输出值接近0为另一类,为后续传导做准备。

本文设定两层神经网络机制,假设有三个函数f(1)和f(2),复合函数f(x)=f(2)(f(1)(x))。这种组合方式也是神经网络中的典型方式。f(1)表示第一层,f(2)是第二层,也是隐藏层。除此之外,模型中还有输入层和输出层。在神经网络的训练过程,是使训练集f(x)函数逼近实际的f*(x)函数的过程。通过训练样本反复训练,神经网络逐渐掌握了训练的方向,进而优化参数,可以预测股票价格。

在支持向量机回归模型中,本文选用线性SVM算法。对于线性函数f(x),有

f(x)=ωx+b(4)

为了让激活函数与原函数逼近,此处对损失函数利用风险最小化求解,从而原问题变为:

min.12||ω||2+C∑li=1(ξi+ξi*)(5)

其中,||ω||2用来控制回归模型的近似性与复杂性之间的平衡。常量C是惩罚因子,C值越大,经验误差在风险函数中所起的作用就越大。ξi和ξi*是松弛变量。同时在模型给定约束条件下利用二次规划方法解决优化问题,本文利用拉格朗日乘子法将该问题转化为其对偶形式求解。

3 数据实验及结论

本文通过Tushare数据库获取了从1990-1-1到2019-1-1的上证指数数据,调用亚马逊的深度学习库(MXNet)构建线性神经网络和MLP神经网络模型,又利用机器学习里的Scikit-learn模块构建SVM模型。在对模型进行训练之前,因为原始数据往往会出现不一致性、不完整性、重复性和稀疏性等问题,本文首先需要对数据进行预处理,数据预处理主要由數据清洗、数据集成、数据变换和数据规约组成。预处理后,本文还对数据进行归一化,使系统数值的绝对值变成某种相对关系,从而简化计算,避免量纲的不一致性。

在建立线性神经网络模型时,分析历史数据,预测n+1的上证指数。首先,根据文件名读取数据,并根据时间参数切割数据,最终把数据分为70%的训练数据集和30%测试数据集。其次,求出上证指数5天、10天、15天、30天的移动平均,并添加到训练集和测试集中。然后,把输入的数据,转入MXNet神经网络模型。最后,定义训练函数,计算每一轮损失值,不断优化调整神经网络模型内部各个参数的权重。其中,步长定义为8。在进行200此迭代之后,loss损失值小于千分之五,已经非常小,到最后基本保持不变。用训练好的模型,对测试集数据进行预测。预测数据与实际数据的误差宽容度,默认为5%,如果两者误差小于5%,认为是正确数据。这样得出准确度是99.71%,如果设置宽容度是1%,则预测准确度是79.33%。

MLP神经网络模型由一个输入层,一个输出层和多个隐藏层组成,在MLP中的所有神经元都类似,每个神经元由几个输入(连接前一层)和输出(连接后一层)神经元。本文采用的MLP神经网络模型采用了一个隐藏层,隐藏层神经元的数量为32。与线性神经网络模型类似,结合具体的金融数据,对上证指数的未来值进行预测分析。除了模型设定以外,其余数据处理和预测方法都与线性神经网络模型类似,为此不再重复。步长定义为8,优化迭代次数定义为500。从损失值可以看出,最后loss值小于万分之八,已经非常小,并且变化不大。利用训练好的模型对测试集数据进行预测,得到误差宽容度分别为5%和1%时的预测准确度分别为99.66%和82.72%。相对于线性神经网络,MLP神经网络拟合效果更好。

最后本文采用机器学习模型支持向量机(SVM)进行价格预测。数据预处理与神经网络模型类似,模型构建采用Scikit-learn库,利用训练好的模型对测试集数据进行预测,得到误差宽容度分别为5%和1%时的预测准确度分别为99.66%和83.7%。与前两个模型相比,支持向量机(SVM)模型效果更好。

综上所述,从实验结果来看,对于上证指数1990年-2019年的日度数据,在误差容忍度为5%的情况下,三种模型区别不大。但是在误差容忍度为1%的情况下,线性神经网络模型效果最差,它只有一个输入层,一个输出层,比较简单,而且输出和输入是简单的线性关系,表达能力有限,因此效果相对较差。MLP比SVM预测结果略差。MLP是多层神经网络,神经网络的层数和神经元的个数都不太好确定,并且也受到优化算法的影响,其结果变动较大,难以确定最佳的网络,不过其效果与SVM接近,通过设置更好的层数和神经元个数,其效果也可能会更好。总之,在本文的实验中,SVM回归模型取得了最佳效果,MLP和线性神经网络模型相对较差。但是由于神经网络模型设计上的复杂度,未来通过设计良好的网络结构和精细的优化方法可能会使效果进一步提升。

参考文献

[1]曾劲松.技术分析与中国股票市场有效性[J].财经问题研究,2005,(08):27-30.

[2]扈香梅.浅谈基本面分析和技术分析在股票市场的应用[J].新西部(理论版),2014,(05):62+64.

[3]阎大颖.实证分析中国股票市场内部及与国际市场之间价格长期走势的因果关系[J].南开经济研究,2003,(03):63-66+76.

[4]BOX G E P,JENKINS G M,REINSEL G C.时间序列分析:预测与控制[M].王成璋,尤梅芳,郝杨,译.北京:机械工业出版社,2011.

[5]ENGLE R F.Autoregressive conditional heteroscedasticity with estimates of the variance of united kingdom inflation[J].Econometrica,1982,50(4):987-1007.

[6]张贵生,张信东.基于梯度因子的ARMA-GARCH股票价格预测模型研究[J].山西大学学报(哲学社会科学版),2016,39(1):115-122.

[7]张晨希,张燕平,张迎春,等.基于支持向量机的股票预测[J].计算机技术与发展,2006,(06):35-37.

[8]陈俏,梁利利.小波分析在股票指数分析中的作用[J].金融市场,2015,(6):45-47.

[9]彭燕,刘宇红,张荣芬,等.基于LSTM的股票价格预测建模与分析[J].计算机工程与应用,2019,55(11):209-212.

[10]傅航聪,张伟.机器学习算法在股票走势预测中的应用[J].软件导刊,2017,16(10):31-34+46.

[11]崔文喆,李宝毅,于德胜,等.基于GARCH模型和BP神经网络模型的股票价格预测实证分析[J].天津师范大学学报(自然科学版),2019,39(05):30-34.

猜你喜欢
支持向量机机器学习神经网络
神经网络抑制无线通信干扰探究
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定