APP下载

基于深度学习的金融时间序列数据集成预测

2020-05-07闫洪举

统计与信息论坛 2020年4期
关键词:上证指数分量卷积

闫洪举

(1.中国农业银行 博士后科研工作站,北京 100005;2.北京大学 经济学院,北京 100871)

一、引言

金融时间序列数据通常含有大量噪声,呈现出显著的非线性、非平稳等复杂特征,这使得金融时间序列数据预测成为一项极具挑战的研究课题,学者将计量经济学、机器学习等方法应用于金融时间序列数据预测,也取得较好的预测效果。然而,与计量经济学方法、机器学习等相比,深度学习采用无监督学习的逐层特征提取,具有更强大的特征表达能力,可学习更加复杂的函数表示。此外,深度学习在提高样本内数据预测精度的同时,更容易缓解过拟合问题,具有更强的泛化能力[1],且诸如长短期记忆神经网络(LSTM)等深度学习算法能够很好地刻画时间序列的长记忆性[2]。因此,将深度学习应用于具有复杂特征的金融时间序列数据预测更具适用性。

深度学习的卷积神经网络(CNN)在时间序列数据预测[3]、图像处理[4]等领域有着广泛应用。将CNN应用于金融时间序列数据预测存在以下优势:首先,CNN的主要优点是卷积层和池化层作为输入向量的特征提取器,在不提供复杂信息处理的情况下学习神经网络训练所需的重要特征[5]。其次,CNN可以充分考虑时间或空间数据的局部相关性。

然而,CNN难以捕捉金融时间序列数据的长期序列特征。学者提出将CNN和纳入时间序列数据依赖特征的循环神经网络相结合,并应用于文本分类,循环结构捕捉词汇的上下文信息,CNN自动判断哪些词汇在文本分类中起关键作用,实证结果表明该方法的分类精度高于单一的CNN[6]。循环卷积神经网络可以同时处理序列数据的序列依赖特征和局部关联特征,处理文本等时序数据的表现也优于现有的卷积神经网络。但循环卷积神经网络是否适用于金融时间序列数据预测,与循环神经网络相比其预测效果怎样,现有的文献并未给出探究。因此,本文提出将CNN和循环神经网络中一种更简单、有效的门控循环单元(GRU)神经网络结合,即采用CNN-GRU神经网络预测金融时间序列数据。

此外,在短期、中期和长期范围内,影响金融时间序列数据变化的因素错综复杂、不尽相同。为提高预测精度,学者提出利用小波分析、经验模态分解(EMD)、集成经验模态分解(EEMD)等方法构建金融时间序列数据的组合预测方法[7]。EMD和小波分析方法,可以将原时间序列数据中不同频率、不同振幅的信息逐一分解,但小波基的选择以及分解层数的选择均会对分解结果产生较大影响,其分解结果也不如EMD方法精确[8]。EEMD能够通过自适应的方式提取时间序列数据的各分量和变化趋势,有效减少EMD所存在的模态混叠现象,并克服小波分析中易出现的没有具体物理含义的谐波缺点[9]。

基于上述分析,本文对于金融时间序列数据的预测从以下两个角度展开:第一,构建CNN-GRU神经网络,分析其应用于金融时间序列数据预测的理论基础。第二,采用EEMD与游程判定法将金融时间序列数据分解、重构为低频分量、高频分量和趋势项,然后采用诸如BP神经网络、支持向量机等机器学习算法以及诸如GRU神经网络、CNN-GRU神经网络等深度学习算法对不同频率的分量分别预测,最后将各分量的预测结果进行集成,以得到金融时间序列数据的最终预测值。

较于现有的金融时间序列数据预测模型,本文的预测方法具有以下优势:第一,与传统的计量经济模型以及机器学习算法相比,CNN-GRU神经网络具有强大的特征提取能力,可更有效地捕捉金融时间序列数据间的非线性、非平稳等复杂关系。第二,与GRU等循环神经网络相比,CNN-GRU神经网络可以纳入金融时间序列数据的局部空间关联特征,进而将可以充分考虑不同金融时间序列数据的相互关联特征,与CNN相比,CNN-GRU神经网络可以更好地处理金融时间序列数据存在的长期以及短期序列依赖特征。第三,可从短期扰动、中期周期、长期趋势三个维度构建金融时间序列预测模型,构建基于不同频率、不同波动特征的时间序列数据预测模型。

二、研究方法与理论基础

首先分析时间序列数据分解与重构的基本原理,提出将IMF分量和残余项重构为短期波动(高频分量)、中期周期项(低频分量)和长期趋势项三部分。然后,探究CNN-GRU神经网络应用于金融时间序列数据预测的理论基础。

(一)时间序列数据的分解与重构

Wu 和 Huang 在EMD的基础上提出一种新的噪声辅助数据分析方法,即EEMD,将时间序列数据分解为一系列不同波动频率且相互独立的分量(即本征模函数,IMF)和趋势分量(即残余项,RES)[10]。分解出的IMF分量必须满足以下两个要求:一是分量的极值点个数必须相等或最多相差一个;二是在任意时间点上,由局部极大值点确定的上包络线,以及局部极小值点确定的下包络线的均值必须为零[11]。分解的基本原理是:首先,对将要分解的金融时间序列数据增加白噪声,再分解增加了白噪声后的时间序列数据;然后,重复上述分解过程,但每次在金融时间序列数据中所加的白噪声应该存在一定差异;最后,将每次分解得到的IMF分量相加后求均值,以消除所增加的白噪声对时间序列数据的影响,进而得到IMF分量的最后结果[12]。

为使IMF分量信息集中,同时降低预测分量数量,刘兴杰等采用游程判定法合并了波动程度相近的IMF分量[13]。借鉴该方法,本文采用游程判定法将EEMD分解得到的IMF分量重构为低频分量和高频分量,以反映金融时间序列数据的短期和中期波动情况,将EEMD分解得到的残余项作为趋势项,以反映金融时间序列数据的长期趋势变化情况。

对于样本数为N的金融时间序列数据而言,其最大游程数为N,将游程数[1,2,…,N]划分为两个区间。其中,将落在游程数较大区间的IMF分量重构为时间序列数据的高频分量,落在游程数较小区间的IMF分量重构为时间序列数据的低频分量。

(二)CNN-GRU神经网络

CNN是神经网络的一种,包括卷积层、池化层和全连接层。卷积层通过卷积计算和权重共享原理,学习并提取时间序列数据的局部关联特征。池化层对卷积层提取的特征进一步压缩,在提取输入时间序列数据的主要特征的同时,可以有效降低神经网络的复杂度,进而提高神经网络的泛化能力。全连接层将经过卷积层和池化层提取出的特征组合,实现对金融时间序列数据的预测。

卷积层是CNN非常重要的一个模块,通过一个过滤器提取输入数据的特征,即对前一层特征向量实施滑动的卷积运算得到提取的特征向量。该过程充分考虑了输入金融时间序列数据的局部关联特征,且权值共享有效降低了神经网络模型的复杂程度,减少了神经元间连接权重的数量。 将上述得到的卷积层通过激活函数进一步做非线性映射,纳入数据的非线性特征,常选用整流性单元(ReLU)激活函数,形式为:

f(x)=max{0,x}

(1)

池化层的作用是提取卷积层中所提取特征向量重要信息的同时,进一步降低数据规模,减少神经网络中所需计算的参数,有效缓解过拟合问题。 CNN可通过卷积层和池化层提取输入特征向量的重要特征,充分捕捉时间序列数据间的局部关联特征,但难以处理金融时间序列数据所存在的长期和短期依赖特征。

门控循环单元(GRU)神经网络是在长短期记忆(LSTM)神经网络的基础上发展而来,可有效反映金融时间序列数据的序列依赖特征,在语音处理、时间序列数据预测等领域有着广泛的应用。GRU神经网络结构如图1所示。

图1 GRU神经网络结构示意图

在GRU神经网络中,t时刻的输出yt不仅与当前的输入xt有关,还与t-1时刻的输入ht-1相关,而ht-1中可能包含了t-1时刻的输入xt-1,乃至t-2,t-3,…,1时刻的输入信息,t+1时刻的输出yt+1不仅与当前的输入xt+1有关,还与t时刻的输入xt相关,甚至与t-1时刻的输入xt-1相关。进一步探究GRU神经网络对于金融时间序列数据长期、短期序列依赖关系的处理机制。GRU模块内部主要通过重置门(Reset gate)和更新门(Update gate)来记忆、更新金融时间序列数据的序列相关特征。其内部结构如图2所示。

在图2中,GRU模块的重置门接收当前输入的信息(即xt)与先前时间序列信息(即ht-1),并决定所需遗忘的先前记忆信息的量,即:

rt=σ(Wrxt+Urht-1+br)

(2)

图2 GRU内部结构图

基于当前输入信息、先前记忆信息和重置门的信息输出,可以得到当前状态下形成的候选记忆信息,即:

(3)

基于式(2)和式(3)可以看出,当重置门输出rt取值接近0时,则t-1状态下形成的记忆信息需要被完全遗忘,这意味着先前时间序列所形成的记忆信息对形成当前候选记忆信息不会产生任何影响,说明该时间序列数据不存在序列相关性。当重置门输出rt取值接近1时,则t-1状态下形成的记忆信息在形成当前候选记忆信息时需要完全保留,这意味着先前时间序列记忆信息对当前时间序列会产生较大影响,说明该时间序列数据存在较大的序列相关性。

在图2中,GRU模块的更新门同样接收当前输入信息和先前时间序列信息,并决定所需遗忘的先前记忆信息和所需添加的当前记忆信息。

zt=σ(Wzxt+Uzht-1+bz)

(4)

其中,Wz与Uz为更新门神经网络权重,bz为偏置,σ为Sigmoid非线性激活函数,故zt的取值在0~1之间。

基于t-1状态下形成的记忆信息、当前状态下形成的候选记忆信息以及更新门输出,可以得到当前状态下最终形成的记忆信息,即:

(5)

基于式(4)和式(5)可以看出,当更新门的输出zt的取值接近0时,说明在形成当前状态下的记忆信息时,t-1状态的记忆信息需要完全保留,而当前状态下形成的候选记忆信息不会保留。当更新门的输出zt的取值接近1时,说明在形成当前状态下的记忆信息时,由更新门控制的t-1状态的记忆信息需要完全遗忘,但需要完全保留当前状态下形成的候选记忆信息。

综上,GRU模块可以通过更新门、重置门等控制时间序列数据先前状态信息对当前状态的影响,自动捕捉金融时间序列数据中所存在的长期和短期序列依赖问题。而在传统的时间序列分析计量经济模型中,对于金融时间序列数据的序列依赖长度需要通过复杂的计量检验来确定,这种方法对于金融时间序列数据的短期依赖捕捉或许是有效的,但是难以捕捉金融时间序列数据存在的长期依赖特征。GRU神经网络不仅具备强大的层次特征提取能力,可有效处理具有非线性、非平稳等复杂特征的金融时间序列数据,同时还可有效处理金融时间序列数据的序列依赖特征。因此,将GRU神经网络应用于金融时间序列预测在理论上是可行的。

基于上述对CNN和GRU神经网络结构的探究可以发现,CNN可以通过卷积和池化过程有效捕捉金融时间序列数据的局部关联特性,学习、提取输入时间序列数据中所隐含的重要信息。GRU神经网络则可以实现对金融时间序列数据长期、短期依赖特征的自动识别与捕捉。将二者结合,构建CNN-GRU神经网络(图3所示),则可有效结合二者在数据处理方面的优势。因此,构建基于CNN-GRU神经网络的金融时间序列数据预测模型更具有效性。

图3 CNN-GRU神经网络示意图

三、实证探究

上文从理论上探究了将CNN-GRU神经网络应用于金融时间序列数据预测的可行性,分析了将金融时间序列数据EEMD分解的基本原理。本节以上证指数为例,实证探究CNN-GRU神经网络应用于金融时间序列数据预测的实际效果,比较金融时间序列数据集成预测与直接预测的效果。需要说明的是,不同训练模型激活函数选择主要是通过模型在训练集与验证集的表现来确定,而神经网络层中隐藏单元的数量与惩罚项参数则是通过网格搜索来确定。

(一)特征向量选择以及数据说明

样本数据选择区间为2011/01/01至2018/11/30,数据均来源于Wind数据库。将样本数据划分为训练集、验证集、测试集三部分,其中训练集用以训练神经网络参数,测试集用以调整神经网络结构,测试集用以测试EEMD-CNN-GRU神经网络模型的预测能力和泛化能力,其划分如表1所示。

表1 样本数据划分说明

综合现有研究文献[15-16]以及数据可获得性,充分考虑不同金融市场对上证指数产生的影响,本文选择以下特征向量构建上证指数收盘价的预测模型,如表2所示。

表2 特征向量选择

(二)EEMD分解与IMF重构

采用EEMD分解对上证指数进行分解,可以得到14个IMF分量和1个残余分量,IMF1~IMF14分量以及残余分量RES分别展示了从高频到低频不同时间尺度下上证指数的波动特征,如图4所示。

由图4可以看出,从IMF1分量到IMF14分量的波动频率逐渐降低,其中IMF1~IMF6分量的频率较高,振幅较小,波动程度相对较大,反映的是上证指数在短期内的剧烈波动和波动细节。IMF7~IMF14分量的频率较低,振幅较大,波动程度相对较小,反映的是上证指数在中长期变化趋势,但对指数的波动细节刻画较少。残余项RES分量反映了上证指数的在长期的整体变化趋势。进一步从相关系数、方差贡献率、游程数等三个维度给出了IMF分量和RES残余项与上证指数的关系,结果如表3所示。

图4 上证指数EEMD分解图

相关系数衡量的是EEMD分解出的分量与上证指数的相关程度。从表3可以看出,IMF1~IMF4分量与上证指数的相关系数均小于0.1,IMF5~IMF9分量与上证指数的相关系数均在0.1~0.2区间内,说明IMF1~IMF9分量与上证指数的相关性相对较小。IMF10~IMF14分量以及残余项RES分量的相关系数均大于0.3,说明这些分量与上证指数的相关性比较大。因此,从相关系数来看,短期的剧烈波动对上证指数的影响较小,而中长期范围内的趋势变化对上证指数的变化有着比较大的影响。

表3 IMF与RES分量特征分析

利用游程编码将IMF分量重构为高频分量和低频分量,各IMF分量的游程数如表3所示。IMF1~IMF6的游程数较大,说明这些IMF分量的波动较大,而IMF7至IMF14的游程数较小,且逐渐减少,说明这些分量的波动较小。将90设为高频分量的阈值,游程数大于90的IMF分量重构为高频分量,反映上证指数的短期随机扰动,游程数小于90的IMF分量重构为低频分量,反映上证指数所受中期事件影响。因此,IMF1~IMF6重构为高频分量,IMF7~IMF14重构为低频分量,残余项RES为长期趋势项。

(三)直接预测效果探究

为探究CNN-GRU神经网络在金融时间序列数据中的实际效果,本文首先给出CNN-GRU神经网络、CNN、GRU神经网络、LSTM神经网络等深度学习算法以及BP神经网络(BPNN)、支持向量机(SVM)等机器学习算法对未分解上证指数的直接预测效果。对于模型的预测精度,采用Theil不相等系数和平均绝对误差率(MAPE)来衡量,其表达式为:

(6)

(7)

其中0≤Theil≤1。Theil=0,则预测值和真实值完全拟合,模型的预测能力最强,Theil=1,则模型的预测能力最差。MAPE的值越小,则模型的预测精度越高。表4给出了不同深度学习、机器学习算法对上证指数的直接预测效果。

表4 直接预测效果

由表4可知,无论是在训练集、验证集,还是在测试集,GRU神经网络和LSTM神经网络的平均绝对误差率和Theil不相等系数均小于卷积神经网络CNN对上证指数预测的平均绝对误差率和Theil不相等系数。这充分说明对于上证指数的预测,考虑时间序列数据长期、短期动态依赖关系的GRU神经网络和LSTM神经网络优于只考虑局部关联特征的卷积神经网络,这也证实了时间序列关系在时间序列数据预测中的重要性。

此外,GRU神经网络和LSTM神经网络对上证指数预测的平均绝对误差率和Theil不相等系数差距并不是很大,GRU神经网络的略小于LSTM神经网络的,即GRU神经网络的预测精度略高于LSTM神经网络的预测精度。综合考虑时间序列数据局部关联特征以及序列长期、短期依赖关系的CNN-GRU神经网络对上证指数预测的平均绝对误差率和Theil不相等系数均小于LSTM神经网络和GRU神经网络,这也说明了CNN-GRU预测效果优于只考虑序列依赖关系的循环神经网络,证实了将CNN-GRU神经网络应用于金融时间序列数据预测的有效性。

最后,对比表4中BP神经网络、SVM等机器学习算法,以及CNN-GRU神经网络、LSTM神经网络、CNN、GRU神经网络等深度学习算法对上证指数预测的平均绝对误差率和Theil不相等系数发现,BPNN和SVM的预测精度低于CNN-GRU神经网络、GRU神经网络以及LSTM神经网络,但卷积神经网络相比于机器学习算法并未表现出明显的优势。

(四)集成预测效果探究

上述实证结果证实了CNN-GRU神经网络在直接预测中对上证指数预测的有效性。为进一步探究该模型在金融时间序列数据预测领域的有效性以及提高上证指数预测精度的可行性,本文提出了金融时间序列数据的集成预测。其基本原理为:将上述EEMD分解和经游程判定法重构后的上证指数的趋势项、低频分量和高频分量,构建不同的预测模型,即分别采用CNN-GRU神经网络以及其他机器学习算法、深度学习算法对各分量进行预测,然后将不同分量中预测效果最好的模型作为该分量的预测模型,最后将不同分量预测精度最高的结果进行集成,以得到上证指数的最终预测结果。

对于趋势项而言,不同模型在趋势项的预测结果如表5所示,在对趋势项的预测中,深度学习和机器学习预测的平均绝对误差率和Theil不相等系数均较小,说明这些模型对趋势项的预测都可以取得较好的预测效果。进一步对比不同模型的平均绝对误差率和Theil不相等系数发现,无论是在训练集、验证集,还是在测试集,BP神经网络的平均绝对率误差和Theil不相等系数均是最小的,这说明BP神经网络对于趋势项的预测精度最高。

表5 趋势项预测效果分析

需要说明的是,在探究不同模型对趋势项的预测效果的时候,当训练BP神经网络采用常用的Sigmoid、ReLU等非线性激活函数的时候,也并未取得理想的预测效果。相反,采用简单的线性激活函数,在训练集、验证集和测试集的预测精度更高。这是因为,EEMD分解后得到的趋势项较为接近线性函数,采用较为简单的基于线性激活函数更容易获得较好的预测效果。这也说明,对于简单的时间序列数据预测而言,复杂的深度学习算法未必能够取得更好的预测结果。

对于低频项而言,不同模型在低频项的预测结果见表6。 由表6可以发现,对于低频分量的预测而言,不同模型得到的平均绝对误差率和Theil不相等系数均大于表5中不同模型对于趋势项的预测结果。这是因为,低频项的波动程度大于趋势项的波动程度,其数据的结构更复杂,预测难度也有所增加。因此,各模型对低频项的预测精度低于对趋势项的预测精度。在训练集、验证集和测试中,相较于其他模型的预测,CNN-GRU神经网络的平均绝对误差率和Theil不相等系数均是最小的,这说明CNN-GRU神经网络对于低频项的预测具有更好的结果。考虑时间序列数据依赖关系的GRU神经网络和LSTM神经网络的预测精度高于CNN以及机器学习算法BPNN和SVM。

表6 低频项预测效果分析

对于高频项而言,不同模型在高频项的预测结果如表7所示,无论是在训练集、验证集,还是在测试集,CNN-GRU神经网络的平均绝对误差率和Theil不相等系数均是最小的,这说明CNN-GRU神经网络对于高频项的预测表现出了最好的预测效果。而其他模型对于高频项的预测精度则相对较低。

表7 高频项预测效果分析

综合表5、表6和表7的预测结果可以发现,对于趋势项的预测而言,传统的基于线性激活函数的BP神经网络表现出了最好的预测效果。对于低频项和高频项而言,CNN-GRU神经网络则表现出了最好的预测效果。此外,整体而言,不同模型在趋势项的预测精度最高,在低频项的预测精度低于在趋势项的预测精度,在高频项的预测精度最低。这是因为,趋势项的走势较为接近线性,其数据结构特征较为简单,故基于线性激活函数的BP神经网络更容易挖掘数据的内在特征,并取得更好的泛化能力。而低频项和高频项的数据结构特征则相对较为复杂,具有复杂结构的CNN-GRU神经网络更容易挖掘此种类型数据的内在特征,提取出更重要的信息,表现出更好的预测效果。

因此,本文提出采用BP神经网络预测趋势项分量,采用CNN-GRU神经网络预测低频分量和高频分量。进一步将高频分量、低频分量和趋势项的预测结果合成得到集成预测结果,通过平均绝对误差率和Theil不相等系数探究CNN-GRU神经网络对上证指数的直接预测效果和集成预测效果,具体效果见表8。

表8 直接预测效果与集成预测效果对比

通过表8发现,CNN-GRU神经网络对上证指数直接预测的平均绝对误差率和Theil不相等系数均大于集成预测的,这说明上证指数的集成预测精度高于直接预测精度。这也再次证实了对金融时间序列数据进行集成预测的优势。

四、结论

本文将深度学习的卷积神经网络和门控循环单元相结合构建金融时间序列数据模型,在考虑金融时间序列非线性、非平稳特征的同时,充分捕捉金融时间序列数据的序列相关特征以及不同金融市场时间序列数据的局部相关特征。主要得到以下结论:

第一,EEMD和游程编码法可将金融时间序列数据分解重构为高频短期随机扰动、低频中期事件影响和长期趋势项,结合不同分量的波动特征构建金融时间序列数据预测模型在理论上有助于提高对金融时间序列数据的预测精度。对2011年1月1日至2018年11月30日区间内的上证指数进行EEMD分解发现,高频分量对上证指数的影响最小,低频分量对上证指数的影响最大,即对于上证指数的走势起着主导作用,而长期趋势项对于上证指数的长期走势并未起到较大的影响作用。

第二,从对上证指数的直接预测结果来看,不同的机器学习算法、深度学习算法对于上证指数的预测效果不尽相同。其中,CNN-GRU神经网络的预测效果最好,LSTM神经网络和GRU神经网络的预测效果次之,诸如BP神经网络、支持向量机等机器学习算法以及深度学习中的卷积神经网络预测效果则相对较差。这一方面证实了CNN-GRU神经网络应用于金融时间序列数据预测的有效性,另一方面也充分说明在构建金融时间序列数据预测模型时纳入序列相关特征的必要性。

第三,对于金融时间序列数据的集成预测而言,不同机器学习算法、深度学习算法在高频分量、低频分量和趋势项的预测结果不尽相同。整体而言,不同模型对于趋势项的预测精度最高,低频分量次之,高频分量的预测精度相对较低。从集成预测结果来看,集成预测精度远高于CNN-GRU神经网络、LSTM神经网络等算法对上证指数的直接预测精度。因此,通过对不同波动特征的分量建模,更容易挖掘数据所隐含的信息,进而提高对金融时间序列数据的预测精度。

总之,本文从理论与实证角度证实了深度学习算法应用于金融时间序列数据预测领域的合理性与有效性,这对于拓展现有的金融研究方法具有重要的理论和现实意义。因此,将传统金融经济学的研究方法与机器学习、深度学习等人工智能算法相融合,提高对金融市场运行规律的认知能力和金融风险的预测能力,仍值得我们进一步探究。

猜你喜欢

上证指数分量卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
画里有话
卷积神经网络的分析与设计
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
从滤波器理解卷积
论《哈姆雷特》中良心的分量
基于傅里叶域卷积表示的目标跟踪算法
上证指数VaR和CVaR的比较研究及实证分析
上证指数VaR和CVaR的比较研究及实证分析