中信期货研究|商品量化专题报告 时序预测系列(一) 基于分解算法和深度学习的预测建模研究 投资咨询业务资格: 证监许可【2012】669号 报告要点 本次报告将分解算法(EMD和CEEMDAN)和深度学习算法(LSTM和GRU)分别组合对日度收盘价进行单步预测,发现价格经分解算法分解重组后可提升深度学习时序预测的有效性,若将分解后的高频序列进行去噪可以进一步强化预测模型的有效性。 摘要: 分解算法(EMD和CEEMDAN)能根据信号特点自适应地将信号分解成一组具有物理意义的IMF分量的线性组合,非常适合非线性、非平稳信号分析。深度学习算法(LSTM和GRU)对复杂序列中长期依赖关系有较强的提取能力。因此,本文将两者结合来探究高精度时序预测的可能性。 为测试模型的有效性和泛化能力,本文在CU、IF和T三种期货合约上进行了测试。在三个品种的预测中,𝑅2最高可提升10%以上,三个品种的最佳方向准确率均达到60%以上,我们发现在分解算法将价格序列分解成IMF分量组合后,可以不简单依靠T检验对序列进行高频、低频和趋势项的分类加和,将IMF分量依次组合求得最优组合方式能强化深度学习模型的学习能力。同时,通过剔除少量高频IMF分量对高频序列进行去噪可以再次增强优化效果。 此外,我们还发现虽然EMD和CEEMDAN均能对深度学习算法进行优化,但优化效果不一定,CEEMDAN的优化效果不一定强于EMD。同时,重组去噪后的GRU模型并非绝对优于重组去噪后的LSTM模型。 风险提示:本报告中所涉及的算法和模型应用仅为回溯举例,并不构成推荐建议。 商品量化组 研究员:蒋可欣FRM jiangkexin@citicsf.com从业资格号F03098078投资咨询号Z0018262 重要提示:本报告难以设置访问权限,若给您造成不便,敬请谅解。我司不会因为关注、收到或阅读本报告内容而视相关人员为客户;市场有风险,投资需谨慎。 目录 摘要:1 一、引言4 二、EMD和CEEMDAN的基本原理和方法5 (一)EMD5 (二)CEEMDAN7 二、LSTM和GRU网络的内部结构和工作原理8 (一)LSTM神经网络8 (二)GRU神经网络12 三、组合模型构建14 (一)IMF重组14 (二)组合模型建模流程14 (三)LSTM和GRU网络的计算图结构和训练方法选择16 四、预测结果分析17 (一)数据选择和处理17 (二)预测结果评价指标18 (三)预测结果展示和分析19 六、结论与展望25 参考文献26 免责声明27 图表目录 图表 1:CU主力合约价格走势和EMD分解过程............................................... 6 图表 2:CEEMDAN的更迭流程............................................................. 7 图表 3:CU主力合约价格走势和CEEMDAN分解过程........................................... 8 图表 4:单个RNN神经元结构和展开形式................................................... 9 图表 5:LSTM神经元结构................................................................. 9 图表 6:Sigmoid函数图像.............................................................. 10 图表 7:Tanh函数图像................................................................. 11 图表 8:GRU神经元结构................................................................ 12 图表 9:组合模型的流程................................................................ 15 图表 10:LSTM/GRU网络的计算图结构..................................................... 16 图表 11:CU分解后各频率序列LSTM模型预测效果比较...................................... 19 图表 12:CU经EMD分解高频序列模型预测结果展示......................................... 19 图表 13:CU经EMD分解后高频序列模型预测效果比较....................................... 20 图表 14:CU经CEEMDAN分解各序列LSTM模型预测效果比较.................................. 20 图表 15:CU经CEEMDAN分解高频序列模型预测结果展示..................................... 21 图表 16:CU各类模型预测结果展示....................................................... 21 图表 17:CU各类模型预测效果比较....................................................... 22 图表 18:IF各类模型预测结果展示....................................................... 23 图表 19:IF各类模型预测效果比较....................................................... 23 图表 20:T模型各类预测结果展示........................................................ 24 图表 21:T模型各类预测效果比较........................................................ 24 一、引言 中国金融市场是一个受多种社会因素驱动的非线性复杂系统,价格时间序列通常具有显著非平稳、非线性和高噪音的复杂特性。当前市场,时序的预测模型主要有三类分别为1)技术分析法以道氏理论为基础,认为股价基本走势与市场波动趋势趋同;2)统计建模方法依据严谨的统计学理论对价格时序进行预测建模;3)利用机器学习方法对金融时序进行预测建模。技术分析法比较直观,计算简单,但其信号延迟严重,所产生的买卖信号不确定性过高,在短期预测中效果不佳;统计建模方法的预测结果在统计意义上可靠,但其优势体现在处理线性数据上,需要严格的基础假设,实操性较弱;机器学习方法不需要满足统计假设,对非线性时间序列有着更高的预测精度。目前常用的机器学习方法包括决策树、支持向量机(SVM)和神经网络等,其中,神经网络的学习机制使其拥有强大的学习能力和非线性拟合能力,因此被广泛运用到价格时序预测中。近年来,传统的神经网络过拟合和泛化能力弱的问题被越来越多的学者验证,随着大数据技术的提高,深度学习技术受到了国内外学者的广泛关注。和传统的神经网络相比,深度学习模型层数更多,特征提取能力更强。然而,金融市场是一个受多重因素影响的复杂系统,随机性过多,即便使用了循环神经网络 (RNN)和卷积神经网络(CNN)等为代表的深度学习技术,预测精度仍未得到充分开发。单个技术难以充分挖掘并刻画复杂金融市场中的多维量价变化规律,为克服依靠单一方法建模的局限性,融合计量手段、信号处理和机器学习的组合模型因其稳定的预测性能得到了广泛关注。因此,本次时序预测系列研究从信号分析和深度学习这两块展开,先通过各类信号分析方法对时序进行分解,再运用深度学习方法对分解后的分量分别进行预测。本篇为本系列的第一个课题,将对融合了分解算法和深度学习的组合模型进行讨论,分为四大部分,第一部分将介绍经验模态分解(EMD)及其后续优化算法自适应噪音的完整集成经验模态分解(CEEMDAN)的基本原理和方法;第二部分将介绍LSTM神经网络和GRU神经网络的内部结构和工作原理;第三部分是针对各分解算法和深度学习的复合模型构建;第四部分是对各复合模型预测效果的对比分析。此外,本系列虽以金融和商品期货为回测标的,但模型使用范围不限于期货,也可用于股票及其他适合的金融产品。 二、EMD和CEEMDAN的基本原理和方法 (一)EMD EMD在1998年由美裔科学家Huang提出,它是一种数据驱动自适应时频分析方法。目前主要的时频分析方法有短时傅里叶变化和小波变换等,但它们都更适用于平稳序列,在实际使用时会经常失效。而EMD能根据信号特点自适应地将信号分解成一组具有物理意义的固有模态函数(IMF)的线性组合,且分解的最终函数彼此之间是正交的,因此比较适合非线性、非平稳信号分析。如公式1所示,信号𝑠(𝑡)经过EMD可表示成从高频到低频的IMF分量的线性组合,其中𝐼𝑀𝐹𝑖(𝑡)是第i个IMF分量,𝑟𝑁(𝑡)不包含信号的振荡模态,只是反映信号的变化趋势。 � 𝑠(𝑡)=∑𝐼𝑀𝐹𝑖(𝑡)+𝑟𝑁(𝑡)(公式1) 𝑖=1 IMF的计算过程主要分为3步: 1.找出信号𝑠(𝑡)的各个局部极大值,局部极大值的定义为时间序列中的某个时刻的值,其前一时刻的值不比它大,后一时刻的值也不比它大。然后用三阶样条函数进行插值,得到上包络曲线𝑒𝑚𝑎𝑥(𝑡)。同理,可以得到下包络曲线 𝑒𝑚𝑖𝑛(𝑡)。 2.对每个时刻的𝑒𝑚𝑎𝑥(𝑡)和𝑒𝑚𝑖𝑛(𝑡)取平均,得到瞬时平均值m(t): 𝑚(𝑡)=[𝑒𝑚𝑎𝑥(𝑡)+𝑒𝑚𝑖𝑛(𝑡)]/2(公式2) 3.用原信号𝑠(𝑡)减去瞬时平均值𝑚(𝑡),得到类距平值系列: 𝑑(𝑡)=𝑠(𝑡)−𝑚(𝑡)(公式3) 若𝑑(𝑡)中极值点的数目和跨零点的数目相等或至多只差一个,并且各个瞬间平均值𝑚(𝑡)都等于零,令𝑑(𝑡)=𝐼𝑀𝐹𝑖(𝑡),否则以𝑑(𝑡)作为“原始”信号并返回步骤1,重复以上步骤,直至满足IMF函数要求的要求,求出IMF函数为止。然后,用原信号减去𝐼𝑀𝐹𝑖(𝑡),得到剩余值序列𝑟𝑖(𝑡): 𝑟𝑖(𝑡)=𝑠(𝑡)−𝐼𝑀𝐹𝑖(𝑡)(公式4) 若𝑟𝑖(𝑡)是一个单调函数,把𝑟𝑖(𝑡)作为趋势项,令𝑟𝑖(𝑡)=𝑟𝑁(𝑡),同时停止迭代,否则以𝑟𝑖(𝑡)作为原信号,返回步骤1,重复以上过程。这样一个流程就是 EMD的分解流程,我们CU主力合约2011年1月1日至2022年12月31日的日频数据为例,直观地感受一下分解流程。图表1中的第一幅图为IF主力合约的价格走势,其余图对应了EMD分解过程,由图表1可知,该价格时序可以由7个固有模态函数和一个趋势项组成,原本振荡向下的价格时序最终被分解成一个单调向下的序列。 图表1:CU主力合约价格走势和EMD分解过程 资料来源:同花顺iFind、中信期货研究所 虽然EMD具有自适应性的特点且不用选择基函数,和传统的时频信号分析技术相比,分解非平稳非线性时序的优势明显,但存在严重的模态混叠现象,因此相关学者针对这个问题,提出了优化算法EEMD。该方法通过在使用EMD方法之前在原序列中加入白噪音序列,以促进抗混分解,能有效的抑制混叠现象。那模态混叠是怎么产生的呢,我们在EMD分解过程中首先需要确定信号的局部极值点,然后用三次样条线将所有的局部极大值和极小值点分别