- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
基于机器学习的股票价格研究
?
?
王丽娜李欣欣
摘要:股票投资常常伴随着风险发生,越来越多的投资者期望寻求更加科学的投资方法。随着人工智能和大数据的兴起,用机器学习探究股票市场的变化规律越来越流行。本文采用机器学习的三种算法,线性神经网络模型(LinearModel)、多层感知机神经网络模型(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)函数逼近实际
文档评论(0)