一种股票价格走势预测方法与流程

文档序号:17667222发布日期:2019-05-15 22:47阅读:486来源:国知局
本发明涉及股票价格预测
技术领域
,更具体地说,涉及一种股票价格走势预测方法。
背景技术
:当今股票市场不仅面临着市场数据量繁多、冗杂的问题,同时还受到预测准确性较低的挑战。在这种环境下如果可以比竞争对手更加准确的预测股票价格,将意味着每秒钟可能多创造数百万人民币甚至更大的交易量。因此,如何提高股票价格预测的准确性成了当下人们亟需解决的技术问题。目前分析股票价格变化趋势的方法主要分为两大类:基本面分析法和技术分析法。基本面分析法是一种定性分析法,通过分析宏观经济的运行状态、国家重大政策、公司的财务和经营状况等因素,对股票价格的变化趋势做出预测,这种方法需要投资者有专业的金融知识和丰富的股市交易经验。在大数据时代,通过人力分析,得出正确的股票价格变化规律已经不容易实现。技术分析法是一种应用数理统计知识,对股票历史价格、成交量、涨跌幅等股票交易数据进行归纳总结,建立能预测股票变化趋势的数学模型,并以此来推测将来股票价格变化的方法。技术分析法主要有时间序列分析法和数据挖掘法。时间序列分析法是一种定量预测方法,依据序列变量之间的相关性,利用统计模型拟合目标对象的时间序列,以此预测股票价格。常见的模型有向量自回归(var)模型和条件自回归极差(carr)模型。但这种两种方法都需要对股价的影响因素进行分别讨论,由于股票价格的变化与多种影响因素有关,所以时间序列分析法用于股票预测仍有不足。数据挖掘法利用神经网络、支持向量机、马尔科夫链等方法,对大量历史数据进行建模训练,挖掘出隐藏于数据中的股价波动的高维特征,从而逼近股价波动的非线性数学模型,实现对股票价格进行预测。尤其是循环神经网络,因其在时间上具有记忆功能的特点,近年来广泛应用于股价预测中,但在应用中仍有不足之处,股票价格的波动受多个因素的影响,并且各个因素对股票市场的影响程度各不相同,所以仅基于循环神经网络进行股价的预测也会存在较大的误差。技术实现要素:为解决上述技术问题,本发明提供一种股票价格走势预测方法。为实现上述目的,本发明所采用的具体技术方案如下:一种股票价格走势预测方法,包括以下步骤:s11:获取目标股票在当前时刻之前的某一时刻至当前时刻内多个交易日的多组真实股票特征数据;s12:将所述真实股票特征数据输入预先建立的股票价格预测模型中得到所述目标股票对应的预测股票特征数据,所述股票价格预测模型为在lstm循环神经网络模型的基础上利用所述目标股票的历史真实股票特征数据进行训练得到的模型;s13:利用模糊综合评价算法对所述预测股票特征数据进行评价,根据评价结果预测所述目标股票在下一个交易日的价格走势。进一步地,所述股票价格预测模型的建立包括以下步骤:s21:构建输入维度和输出维度为p的lstm循环神经网络模型,p为大于1的整数;s22:设置lstm循环神经网络模型的模型参数的初始值以及迭代次数;s23:获取所述目标股票在预设时间内交易日的历史真实股票特征数据,并利用梯度下降算法基于所述初始值、迭代次数以及所述历史真实股票特征数据进行训练得到所述lstm循环神经网络模型的模型参数的最终取值;s24:基于所述lstm循环神经网络模型以及其模型参数的最终取值构建出所述股票价格预测模型。进一步地,步骤s23中在获取得到目标股票的历史真实股票特征数据之后,对所述历史真实股票特征数据进行归一化处理,并利用经归一化处理后的历史真实股票特征数据进行训练得到所述lstm循环神经网络模型的模型参数的最终取值。进一步地,所述模型参数包括遗忘门的权重矩阵wf,遗忘门的偏置向量bf,输入门的权重矩阵wi,输入门的偏置向量bi,lstm单元状态值的权重矩阵wc,lstm单元状态值的偏置向量bc,输出门的权重矩阵wo,输出门的权重矩阵bo,隐藏层到输出层的权重矩阵v,隐藏层到输出层的偏置向量by;所述股票价格预测模型通过以下公式计算得到所述预测股票特征数据:其中,xt表示第t个交易日下股票价格预测模型输入的真实股票特征数据,ht-1表示第t-1个交易日下lstm单元的输出值,σ表示为sigmoid函数,yt表示第t个交易日下股票价格预测模型输出的预测股票特征数据,符号表示按元素乘。进一步地,所述预测股票特征数据包括多组历史预测股票特征数据以及1组未来预测股票特征数据,步骤s13包括以下步骤:s131:利用三角公式分别建立股票价格预测模型输出与股价下跌的第一隶属度函数,股票价格预测模型输出与股价平盘的第二隶属度函数,股票价格预测模型输出与股价上涨的第三隶属度函数,s132:根据所述第一隶属度函数、所述第二隶属度函数以及所述第三隶属度函数计算模糊综合评判矩阵rp×3;其中,每组的股票特征数据由p个股价影响因素的取值组成,其中rij表示第i个股价影响因素属于股价第j种情况的隶属度,yti表示第t个交易日下股票价格预测模型输出的未来预测股票特征数据中第i个股价影响因素的值,表示第一隶属度函数的输出值,表示第二隶属度函数的输出值,表示第三隶属度函数的输出值;s133:根据所述股票价格预测模型输出的所述预测股票特征数据计算每一所述股价影响因素与目标股价影响因素的贴进度,并将各贴进度组成的矩阵作为用于进行模糊综合评价的权重矩阵w1×p;s134:通过公式b=w1×p×rp×3计算决策评语集;s135:根据所述决策评语集预测所述目标股票在下一个交易日的价格走势。进一步地,所述决策评语集b=(b1,b2,b3),其中,b1表示在下一个交易日股价下跌的概率,b2表示在下一个交易日股价平盘的概率,b3表示在下一个交易日股价上涨的概率,步骤s135中将所述决策评语集中最大概率对应的股价走势作为所述目标股票在下一个交易日的价格走势。进一步地,所述p为6,输入所述股票价格预测模型的真实股票特征数据包括多个交易日下股票的开盘价op、收盘价cls、最高价hig、最低价low、成交量vol以及涨跌幅chg,所述股票价格预测模型输出的预测股票特征数据包括相应交易日的下一交易日中股票的开盘价op、收盘价cls、最高价hig、最低价low、成交量vol以及涨跌幅chg。进一步地,所述第一隶属度函数为:所述第二隶属度函数为:所述第三隶属度函数为:其中,表示所述股价预测模型输出的所述预测股票特征数据中第i个股价影响因素的最小值的d倍,表示所述股价预测模型输出的所述预测股票特征数据中第i个股价影响因素的最大值的k倍,d,k为正数。进一步地,所述d为1.25,所述k为0.8。进一步地,所述目标股价影响因素为涨跌幅,权重矩阵w1×p=(wop,wcls,whig,wlow,wvol,wchg);其中,opi表示第i组预测股票特征数据中的开盘价,clsi表示第i组预测股票特征数据中的收盘价,higi表示第i组预测股票特征数据中的最高价,lowi表示第i组预测股票特征数据中的最低价,voli表示第i组预测股票特征数据中的成交量,chgi表示第i组预测股票特征数据中的涨跌幅,所述n表示所述股票价格预测模型根据所述多组真实股票特征数据输出的预测股票特征数据的组数。本发明提供的股票价格走势预测方法利用lstm循环神经网络的记忆功能,捕获当前影响因素对下一交易日,或者更久远后的股票价格变化的影响,对股票价格进行预测,然后引入模糊综合评价算法对股票价格的预测结果进行评价,突出主要股票价格中重要属性的预测结果,使得模型更具有可靠性,使最终的预测结果更加贴合股票价格的实际变化趋势。附图说明下面将结合附图及实施例对本发明作进一步说明,附图中:图1为本实施例提供的股票价格走势预测方法的流程示意图;图2为本实施例提供的股票价格预测模型的部分结构示意图;图3为建立股票价格预测模型的流程示意图;图4为lstm单元结构的示意图;图5为本实施例提供的模糊综合评价结构的示意图;图6为股票价格走势预测方法的流程框图。具体实施方式为了使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本实施例提供一种股票价格走势预测方法,请参见图1所示,包括以下步骤:s11:获取目标股票在当前时刻之前的某一时刻至当前时刻内多个交易日的多组真实股票特征数据。本实施例中每一组股票特征数据包括多种股票特征对应的特征值,本实施例中以股票特征包括股票的开盘价op、收盘价cls、最高价hig、最低价low、成交量vol以及涨跌幅chg这6种特征进行示例性说明。s12:将真实股票特征数据输入预先建立的股票价格预测模型中得到目标股票对应的预测股票特征数据,股票价格预测模型为在lstm循环神经网络模型的基础上利用目标股票的历史真实股票特征数据进行训练得到的模型。本实施例中构建的股票价格预测模型的部分结构可以参见图2所示,该股票价格预测模型包括输入层、隐含层以及输出层,具体的,从输入层输入真实股票特征数据,然后通过隐含层从输出层输出预测数据,具体来说,请参见图3所示,股票价格预测模型的建立包括以下步骤:s21:构建输入维度和输出维度为p的lstm循环神经网络模型,p为大于1的整数。lstm循环神经网络模型的输入维度和输出维度与最终得到的股票价格预测模型的输入维度和输出维度相同,所以这里实质上也是构建股票价格预测模型的输入维度和输出维度,由于上述股票特征包括6种特征,所以这里以p为6进行示例性说明,所以输入股票价格预测模型的真实股票特征数据包括多个交易日下股票的开盘价op、收盘价cls、最高价hig、最低价low、成交量vol以及涨跌幅chg,股票价格预测模型输出的预测股票特征数据包括相应交易日的下一交易日中股票的开盘价op、收盘价cls、最高价hig、最低价low、成交量vol以及涨跌幅chg。其中,涨跌幅的计算公式为:应当理解的是,本实施例中可以通过现有的lstm循环神经网络模型构建方法搭建lstm循环神经网络模型,本实施例中假设搭建的lstm循环神经网络模型的输入维度和输出维度为p,则隐含层神经元个数为时间步长为time_step的lstm循环神经网络,g为大于8的整数。s22:设置lstm循环神经网络模型的模型参数的初始值以及迭代次数。s23:获取目标股票在预设时间内交易日的历史真实股票特征数据,并利用梯度下降算法基于初始值、迭代次数以及历史真实股票特征数据进行训练得到lstm循环神经网络模型的模型参数的最终取值。s24:基于lstm循环神经网络模型以及其模型参数的最终取值构建出股票价格预测模型。应当说明的是,步骤s23中在获取得到目标股票的多组历史真实股票特征数据之后,可以首先对历史真实股票特征数据进行清洗,滤除异常数据,然后对正常数据进行归一化处理,并利用经归一化处理后的历史真实股票特征数据进行训练得到lstm循环神经网络模型的模型参数的最终取值。这里假设历史真实股票特征数据为x=(x1,x2,…xm),其中,xi∈x,i=(1,2…m),本实施例中可以通过公式对历史真实股票特征数据进行归一化处理,r=0,1…p,公式中的表示第i个交易日的历史真实股票特征数据中第r个股票特征的值,表示的归一化值,公式中的xmax表示历史真实股票特征数据中相应股票特征的取值中的最大值,公式中的xmin表示历史真实股票特征数据中相应股票特征的取值中的最小值。本实施例中的模型参数包括遗忘门的权重矩阵wf,遗忘门的偏置向量bf,输入门的权重矩阵wi,输入门的偏置向量bi,lstm单元状态值的权重矩阵wc,lstm单元状态值的偏置向量bc,输出门的权重矩阵wo,输出门的权重矩阵bo,隐藏层到输出层的权重矩阵v,隐藏层到输出层的偏置向量by。步骤s23中可以随机初始化模型参数θ0=(wf,bf,wi,bi,wc,bc,wo,bo,v,by),并设定迭代次数step,然后采用梯度下降算法对模型参数θ进行更新,当达到迭代次数后,模型训练结束,得到股票价格预测模型。本实施例中lstm单元结构的示意图如图4所示,对于本实施例提供的股票价格预测模型:由第t个交易日下股票价格预测模型输入的真实股票特征数据xt与第t-1个交易日下lstm单元的输出值ht-1计算第t个交易日下lstm循环神经网络模型中隐藏层的lstm单元的遗忘门的值ft:ft=σ(wf·[ht-1,xt]+bf)(1)式中,wf、bf是遗忘门的权重矩阵和偏置向量,σ为sigmoid函数,初始时刻的lstm单元输出值h0设置为零向量;同样的,由第t个交易日下股票价格预测模型输入的真实股票特征数据xt与第t-1个交易日下lstm单元的输出值ht-1计算第t个交易日下lstm循环神经网络模型中隐藏层的lstm单元的输入门的值it:it=σ(wi·[ht-1,xt]+bi)(2)式中,wi、bi是输入门的权重矩阵和偏置向量;由第t个交易日下的股票价格预测模型输入的真实股票特征数据xt与第t-1个交易日下lstm单元的输出值ht-1计算第t个交易日下lstm循环神经网络模型中隐藏层的lstm单元的单元当前状态的输入值式中,wc、bc是lstm单元状态的权重矩阵和偏置向量,tanh为双曲正切函数;由式(3)得出的第t个交易日下lstm单元的状态的输入值与第t-1个交易日下lstm单元的状态值ct-1计算第t个交易日下lstm单元的状态值ct:式中,wc、bc是lstm单元状态值的权重矩阵和偏置向量;由第t个交易日下的股票价格预测模型输入的真实股票特征数据xt与第t-1个交易日下lstm单元的输出值ht-1计算第t个交易日下lstm循环神经网络模型中隐藏层的lstm单元的输出门的值ot:ot=σ(wo·[ht-1,xt]+bo)(5)式中,wo、bo是输出门的权重矩阵和偏置向量;由式(4)、(5)得出的第t个交易日下lstm单元的状态值ct与输出门的值ot计算第t个交易日下lstm单元的输出值ht式中,符号表示按元素乘;由式(6)得出的第t个交易日下lstm单元的输出值ht计算第t个交易日下股票价格预测模型的输出值yt:yt=by+vht(7)式中,v表示为隐藏层到输出层的权重矩阵,by表示隐藏层到输出层的偏置向量。综上,股票价格预测模型通过以下公式计算得到预测股票特征数据:其中,xt表示第t个交易日下股票价格预测模型输入的真实股票特征数据,ht-1表示第t-1个交易日下lstm单元的输出值,σ表示为sigmoid函数,lstm单元的初始输出值h0可以设置为零向量,lstm单元的初始状态值c0也可以设置为零向量,yt表示第t个交易日下股票价格预测模型输出的预测股票特征数据,符号表示按元素乘。s13:利用模糊综合评价算法对预测股票特征数据进行评价,根据评价结果预测目标股票在下一个交易日的价格走势。需要说明的是,本实施例中预测股票特征数据包括多组历史预测股票特征数据以及1组未来预测股票特征数据,所谓历史预测股票特征数据是指预测的在当前时刻之前的股票特征数据,未来预测股票特征数据是指预测的在当前时刻之后的股票特征数据。比如,假设步骤s11中获取了200个交易日下的真实股票特征数据,也即获取了200组真实股票特征数据,可以将连续的6个交易日的真实股票特征数据分成一大组,将每一大组的真实股票特征数据输入股票价格预测模型,股票价格预测模型就可以输出预测的下一个交易日的预测股票特征数据,具体的,股票价格预测模型可以根据第16个交易日的真实股票特征数据预测第7个交易日的预测股票特征数据,根据第2~7个交易日的真实股票特征数据预测第8个交易日的预测股票特征数据,根据第3~8个交易日的真实股票特征数据预测第9个交易日的预测股票特征数据,依次类推,根据第194~199个交易日的真实股票特征数据预测第200个交易日的预测股票特征数据,根据第195~200个交易日的真实股票特征数据预测第201个交易日的预测股票特征数据,也即得到未来预测股票特征数据。所以当将获取的200组真实股票特征数据输入股票价格预测模型时,可以得到194组历史预测股票特征数据以及1组未来预测股票特征数据。本实施例中的步骤s13包括以下步骤:s131:利用三角公式分别建立股票价格预测模型输出与股价下跌的第一隶属度函数,股票价格预测模型输出与股价平盘的第二隶属度函数,股票价格预测模型输出与股价上涨的第三隶属度函数。s132:根据第一隶属度函数、所述第二隶属度函数以及第三隶属度函数计算模糊综合评判矩阵rp×3;其中,每组的股票特征数据由p个股价影响因素的取值组成,其中rij表示第i个股价影响因素属于股价第j种情况的隶属度,表示第t个交易日下股票价格预测模型输出的未来预测股票特征数据中第i个股价影响因素的值,表示第一隶属度函数的输出值,表示第二隶属度函数的输出值,表示第三隶属度函数的输出值。s133:根据所述股票价格预测模型输出的所述预测股票特征数据计算每一所述股价影响因素与目标股价影响因素的贴进度,并将各贴进度组成的矩阵作为用于进行模糊综合评价的权重矩阵w1×p。s134:通过公式b=w1×p×rp×3计算决策评语集。s135:根据所述决策评语集预测所述目标股票在下一个交易日的价格走势。步骤s131中应当分别建立股票价格预测模型输出的预测股票特征数据中每一股票特征的输出值与股价下跌的第一隶属度函数,每一股票特征的输出值与股价平盘的第二隶属度函数,每一股票特征的输出值与股价上涨的第三隶属度函数。本实施例中建立的第一隶属度函数可以为:第二隶属度函数为:第三隶属度函数为:其中,表示股价预测模型输出的预测股票特征数据中第i个股价影响因素所有取值中的最小值的d倍,表示股价预测模型输出的预测股票特征数据中第i个股价影响因素所有取值中的最大值的k倍,d,k为正数,这里的股价影响因素也即是上文所提及的股票特征。可选的,本实施例中的d为1.25,k为0.8。根据上述示例,股票价格预测模型可以输出194组历史预测股票特征数据以及1组未来预测股票特征数据。假设股票特征(股价影响因素)包括股票的开盘价op、收盘价cls、最高价hig、最低价low、成交量vol以及涨跌幅chg,则对于股价预测模型输出的预测股票特征数据中的每一股票特征值都分别代入上述第一隶属度函数、第二隶属度函数以及第三隶属度函数,从而得到模糊综合评判矩阵此时对应的模糊综合评价结构可以参见图5所示。对于步骤s133,目标股价影响因素可以为chg,此时则应当分别计算chg与op的贴进度、chg与cls的贴进度、chg与hig的贴进度、chg与low的贴进度、chg与vol的贴进度以及chg与chg的贴进度。本实施例中用于进行模糊综合评价的权重矩阵w1×p=(wop,wcls,whig,wlow,wvol,wchg);其中,其中,opi表示第i组预测股票特征数据中的开盘价,clsi表示第i组预测股票特征数据中的收盘价,higi表示第i组预测股票特征数据中的最高价,lowi表示第i组预测股票特征数据中的最低价,voli表示第i组预测股票特征数据中的成交量,chgi表示第i组预测股票特征数据中的涨跌幅,n表示股票价格预测模型根据多组真实股票特征数据输出的预测股票特征数据的组数。对于上述示例,最后得到的决策评语集b=(b1,b2,b3),其中,b1表示在下一个交易日股价下跌的概率,b2表示在下一个交易日股价平盘的概率,b3表示在下一个交易日股价上涨的概率,步骤s135中可以将决策评语集中最大概率对应的股价走势作为所述目标股票在下一个交易日的价格走势,本实施例所提供方法的预测框架如图6所示。为验证本实施例所提供方法的有效性,这里获取某只股票的历史数据共700组,作为样本数据,并对数据做清洗处理,其中500组作为训练样本数据,200组作为测试样本数据,归一化处理后的历史股票特征数据中的部分数据如表1所示。表1序号opclslowhigvolchg10.3358950.3649850.3128490.3580160.6091570.0897420.3505000.3720330.3654400.3881090.606887-0.0189430.2530750.2896880.3128490.3060370.5831690.28425440.2895850.2650220.2469660.2874340.4335070.09307250.2446200.2602000.2101710.3049430.2053230.018532搭建股票价格预测模型如图2所示,将上诉处理后的序列数据x=(x1,x2,…,x500),x=(op,cls,hig,low,chg,vol)作为lstm循环神经网络模型的输入,以单个股价影响因素序列数据op=(op7,op8…,op507),cls=(cls7,cls8…,cls507),hig=(hig7,hig8…,hig507),low=(low7,low8…,low507),low=(low7,low8…,low507)作为模型输出标签,具体的,设置模型输入维度input_dim=6,时间长度time_step=7,隐含层神经元个数g=12,模型输出维度output_dim=6,设置模型参数θ0=(wf,bf,wi,bi,wc,bc,wo,bo,v,by)的初始值,并设定迭代次数step=2000,采用随时间反向传播(bptt)算法对参数θ进行更新,当达到迭代次数后,模型训练结束,得到股票价格预测模型,股票价格预测模型可以按照式(1)~(7)进行计算,从而得到预测结果。搭建如图5所示的模糊综合评价模型,将测试样本数据输入到已经训练好的股票价格预测模型中得到测试结果,对测试结果进行模糊综合评价,根据评价结果预测股票价格走势,具体过程包括:根据式(8)~(10)计算6个股票价格影响因素对于股价走势的模糊综合评判矩阵r6×3,某交易日对应的模糊综合评判矩阵为:根据式(11)和(12)计算股票价格各属性贴进度如表2所示:表2opclschglowhigvolop10.98530.57010.99840.99010.1702cls0.985310.57370.98870.97570.1882chg0.57010.573710.57230.61030.1695low0.98940.98870.572310.99650.1784hig0.99010.97570.61030.996510.1932vol0.17020.18820.16950.17840.19321本次试验中,选取涨跌幅chg与其他因素的贴进度作为模糊综合评价系统的权重矩阵w1×6,交易日对应的权重矩阵w1×6为:w1×6=(0.5701,0.5703,1,0.5723,0.6103,0.1695)解模糊运算,求解决策评语集b:b=w×r=(b1,b2,b3)本实验中的部分测试结果请参见下面的表3:表3序号b1b2b3预测结果实际走势10.19470.31050.4948上涨上涨20.19610.23420.5697上涨上涨30.16520.17500.6597上涨上涨40.25760.25460.4878上涨下跌50.18810.01060.8013上涨上涨要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1