基于改进型LSTM的股票价格预测方法及其系统与流程

文档序号:16742210发布日期:2019-01-28 13:07阅读:227来源:国知局
基于改进型LSTM的股票价格预测方法及其系统与流程

本发明涉及股票价格预测技术和数据特征提取技术领域,具体为一种基于改进型lstm的股票价格预测方法及其系统。



背景技术:

当今股票市场不仅面临着市场数据量繁多、冗杂的问题,同时还受到预测准确性较低的挑战。在这种环境中,如果能够抽取海量数据,在有多种因素影响的股票价格中可以比竞争对手更加准确的预测股票价格,将意味着每秒钟可能多创造数百万人民币甚至更大的交易量。因此如何提高股票价格预测的准确性成了当下人们亟需解决的问题。为了增加预测准确性,企业希望增加预测的数据量,设计出更加复杂精细的算法来,提高样本量,减少局限性,以不同的方式尽量满足数据量虽大但易于处理且验证预测值更加的有效的要求。如今的股票价格因为很多人为因素的影响,在一定程度上是可以进行预测的,但由于大部分杂乱无章、毫无规律的无效数据将有效数据的作用给抹掉了,使得传统的股价预测模型的样本数有限,局限性太强,导致实际效果不理想。基于此,我们可以通过对特征提取进行改进,通过用大量的数据表示不同的场景,从而有效提高模型的表达能力。

现有技术如公开号为cn107239855a的发明公开了一种基于lstm模型的股票预测方法和系统,该发明的技术方案通过搭建深度学习环境,获取大型企业近期的股票数据,对股票数据进行前期分析,再提取关键特征,选取训练数据,输入训练数据,基于深度学习理论构建股票预测模型,所述股票预测模型包括一层输入层、一层隐含层和一层输出层,最后输出预测结果,结合真实值以误差百分比作为评测指标进行测评。该发明采用了lstm模型构建股票预测模型适用于周期性强的数据和序列数据,解决长期依赖问题,比传统时间序列模型等更加灵活调参。但该方案的模型在获取股票交易的历史数据时是选择某个特定时间点的多个特征来进行回归预测的,且其数据必须有严格的顺序性,因此会造成预测模型使用的样本数有限,存在较大局限性,使得模型的表达能力弱,实际预测效果不理想。



技术实现要素:

本发明的目的在于提供一种基于改进型lstm的股票价格预测方法及其系统,以解决上述背景技术中提出的现有技术股票价格预测模型存在使用的样本数有限,存在较大局限性,使得模型的表达能力弱,实际预测效果不理想的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于改进型lstm的股票价格预测方法,其方法包括以下步骤:

s1、获取股票交易不同时间点上不同特征的历史数据,基于实际预测需要选择训练数据;

s2、输入训练数据,基于深度学习理论并利用多层lstm神经网络构建股票价格预测模型,并对所述股票价格预测模型进行训练;

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

优选的,所述s1中获取股票交易历史数据为从股票交易历史数据中选取任意一段时间内不同时间点上具有不同特征的股票信息数据。

优选的,所述s1中选取股票在任意一段时间内不同时间点上不同特征信息数据中包含有特定特征信息的数据作为训练数据。

优选的,所述特定特征信息包括股票的收盘价信息、开盘价信息、最高价信息、最低价信息、成交量信息和调整收盘价信息。

优选的,所述s2中股票价格预测模型至少包括两层输入层、两层隐含层和一层输出层,其中,所述输入层和隐含层均为lstm结构。

优选的,所述s2中对股票价格预测模型进行训练包括利用交叉验证的方法来调节参数,运用随机梯度下降算法训练股票价格预测模型。

本发明还公开了一种基于改进型lstm的股票价格预测系统,其包括:

数据获取和选择模块,用于获取股票交易不同时间点和不同参数的历史数据,并基于实际需要选择训练数据;模型构建和训练模块,用于根据输入的训练数据,基于深度学习理论并利用多层lstm神经网络构建股票价格预测模型,并对所述股票价格预测模型进行训练;以及预测和测评模块,用于输出预测结果,并结合真实值以误差百分比作为评测指标进行测评;

优选的,数据获取和选择模块包括数据筛选模块。

优选的,模型构建和训练模块包括集成有交叉验证算法模块和集成有随机梯度下降算法模块。

与现有技术相比,本发明的有益效果是:本发明的一种基于改进型lstm的股票价格预测方法,基于深度学习理论,并利用多层lstm神经网络构建股票价格预测模型,在获取股票历史数据时,通过改变不同的时间长度一次性获取多个时间点上不同特征的股票历史数据,从中提取更多的特征信息数据,从而形成大量的特征信息数据组合,以此大大增加了数据量,并利用其中筛选出的训练数据对所述股票价格预测模型进行训练,使得所述模型可以表示更多场景,进而大大提升了模型预测效果。

附图说明

图1为本发明一种基于改进型lstm的股票价格预测方法流程示意图;

图2为本发明一种基于改进型lstm的股票价格预测系统结构示意图;

图3为本发明中lstm的原理图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,一种基于改进型lstm的股票价格预测方法,该方法包括以下步骤:

s1、获取股票交易不同时间点上不同特征的历史数据,基于实际预测需要选择训练数据。

在获取股票交易历史数据时选择不同时间点上不同特征的历史数据,为了避免模型的样本数有限,局限性太强,所以会同时选取不同时间点上不同特征的历史数据,可用表示,代表第j个时间点上的第i个特征,这样获取的历史数据量会更大更全面,然后基于股票价格预测模型训练的实际需要,选择具有特定特征信息的数据作为训练数据。其中特定特征信息包括股票的收盘价信息、开盘价信息、最高价信息、最低价信息、成交量信息和调整收盘价信息,训练数据即具有包括股票的收盘价信息、开盘价信息、最高价信息、最低价信息、成交量信息和调整收盘价信息的数据。

s2、输入训练数据,基于深度学习理论并利用多层lstm神经网络构建股票价格预测模型,并对所述股票价格预测模型进行训练。

输入训练数据,基于深度学习理论,利用多层lstm神经网络构建股票价格预测模型。股票价格预测模型是一个多对多的模型,其模型有多个时间点,每个时间点有多个可用的特征,使得一次性利用多个时间点上的特征,通过选择不同的时间长度的特征得到大量的特征组合,以此大大增加了数据量,可以表示更多场景,提升股票价格预测模型的预测效果。其中,模型的特征值是通过固定一个时间长度为k,对于yt,取t-k-1至t-1时刻的所有数据得到的,在取到特征值的基础上,不一定向前取到t-k-1时刻,只需要向前取到t-l时刻的数据(l<k),t-k-1至t-l时刻的位置用0补齐,从而保持所有的输入项在格式上一致,并且可以得到更多的特征组合以表现更多不同的场景。股票价格预测模型至少包括两层输入层、两层隐含层和一层输出层,其中,输入层和隐含层均为lstm结构。lstm是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件,如图3所示,为lstm的原理图。本股票价格预测模型选取多层(至少两层)lstm结构作为输入层,将tanh函数作为输入层内部激活函数和输入层与隐含层之间的激活函数,然后设定多个输入层网络节点;另外,选取多层(至少两层)lstm结构作为隐含层,将tanh函数作为隐含层内部激活函数,然后再设定多个隐含层网络节点,linear函数作为输出层的激活函数,输出节点为1。股票价格的预测模型可用公式表示如下:y表示预测值,表示第j个时间点上的第i个特征。构建好股票价格预测模型后,再利用训练数据对股票价格预测模型进行训练,其训练过程包括利用交叉验证的方法来调节参数,运用随机梯度下降算法训练股票价格预测模型。

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

股票价格预测模型构建并训练好后,可以根据需要预测某一时刻股票价格,然后结合真实值以误差百分比的形式作为评测指标对模型的预测效果进行测评。

如图2所示,本发明还公开了一种基于改进型lstm的股票价格预测系统,其包括:

数据获取和选择模块,用于获取股票交易不同时间点和不同参数的历史数据,并基于实际需要选择训练数据;模型构建和训练模块,用于根据输入的训练数据,基于深度学习理论并利用多层lstm神经网络构建股票价格预测模型,并对所述股票价格预测模型进行训练;以及预测和测评模块,用于输出预测结果,并结合真实值以误差百分比作为评测指标进行测评。

数据获取和选择模块,用于获取股票交易不同时间点和不同参数的历史数据,并基于实际需要选择训练数据。数据获取和选择模块包括数据筛选模块,用于在获取股票历史数据时对所需的数据进行筛选,避免数据获取时的盲目性和减小数据获取及处理时的工作量。为了避免模型的样本数有限,局限性太强,在获取股票交易历史数据时选择不同时间点上不同特征的历史数据时,用表示,代表第j个时间点上的第i个特征,这样获取的历史数据范围会更大更全面,然后基于股票价格预测模型训练的实际需要,选择具有特定特征信息的数据作为训练数据。其中特定特征信息包括股票的收盘价信息、开盘价信息、最高价信息、最低价信息、成交量信息和调整收盘价信息,训练数据即具有包括股票的收盘价信息、开盘价信息、最高价信息、最低价信息、成交量信息和调整收盘价信息的数据。

模型构建和训练模块,用于根据输入的训练数据,基于深度学习理论并利用多层lstm神经网络构建股票价格预测模型,并对所述股票价格预测模型进行训练。模型构建和训练模块包括集成有交叉验证算法模块和集成有随机梯度下降算法模块。输入训练数据,基于深度学习理论,利用多层lstm神经网络构建股票价格预测模型。股票价格预测模型是一个多对多的模型,其模型有多个时间点,每个时间点有多个可用的特征,使得一次性利用多个时间点上的特征,通过选择不同的时间长度的特征得到大量的特征组合,以此大大增加了数据量,可以表示更多场景,提升股票价格预测模型的预测效果。其中,模型的特征值是通过固定一个时间长度为k,对于yt,取t-k-1至t-1时刻的所有数据得到的,在取到特征值的基础上,不一定向前取到t-k-1时刻,只需要向前取到t-l时刻的数据(l<k),t-k-1至t-l时刻的位置用0补齐,从而保持所有的输入项在格式上一致,并且可以得到更多的特征组合以表现更多不同的场景。股票价格预测模型至少包括两层输入层、两层隐含层和一层输出层,其中,输入层和隐含层均为lstm结构。选取多层(至少两层)lstm结构作为输入层,将tanh函数作为输入层内部激活函数和输入层与隐含层之间的激活函数,然后设定多个输入层网络节点;另外,选取多层(至少两层)lstm结构作为隐含层,将tanh函数作为隐含层内部激活函数,然后再设定多个隐含层网络节点,linear函数作为输出层的激活函数,输出节点为1。股票价格的预测模型可用公式表示如下:y表示预测值,表示第j个时间点上的第i个特征。构建好股票价格预测模型后,再利用数据对股票价格预测模型进行训练,其训练过程包括利用交叉验证的方法来调节参数,运用随机梯度下降算法训练股票价格预测模型。具体的,训练过程中利用交叉验证的方法来调节参数,划分出一部分的训练数据作为验证集;利用随机梯度下降算法训练股票预测模型,选择平均平方误差作为损失函数,以及选择rmsprop作为随机梯度下降算法的优化算法。

预测和测评模块,用于输出预测结果,并结合真实值以误差百分比作为评测指标进行测评。股票价格预测模型构建并训练好后,可以根据需要预测某一时刻股票价格,然后结合真实值以误差百分比的形式作为评测指标对模型的预测效果进行测评

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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