掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度森林生成对抗网络的金融时间序列预测方法

文献发布时间:2023-06-19 11:57:35


一种基于深度森林生成对抗网络的金融时间序列预测方法

技术领域

本发明涉及金融时间序列预测领域,尤其涉及一种基于深度森林生成对抗网络的金融时间序列预测方法。

背景技术

金融时间序列预测是根据金融数据的历史规律以及变化趋势,对未来金融数据的发展状况做出合理的推测。金融时间序列是时间序列的一种,金融时间序列预测对于政府、投资机构和投资者均有着重要的意义,如何提取特征提高预测准确率,一直以来都是金融领域和计算机领域的研究热点。

传统的金融时间序列预测技术主要包括自回归滑动平均模型、自回归条件差异方差模型、多元线性回归模型等。传统时间序列的预测方法理论成熟,运用起来比较简单,但是传统的时间序列预测方法不能很好地处理非线性拟合的问题,原因在于这些方法都是针对线性的分析方法,而处理非线性问题时应注意数据之间的量化关系,由于传统方法的限制,研究者们发明了很多机器学习的时间序列预测方法,基础的机器学习方法包括人工神经网络(ANN)、支持向量机(SVM)、以及新兴方法生成对抗网络(GAN)等,但这些方法存在模型复杂,收敛困难的问题。

生成对抗网络虽然已经在图像处理、语言分割、视频预测等领域有着广泛的应用,但是针对金融时间序列这种数据量大、特征性多、非线性非稳定噪声性高的复杂时间序列的预测精度不高。

发明内容

根据现有技术存在的问题,本发明公开了一种基于深度森林生成对抗网络的金融时间序列预测方法,包括以下步骤:

S1:获取原始金融时间序列数据,对原始金融时间序列数据进行预处理,得到预处理后金融时间序列数据,计算得到目标金融序列的技术指标,将目标金融序列的技术指标定义为特征序列;

S2:将得到的目标金融序列的技术指标作为深度森林算法的输入特征序列,选择滑动窗口对输入特征序列进行多粒度扫描,训练级联森林,进行特征序列选择,得到特征序列的重要度,将重要度最大的特征序列划分为训练集和测试集;

S3:将离散小波变换与添加了注意力机制的长短时记忆网络作为生成器,卷积神经网络作为判别器,构建生成对抗网络模型,对金融时间序列进行预测;

S4:将训练集输入到生成对抗网络模型中进行对抗训练,获得训练好的生成对抗网络模型;

S5:将测试集输入到训练好的生成对抗网络模型,得到金融时间序列的预测结果。

进一步地,所述对金融时间序列数据进行预处理的过程如下:

S1-1:判断采集到的原始金融时间序列数据是否存在数据缺失与异常值问题,当原始金融时间序列数据不存在数据缺失与异常值问题,则将采集到的原始金融时间序列作为完整时间序列;当存在数据缺失与异常值问题,则将该时间点缺失值或异常值之前一周时间内的平均值作为该时间点的数据,补齐金融时间序列;

S1-2:对得到的完整的金融时间序列数据进行归一化处理,得到归一化处理后的金融时间序列数据。

进一步地:所述归一化处理公式如(1)所示:

其中,X

进一步地:所述目标金融序列的技术指标包括如下:开盘价、收盘价、最高价、最低价、成交量、SMA、MACD、KDJ、BOLL和CR。

进一步地,所述进行特征选择的过程如下:

S2-1:使用CART算法的成本函数和基尼系数,生成用于集成随机森林和XGBoost的二叉树结构的决策树;

S2-2:采用多粒度扫描进行特征扫描和特征转换,具体过程如下:

S2-2-1:输入一个m维的原始数据样本,滑动窗口为q维,滑动步长c,滑动窗口扫描原始数据样本提取数据特征,将生成N个q维特征实例,完成特征扫描;

S2-2-2:将q维特征实例经过随机森林和XGBoost训练后,随机森林和XGBoost分别输出s维类概率向量,将所有类概率向量连接为L维转换特征向量,完成特征转换;

S2-3:选择基于Bagging集成方式的随机森林和基于Boosting集成方式的XGBoost作为级联层的基学习器,多个级联层连接构成级联森林;

S2-4:转换特征向量作为级联森林的输入,在级联森林的每层级联层进行随机森林训练和XGBoost训练,在逻辑回归之前,每层级联层产生的类向量和原始特征向量拼接作为下一级联层的输入,逐层训练后,对最后一层级联层产生的所有类向量通过逻辑回归产生最终类向量,从而得到深度森林特征选择的结果。

进一步地,所述离散小波变换采用的公式如下:

其中,f(t)为时间序列,ψ

进一步地,所述生成器包括将特征序列分解为不同频率的序列的离散小波变换和具有记忆功能的长短时记忆网络;

所述长短时记忆网络中添加注意力机制处理各层长短时记忆网络时间信息;

所述判别器采用卷积神经网络;

所述生成器的目标函数包括WGAN中的目标函数及添加了真实数据和预测数据的均方误差;

所述判别器的目标函数采用WGAN中判别器的目标函数。

进一步地,所述构建生成对抗网络模型,过程如下:

将由深度森林算法选择出的特征序列输入到生成器:

对特征序列进行离散小波变换,将变换后的小波输入到添加了注意力机制的长短时记忆网络,将长短时记忆网络的输出求和作为生成器的生成数据;

将生成序列与真实序列输入给判别器,判别器根据判断输入的序列为真实序列还是生成序列,调节生成器和判别器的参数,构建生成对抗网络模型。

进一步地,所述生成对抗网络模型的训练过程如下:

S4-1:初始化生成器和判别器的学习率l

S4-2:当生成对抗网络模型不收敛,则对生成器G进行更新和判别器D进行更新,所述对生成器G进行更新和判别器D进行更新的过程如下:

更新生成器G的过程如下:首先对生成器输入数据X采用Mallat算法进行m阶DWT得到数据X

更新判别器D的过程如下:由更新好的生成器G*得到生成数据

当生成对抗网络模型的损失函数稳定在某个极小值附近且多次训练不变动;则生成对抗网络模型收敛,训练结束。

进一步地,所述成本函数采用的公式如下:

其中,G

所述基尼系数采用的公式如下:

其中,H(k,v

由于采用了上述技术方案,本发明提供的一种基于深度森林生成对抗网络的金融时间序列预测方法,该方法首先由深度森林算法对输入的技术指标进行特征选择,得到特征重要度,将重要度最大的特征作为生成对抗网络的输入,着重考虑对后续分析影响大的特征;在生成对抗网络部分,生成器添加离散小波变换与重构的目的是考虑到了金融时间序列非线性非稳定高噪声性的特征,,在长短时记忆网络中添加了注意力机制的目的是考虑到了各长短时记忆网络层间的时间信息,通过深度森林进行特征选择,改进原始生成对抗网络,提高基于深度森林生成对抗网络金融序列预测模型的预测准确率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明所述金融时间序列预测方法的整体设计流程图;

图2是本发明所述金融时间序列预测方法的深度森林特征选择结构图;

图3是本发明所述金融时间序列预测方法的生成对抗网络结构图;

图4是本发明所述金融时间序列预测方法的注意力机制LSTM结构图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

图1是本发明所述金融时间序列预测方法的整体设计流程图;一种基于深度森林生成对抗网络的金融时间序列预测方法,

S1:获取2002年-2020年沪深300指数作为原始金融时间序列数据,对原始金融时间序列数据进行预处理,得到预处理后金融时间序列数据,计算得到目标金融序列的技术指标,将目标金融序列的技术指标定义为特征序列;

S2:将得到的目标金融序列的技术指标作为深度森林算法的输入特征序列,选择滑动窗口对输入特征序列进行多粒度扫描,训练级联森林,进行特征序列选择,得到特征序列的重要度,将重要度最大的特征序列划分为训练集和测试集;

S3:将离散小波变换与添加了注意力机制的长短时记忆网络作为生成器,卷积神经网络作为判别器,构建生成对抗网络模型,对金融时间序列进行预测;

S4:将训练集输入到生成对抗网络模型中进行对抗训练,获得训练好的生成对抗网络模型;

S5:将测试集输入到训练好的生成对抗网络模型,得到金融时间序列的预测结果。

进一步地:所述对金融时间序列数据进行预处理的过程如下:

S1-1:判断采集到的原始金融时间序列数据是否存在数据缺失与异常值问题,如果不存在数据缺失与异常值问题,当原始金融时间序列数据不存在数据缺失与异常值问题,则将采集到的原始金融时间序列作为完整时间序列;当存在数据缺失与异常值问题,则将该时间点缺失值或异常值之前一周时间内的平均值作为该时间点的数据,补齐金融时间序列;

S1-2:对得到的完整的金融时间序列数据进行归一化处理,得到归一化处理后的金融时间序列数据。

进一步地:所述归一化处理公式如(1)所示:

其中,X

进一步地:所述技术指标如下:

基于“四价一量”即开盘价、收盘价、最高价、最低价与成交量作为初始特征计算其他技术指标。由于股票数据的技术指标众多,本深度森林模型中按照技术指标选取原则选取了“四价一量”和衍生指标SMA、MACD、KDJ、BOLL、CR共10个技术指标用于深度森林模型输入数据。移动均线SMA是均线型,适用于长期趋势预测情况,SMA均线平滑且对价格反应更迟钝,能够给交易者提供总体的趋势方向,减少不必要的损失。异同移动平均线MACD是趋势型,适用于中长线,包含一条长期和一条短期均线,可较好的判断出价格中的虚假信息。随机指标KDJ是超买超卖型,适用于中短期投资。布林线BOLL有三条线条参数,其中压力线和支撑线基本确定了股价波动范围,平均线可作为参考值。能量指标CR是能量型,既可以衡量人气的高涨程度,也可以衡量股票的压力带及支撑带。

进一步:所述深度森林进行特征选择步骤如下:

S2-1:使用CART算法的成本函数和基尼系数如式(2)(3)所示,生成二叉树结构的决策树;

所述成本函数采用的公式如下:

其中:G

所述基尼系数采用的公式如下:

其中,H(k,v

S2-2:采用多粒度扫描进行特征扫描和特征转换,具体过程如下:

S2-2-1:输入一个m维的原始数据样本,滑动窗口为q维,滑动步长c,滑动窗口扫描原始数据样本提取数据特征,将生成N个q维特征实例,完成特征扫描;如式(4)所示:

N=(m-q)/c+1 (4)

S2-2-2:将q维特征实例经过随机森林和XGBoost训练后,随机森林和XGBoost分别输出s维类概率向量,将所有类概率向量连接为L维转换特征向量,完成特征转换;

L=2*[(m-q)/k+1]*s (5)

S2-3:选择基于Bagging集成方式的随机森林和基于Boosting集成方式的XGBoost作为级联层的基学习器,多个级联层连接构成级联森林;

级联森林包含多个级联层,级联森林的层数根据数据集自适应的确定,选择基于Bagging集成方式的随机森林和基于Boosting集成方式的梯度树提升树XGBoost作为基学习器以降低特征选择模型的方差和偏差;

S2-4:转换特征向量作为级联森林的输入,在级联森林的每层级联层进行随机森林训练和XGBoost训练,在逻辑回归之前,每层级联层产生的类向量和原始特征向量拼接作为下一级联层的输入,逐层训练后,对最后一层级联层产生的所有类向量通过逻辑回归产生最终类向量,从而得到深度森林特征选择的结果。

图2是本发明深度森林特征选择结构图,深度森林模型包括多粒度扫描阶段和级联森林阶段,级联森林包括多个级联层,每层级联层包括随机森林和XGBoost两种基学习器;

将多粒度扫描阶段产生的转换特征向量作为级联森林的输入,在级联森林的每层级联层进行随机森林训练和XGBoost训练,在逻辑回归之前,每层级联层产生的类向量和原始特征向量拼接作为下一层级联层的输入,逐层训练后,对最后一层级联层产生的所有类向量通过逻辑回归产生最终类向量,从中取最大值得到原始样本集的最终分类;

在级联森林阶段,为了避免级联森林训练产生过拟合现象,对每个随机森林和XGBoost的训练都采用k折交叉验证产生类向量,级联森林的级联水平可以自适应,每个级联层的类向量是动态更新的,根据测试集对整个级联森林的性能进行评估,如果在连续三层以内训练中模型没有明显的性能改进,级联过程将自动终止。此过程可以使模型适用于不同规模的数据样本,当样本量较小时,技术指标的特征信息会紧密结合增强原始样本集的表征学习能力;当原始样本集数量较大时,级联层数量会受到限制,以加快模型的训练过程。

进一步地:所述离散小波变换采用的公式如下:

其中,f(t)为时间序列,ψ

进一步地,所述生成器包括将将非线性非稳定高噪声的特征序列分解为不同频率的序列的离散小波变换和具有记忆功能的长短时记忆网络(LSTM);

所述长短时记忆网络中添加注意力机制处理各层长短时记忆网络间的时间信息;

所述判别器采用卷积神经网络,它是一种包含卷积计算且具有深度结构的前馈神经网络;

所述生成器的目标函数包括WGAN中的目标函数及添加了真实数据和预测数据的均方误差;

所述判别器的目标函数采用WGAN中判别器的目标函数。

进一步地:所述生成对抗网络模型的构建方法,步骤如下:

将由深度森林算法选择出的特征序列输入到生成器:

对特征序列进行离散小波变换,将变换后的小波输入到添加了注意力机制的长短时记忆网络,将长短时记忆网络的输出求和作为生成器的生成数据;

将生成序列与真实序列输入给判别器,判别器根据判断输入的序列为真实序列还是生成序列(如果判断为生成序列,则提高生成器的生成能力,降低判别器的判断能力;如果判断为真实序列,则降低生成器的生成能力,提高判别器的判断能力,一直到判别器无法判断生成器输入的序列性质为止),调节生成器和判别器的参数,构建生成对抗网络模型。

图3是本发明生成对抗网络模型结构图;生成网络(生成器)采用的是DWT与7个添加注意力机制的LSTM的结合,每个神经网络有3层LSTM隐藏单元,每层包含10个神经元,激活函数为tanh,学习率为0.0006,采用正则化防止过拟合;DWT通过将原始序列分解为详细的近似系数值,分解成7组不同频段不同分辨率的序列。分解后的序列包含反映了原始序列变化趋势的1个低频序列和包含了原始序列噪声分量的6个低频序列。将单支重构后的7个小波输入7个添加了注意力机制的LSTM神经网络中。将7个LSTM+AM网络的输出求和作为生成网络的生成数据。然后,将生成序列与真实序列一起输入给判别网络。

图4是本发明的注意力机制LSTM结构图,注意力机制是计算输入与目标状态之间的相似性度量,相似性越高,当前输入的权重越大。因为原始的LSTM层不能充分利用各层之间丰富的时间信息,所以添加了注意力机制计算不同的时间步长权重。LSTM与LSTM+AM网络结构对比如图4所示,x

其中,h

进一步地,判别网络(判别器)采用的是卷积神经网络,卷积神经网络由输入层、卷积层、池化层、全连接层、输出层组成。其中生成数据和真实数据由输入层输入,在卷积层对数据进行特征提取,激活层加入非线性因素来提高网络的表达能力,池化层则进行降维去除冗余减少参数量,全连接层对前面提取的特征整合,最后由输出层对网络最终的判断结果进行输出。判别网络由3层CNN构成,卷积核分别为[1,2]、[1,64]、[1,128],激活函数为lrelu,学习率为0.0006,池化方法为最大池化。

进一步地,损失函数包括生成器损失和判别器损失,判别器损失函数采用WGAN网络的损失函数,如式(10)所示:

其中,D(·)表示判别器的输出,Y=(y

本文生成器的损失函数如式(11)中所示:

其中,g

进一步地:所述生成对抗网络模型的训练过程如下:

S4-1:初始化生成器和判别器的学习率l

S4-2:当生成对抗网络模型不收敛,则对生成器G进行更新和判别器D进行更新,所述对生成器G进行更新和判别器D进行更新的过程如下:

更新生成器G的过程如下:首先对生成器输入数据X采用Mallat算法进行m阶DWT得到数据X

更新判别器D的过程如下:由更新好的生成器G*得到生成数据

当生成对抗网络模型的损失函数稳定在某个极小值附近且多次训练不变动;则生成对抗网络模型收敛,则训练结束。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种基于深度森林生成对抗网络的金融时间序列预测方法
  • 一种基于长短记忆网络与深度数据清洗的金融时间序列预测方法,装置及服务器
技术分类

06120113115590