一种基于LSTM模型的股票预测方法和系统与流程

文档序号:11217039阅读:6317来源:国知局
一种基于LSTM模型的股票预测方法和系统与流程

本发明属于股票预测领域,更具体地,涉及一种基于lstm模型的股票预测方法和系统。



背景技术:

随着互联网行业的发展,信息技术占主导地位,证券市场向着现代化的市场方向发展。现在沪深上市公司已经超过几千家,然而股票投资的收益与风险往往是成正比的,即投资收益越高,可能冒得风险越大。因此,股市预测方法的研究具有极其重要的应用价值和理论意义。历来有不少的传统分析技术,应该说这些传统的技术分析方法在股票分析上还是取得了较大的成就的,然而,不难发现,这些现有的理论和方法也是存在着很大的缺陷的,它们无不是采用静态的方法,定性描述的多,定量描述的少,将影响股市的众多因素割裂开来单一分析。因此,这些局限性使得这些方法在变幻莫测的股票价格波动中不能有效和准确地把握股票价格的变化。故需要探索股票市场波动的复杂性以及规律性,并根据其规律性设计一系列的操作简便,精度够高的预测软件,为广大投资者规避风险。

股票市场是多变量非线性动态系统,目前学术上还没有较好的建模方法,同时,股票市场具有一定程度的不确定性,因此,对那些试图用建立精确模型的方法来进行股价预测的方法,其预测效果必然不会理想;股价自身以及影响股价的各变量之间呈现非线性特性,因此要求有强大的处理非线性问题的能力。

股票市场中各种因素之间的相关性错综复杂,主次关系变化不定,数量关系难于提取,因此应用常规预测方法对股市做出定量的分析也非常困难;

股票市场中随机因素很多,对股指、价格的影响显著,价格波动剧烈,燥声高,表现出很强的非线性、不确定性。国内外对股票市场预测提出了许多方法。这些方法在实际工作中有着重要指导作用,但仍存在着某些不尽如人意的地方,如回归模型外推性差,类比系数法准确性较差,神经网络计算量大、易产生过拟合。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于lstm模型的股票预测方法和系统,其目的在于由于股票的数据有着相当大的时序性,有一定的周期性,适合通过lstm模型对先前的股票走势构建深度学习模型,预测未来的股票走势,由此解决现有预测技术外推性差,准确性较差,计算量大、易产生过拟合的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于lstm模型的股票预测方法,所述方法包括一下步骤:

(1)获取股票交易的历史数据,基于实际需要选择训练数据;

(2)输入训练数据,基于深度学习理论构建股票预测模型,所述股票预测模型包括一层输入层、一层隐含层和一层输出层;

(3)输出预测结果,结合真实值以误差百分比作为评测指标进行测评。

进一步地,所述步骤(1)具体包括:

从股票交易历史数据中选取前n天的股票参数来预测第n+1天的股票;选取股票的昨日收盘价、开盘价、最高价、最低价、成交量和调整收盘价作为股票预测模型的训练数据。

进一步地,所述步骤(2)中股票预测模型包括:

维度为n×1的lstm层作为输入层,将tanh函数作为输入层内部激活函数和输入层与隐含层之间的激活函数,输入层网络节点是n个;

tanh函数作为隐含层内部激活函数,其中隐含层是lstm结构,隐含层的维度为j×k的,有j个网络节点,j优选100,k优选50;

linear函数作为输出层的激活函数,输出节点为1。

进一步地,所述股票预测模型训练的过程中利用交叉验证的方法来调节参数,划分出20%的训练数据作为验证集,随机梯度下降算法训练股票预测模型。

进一步地,所述股票预测模型训练的过程中选择平均平方误差作为损失函数,选择rmsprop作为随机梯度下降算法的优化算法。

按照本发明的另一方面,提供了一种基于lstm模型的股票预测系统,所述系统包括:

数据选择模块,用于获取股票交易的历史数据,基于实际需要选择训练数据;

模型构建模块,用于输入训练数据,基于深度学习理论构建股票预测模型,所述股票预测模型包括一层输入层、一层隐含层和一层输出层;

预测及测评模块,用于输出预测结果,结合真实值以误差百分比作为评测指标进行测评。

进一步地,所述步骤数据选择模块具体用于从股票交易历史数据中选取前n天的股票参数来预测第n+1天的股票;选取股票的昨日收盘价、开盘价、最高价、最低价、成交量和调整收盘价作为股票预测模型的训练数据。

进一步地,所述模型构建模块用于构建股票预测模型,股票预测模型包括:

维度为n×1的lstm层作为输入层,将tanh函数作为输入层内部激活函数和输入层与隐含层之间的激活函数,输入层网络节点是n个;

tanh函数作为隐含层内部激活函数,其中隐含层是lstm结构,隐含层的维度为j×k的,有j个网络节点;

linear函数作为输出层的激活函数,输出节点为1。

进一步地,所述模型构建模块还用于在股票预测模型训练的过程中利用交叉验证的方法来调节参数,划分出20%的训练数据作为验证集,随机梯度下降算法训练股票预测模型。

进一步地,所述所述模型构建模块还用于在股票预测模型训练的过程中选择平均平方误差作为损失函数,选择rmsprop作为随机梯度下降算法的优化算法。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:

(1)采用了lstm模型构建股票预测模型,能更好预测周期性数据;

(2)采用了tanh函数作为lstm层的激活函数,对数据变化更敏感;

(3)采用了linear函数作为输出层的激活函数,更好地处理模型中的回归问题;

(4)由于采用误差百分比作为评测指标进行测评,对预测结果的准确性有更直观的体现。

附图说明

图1是本发明方法流程图;

图2是本发明基于深度学习理论构建股票预测模型结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,本发明具体实施方法包括以下步骤:

(1)获取股票交易的历史数据,基于实际需要选择数据;

从股票交易历史数据中选取前n天的股票参数来预测第n+1天的股票;选取股票的昨日收盘价、开盘价、最高价、最低价和成交量作为股票预测模型的训练数据。

选取的初始数据不能直接用于模型,需要转换格式,输入数据的格式如下矩阵所示:

每一条训练数据有20天的股票数据,每一天都有6个特征,分别对应收盘价、开盘价、最高价、最低价、成交量和调整收盘价,选择前20天的股票价格作为一个训练样本。预测下一天股票调整开盘价的值,

(2)基于深度学习理论构建股票预测模型,所述股票预测模型包括一层输入层、一层隐含层和一层输出层;如图2所示:

维度为20×1的lstm层作为输入层,将tanh函数作为输入层内部激活函数和输入层与隐含层之间的激活函数,输入层网络节点是20个;

tanh函数作为隐含层内部激活函数,其中隐含层是lstm结构,隐含层的维度为100×50的,有100个网络节点;

linear函数作为输出层的激活函数,输出节点为1。

所述股票预测模型训练的过程中利用交叉验证的方法来调节参数,划分出20%的训练数据作为验证集,随机梯度下降算法训练股票预测模型。

所述股票预测模型训练的过程中选择平均平方误差作为损失函数,选择rmsprop作为随机梯度下降算法的优化算法。

(3)输出预测结果,结合真实值以误差百分比作为评测指标进行测评。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1