1. 引言
黄金在全球经济中具有着无可替代的作用,因为它不仅兼具了商品属性与货币属性,而且具有良好的投资以及价值储藏功能,同时其衍生品黄金期货更是投资者关注的焦点之一,随着世界经济增长放缓,地缘政治不确定性加剧的情况下,投资者越来越看重避险资产,而黄金是众多避险资产中最受青睐的,能降低投资组合的风险度。黄金期货是以黄金为交易对象的金融衍生品,允许投资者在未来某个约定时间买卖一定数量的黄金。黄金期货市场是买卖这种远期交货合同的市场,是全球最重要的期货市场之一。鉴于黄金期货市场在金融市场中有着十分重要的位置,如何准确预测黄金期货价格走势成为一个重要研究课题,这对投资者来说是非常重要的。同时,还可以为相关部门,精确监控黄金市场的行情,保证我国的经济平稳发展。
以往学者们运用传统的统计学模型进行期货价格预测,这些传统的预测模型,包括ARIMA模型(移动平均自回归模型)、GARCH模型(自回归条件异方差模型)、指数平滑模型等,在黄金价格预测研究上取得了不错的进展。费婧文[1]构造ARIMA模型有效预测了我国黄金期货价格的短期走势。在这些模型基础上,丁磊等人[2]选用ARIMA-GARCH模型对黄金价格的动态演化过程进行了实证分析,并发现该组合模型能较好拟合黄金价格的运动路径。但是传统预测方法往往基于线性假设和固定参数模型,难以有效处理非线性、高维和动态变化的金融时间序列数据。此外,这些方法往往忽略了数据中的隐藏特征和潜在关系,导致预测精度有限。
近年来,深度学习技术的迅速发展为金融时间序列预测提供了新的思路和方法。深度学习模型通过模拟人脑神经网络的运作方式,能够自动提取数据中的复杂特征和规律,并学习数据的内在表示。在时间序列预测领域,多层前馈网络(BP)、循环神经网络(RNN)、长短期记忆网络(LSTM)和门控循环单元(GRU)等模型已被广泛应用于金融时间序列预测中,并取得了一定的成果。曾濂等人[3]提出了一种基于BP神经网络的改进模型实现了高精度仿真黄金期货价格。刘璐等人[4]建立多层LSTM以及双向LSTM模型预测未来黄金期货价格及其发展变化的规律和趋势。
为了更加充分识别复杂时间序列中的信息,更全面地描述和解释数据的特征,一些学者开始尝试将不同的深度学习模型进行组合,提出了深度学习中的组合预测方法,这些混合模型结合了两种甚至多种单一模型的优势,通过将不同的模型进行组合,混合模型可以充分利用各种模型的优点,从而提高了模型的整体性能。通常具有更强的泛化能力,可以学习到更多的特征和规律,从而提高了对未知数据的预测准确性。杨光[5]通过建立CNN-LSTM-ATTENTION模型对黄金期货价格预测,发现CNN-LSTM-ATTENTION模型对比CNN-LSTM可以提高价格预测的准确程度以及对价格预测的准确程度也有提高。
然而,黄金期货价格预测是一个复杂且具有挑战性的任务。黄金期货的走势受到多种因素的影响,这些因素包括供求关系、美元汇率、各国的货币政策、石油供求关系、国际政治局势的变化以及市场情绪等。因此需要对众多指标进行筛选,尹晨曦[6]选取影响黄金价格的相关因素后,利用Lasso对所选因素进行特征提取,再引入PSO-BP方法有效实现黄金期货价格的短期预测。在黄金期货价格影响因素相关性研究中本文引入贝叶斯优化XGBoost,通过贝叶斯算法找到XGBoost的最佳超参数,并进行特征筛选,再使用SHAP方法[7]进行模型可解释性分析并可视化。筛选出相关性强的特征以便于后续建立预测模型。
本文提出了一种基于粒子群优化时间卷积网络(TCN)和双向门控循环单元(BiGRU)的黄金价格预测模型。TCN [8]和BiGRU分别具有强大的特征提取和时序建模能力,能够捕捉数据中的复杂特征和长期依赖关系。而粒子群优化算法能够捕捉数据中的复杂特征和规律,在多维空间中搜索最优解。该模型的预测精度得到了提升,且评价指标最优。能够为黄金期货价格预测科学性探索提出参考。
2. 基础理论
2.1. 贝叶斯优化
贝叶斯优化[9]是由Snoek等提出的优化算法,用来求解表达式未知函数的极值问题。在算法优化问题中用于寻找最优神经网络超参数。相关研究表明该优化算法优于网格搜索及随机搜索算法,相比于这两个算法,贝叶斯优化算法能更容易实现全局最优。
在超参数搜索空间X内,贝叶斯优化器进行有限次试验,不断迭代得出最佳超参数的组合。最佳超参数组合公式如下:
(1)
公式中
为优化后最佳超参数组合,
为目标函数。
2.2. XGBoost算法
XGBoost [10]算法是GBDT [11]的一种高效实现,是一种集成式机器学习算法。GBDT回归模型的算法为:
输入:训练集
,基学习器数量以及损失函数。
(1) 初值估算一个常数c, c能最大限度地减小损失函数,并创建仅有一个根结点的树;
(2) 对样本
求解损失函数的负梯度值以求出残差;
(3) 各叶结点的目标值的平均值上对具有极低损失的最优拟合结果
进行相加,从而获得第u棵树模型该次损失的估计量
;
(4) 不断地进行迭代更新,获得最后的强学习模型。
2.3. SHAP方法
SHAP [12]是一种基于Shapley value的计算方法,用于解释黑盒模型是如何衡量特征对最终结果值的影响。通过对各要素的作用大小进行分析,对其进行重要度排序,通过可视化的方式将其与各要素的关联展现出来,从而加深对机器学习的认知。Shapley value的计算方法来源于博弈论[13]方法,在博弈论中,该数值用来衡量每个参与者对最终结果做出的贡献。我们可以将XGBoost视为一个博弈的模型,数据特征看成是参与博弈的人。Shapley value计算公式为:
(2)
公式中v是一个合作博弈的收益函数,等于XGBoost模型的输出,m为参与人的个数,等于数据特征个数,Z是参与人的随机组合。
2.4. TCN时间卷积网络
时间卷积网络是一种专门用于处理序列数据的卷积神经网络。与传统的卷积神经网络不同,TCN采用了特殊的卷积结构和因果约束,使得它能够处理具有时间依赖性的数据。通过采用扩张卷积[14]和因果卷积[15]相结合的方式,TCN能够在保持序列顺序的同时,有效地提取序列中的局部和全局特征。扩张卷积能够增加感受野的大小;而因果卷积则确保了网络在处理当前时刻的数据时,只能利用之前时刻的信息,从而避免了未来信息的泄露。通过堆叠多个卷积层,TCN可以逐步增加网络的深度,从而捕获更高阶的特征。同时,由于其卷积操作的特性,TCN在处理长序列时不会出现梯度消失或爆炸的问题,这使得它在处理长时间依赖关系的任务中表现出色。TCN因果卷积结构如图1。
Figure 1. Causal convolutional structure
图1. 因果卷积图
假设输入序列为X,卷积核为g的一维时间序列上的因果膨胀卷积运算H表达式为:
(3)
式中:k为卷积核的大小,*为卷积运算符,l – d × i为膨胀卷积的输入向量元素,d为扩张因子。TCN可以通过增加d或增加k的数值来实现增加感受野的目的。
在黄金期货价格预测任务中,因果卷积和空洞卷积模块的叠加会使得神经网络层数加深,防止训练过程中出现梯度下降甚至消失的现象,引入残差块[16]连接,表达式为:
(4)
式中:g(x)代表卷积层的输出,
是激活函数。
2.5. BiGRU深度学习网络
GRU [17]是循环神经网络的一种,能够解决RNN梯度爆炸或者梯度消失的问题。而BiGRU [18]是一个双向的GRU网络模型,通过对时间序列数据进行前向和后向两个方向的处理,捕获前后的信息,更加全面地理解时间序列数据的前后关系,有利于提高时间序列数据特征的完整性和全局性。GRU中的细胞结构如图2。
Figure 2. Diagram of GRU structure
图2. GRU结构图
在图2中,当前时刻的输入为xt,ht−1是前一个细胞状态。Wr、Wz分别为重置门和更新门的权重矩阵,σ和tanh为激活函数,更新门[19]和重置门[19]的更新如下:
(5)
(6)
经过重置门和更新门后,GRU单元的候选状态值
和最终输出状态值ht如下:
(7)
(8)
其中,
为候选状态值的权重矩阵。
GRU单元对时间序列数据的每一时刻的状态计算,将输入序列中有用信息留下,将噪声去掉,最后的输出
公式如下:
(9)
其中
为输出值的权值矩阵。
BiGRU能够在任意时刻,通过两个GRU的状态共同决定BiGRU的输出。BiGRU的结构如图3。
Figure 3. Diagram of BiGRU structure
图3. BiGRU结构图
如图3,BiGRU的t时刻隐藏层状态值通过前向隐藏层状态
和反向隐藏层状态
加权求和得出:
(10)
(11)
(12)
其中
和
分别是正向的权重参数和反向权重参数,
是偏置项。
2.6. PSO
PSO [20] (粒子群算法)是受对鸟群觅食行为研究结果得到启发,提出的一种群智能算法技术,目的就是找出最优解,核心算法就是先在高维空间中随机初始化粒子群,并定义优化目标的随机参数,而这些参数决定了高维空间的维数。每个粒子在搜索空间中拥有自己的位置和速度。通过不断地调整和迭代就可以找到最优解。
在n维空间中第k次迭代时粒子m的位置和速度的公式如下:
(13)
(14)
公式中的
和
分别为位置函数和速度函数。
粒子
在第
次迭代时的位置和速度的公式如下:
(15)
(16)
公式中的
为粒子m在本地解空间中获得的最佳解,
为算法中粒子m附近所有粒子获得的最佳解。q为惯性权重,
和
是学习因子。在模型优化领域,PSO常被用于自动调整模型的超参数[21],以找到使模型性能最优的参数组合。
3. PSO-TCN-BIGRU优化混合神经网络模型
3.1. 混合神经网络基本结构
Figure 4. The structure of the combined forecasting model of TCN-BiGRU
图4. TCN-BiGRU预测网络模型结构
为了更好地融合TCN网络,BiGRU网络的优点,提出了TCN-BiGRU混合神经网络基本结构。首先使用TCN网络的一维因果卷积对时间序列数据进行提取,扩张卷积进行时间序列特征提取,再用拥有非线性[22]拟合能力的BiGRU网络进一步加深提取时间序列特征。图4为模型结构图。
首先,通过堆叠3层TCN残差模块获得更大范围的输入时间序列数据的感受野以及对时间序列数据提取时间序列数据特征和数据降维[23],避免出现梯度下降甚至消失的现象BiGRU获取TCN处理后的时间序列,通过正反方向的双层GRU层连接起来,一层按时间步从前往后对时间序列数据进行正向处理,另一层从后往前对时间序列数据进行反向处理。正因为有这种结构BiGRU能更完整全面地探索时间序列的依赖关系,获取上下文关联连接,最后运输到全连接层实现从高维特征映射为预测结果。
3.2. 优化混合神经网络基本结构
为了更好地优化TCN-BiGRU网络模型,提出了PSO-TCN-BiGRU混合神经网络基本结构。利用PSO算法凭借自身全局搜索能力强的优点找出TCN-BiGRU模型的最优超参数,避免陷入局部最优问题,使得TCN-BiGRU的优点发挥得更好,帮助模型达到更好的预测性能,增强模型的鲁棒性,使得模型在处理黄金期货时间序列数据时更加准确,图5为PSO优化模型算法流程图:
Figure 5. PSO optimization model algorithm flow chart
图5. PSO优化模型算法流程图
4. 实验结果与分析
4.1. 数据预处理与变量筛选
本实验中所有模型使用的数据选取以2018年1月2日至2024年3月5日六年每日的上海黄金期货交易所的黄金期货为基础,并添加六大类数据,包括经济政策不确定性、市场情绪描述、搜索引擎指数、股指期货变量、大宗期货变量以及宏观变量。经济政策不确定性数据有GPR (地理政策风险),WLEMUINDXD (股票市场相关经济不确定性指数),USEPUINDXD (美国经济政策不确定性指数)。市场情绪描述有VIXCLS (标普500波动率指数),GVZCLS (黄金ETF波动率指数),OVXCLS (石油隐含波动指数)。搜索引擎指数有百度搜索指数。股指期货变量有ACWI (MSCI全球标准指数),CRB现货综合指数,NASDAQ100 (纳斯达克100指数),SP500 (标准普尔500指数),白银期货结算价,道琼斯工业平均指数,德国法兰克福DAX指数,上证指数。大宗期货变量有SPGSCI (标准普尔高盛综合商品指数),DHHNGSP (亨利港天然气现货价格),DCOILWTICO (库欣原油价格),DCOILBRENTEU (欧洲原油价格),黄金现货价格。宏观变量有DEXUSEU (美元欧元汇率),DEXCHUS (人民币美元汇率)。考虑各变量间的交易日期存在差异,本文以上海黄金期货交易所的黄金期货价格数据为基础进行筛选,每个影响因素很可能受到滞后效应,所以缺失的数值用上一个交易日的价格进行填补。筛选后的样本数据为1490条,在实际工程问题中,需要对数据进行预处理,避免数据噪声对预测效果的影响,本文采用min-max归一化[24]方法将数据缩放到[0,1]之间。
(17)
其中:x为处理前的数据,
为min-max归一化[24]后的数据。
因数据属性太多容易让预测模型产生数据冗余的现象,因此需要进一步进行特征筛选操作。本文提出的特征筛选方法是可解释性[25]的贝叶斯优化的SHAP-XGBoost方法。贝叶斯优化XGBoost的调参的结果如表1所示:
Table 1. Bayesian optimization for XGBoost
表1. 贝叶斯优化XGBoost
参数名称 |
最优超参数 |
L2正则项系数 |
0.00943 |
L1正则项系数 |
0.10306 |
建立树时对特征采样的比例 |
0.6 |
每个决策树所用的子样本占总样本的比例 |
1.0 |
学习率 |
0.02 |
弱学习器个数 |
360 |
树的最大深度 |
13 |
Figure 6. The global analysis graph of the importance of influencing factors
图6. 影响因素重要性全局分析图
由于贝叶斯优化后的XGBoost模型的黑盒特性不利于实际生产应用,因此本文引入SHAP方法对该模型提供全局模型解释,局部模型解释以及利用可视化的方式返回每个特征变量对数据的贡献。图6为影响因素重要性全局分析图。
由影响因素重要性全局分析图可知前五个对黄金期货成交价最关键的特征分别是最高价“high”,最低价“low”,收盘价“close”,黄金现货价格“Goldspotprice”,开盘价“open”。
在建立模型之前,需要建立滑动时间窗口[26]构建样本,窗宽为30,预测未来一天的黄金期货结算价。建立了样本数据后,按照8:2的比例对所有数据划分为训练集和测试集以便于训练网络模型。
4.2. 混合神经网络效果指标
在预测过程中,测试样本分别输入到所建立的七个神经网络中,将7个模型中误差最小的预测值作为该测试样本对应的黄金期货价格预测值。预测效果评价指标用四个指标均方误差(MSE) [27]、均方根误差(RMSE) [28]、平均绝对误差(MAE) [29]、决定系数(R2) [30]来表示。
MSE的计算公式:
(18)
RMSE的计算公式:
(19)
MAE的计算公式:
(20)
R2的计算公式:
(21)
式子中的m为观测值和真实值的个数;
是观测值;
是真实值;
是均值。
4.3. 实验结果与分析
Table 2. Comparison of network predictive performance
表2. 网络预测性能对比
算法 |
MAE |
MSE |
RMSE |
R^2 |
CNN |
8.4998 |
102.1839 |
10.1086 |
0.7619 |
BiGRU |
8.3537 |
84.7488 |
9.2059 |
0.8025 |
CNN-BiGRU |
5.4785 |
38.3592 |
6.1935 |
0.9106 |
TCN |
5.1406 |
38.1166 |
6.1739 |
0.9112 |
BiGRU-TCN |
4.5070 |
32.8927 |
5.7352 |
0.9233 |
TCN-BiGRU |
4.3661 |
27.6335 |
5.2570 |
0.9356 |
PSO-TCN-BiGRU |
3.9151 |
21.7743 |
4.6663 |
0.9493 |
将PSO优化算法的迭代次数设置为200,种群大小为100。PSO算法的c1设置为1.5,c2设置为1.5,q设置为0.9。通过PSO算法得到TCN第一层滤波器尺寸大小为128,内核尺寸为5,第二层滤波器尺寸大小为256,内核尺寸为5,第三层滤波器尺寸大小为256,内核尺寸为5,BiGRU神经元数量为100,Droupout设置为0.3,学习率为0.001,Dense为58和16,迭代次数为200。
为了验证PSO-TCN-BiGRU黄金期货价格预测算法的高效性,构建CNN、BiGRU、TCN、BiGRU-TCN、CNN-BiGRU、TCN-BiGRU模型进行对比验证,每个算法进行200次迭代实验,计算预测效果评价指标,具体结果如表2所示。
对比表2结果可以知:PSO-TCN-BiGRU模型的MAE、MSE、RMSE比CNN模型降低了4.5847、80.4096、5.4423,而R2比CNN模型提高了18.74%。PSO-TCN-BIGRU模型的MAE、MSE、RMSE比BIGRU模型降低了4.4386、62.9745、4.5396,而R2比BiGRU模型提高了14.68%。PSO-TCN-BiGRU模型的MAE、MSE、RMSE比CNN-BiGRU模型降低了1.5634、16.5849、1.5272,而R2比CNN-BiGRU模型提高了3.87%。PSO-TCN-BiGRU模型的MAE、MSE、RMSE比TCN模型降低了1.2255、16.3423、1.5076,而R2比TCN模型提高了3.81%。PSO-TCN-BIGRU模型的MAE、MSE、RMSE比BiGRU-TCN模型降低了0.5919、11.1184、1.0689,而R2比BiGRU-TCN模型提高了2.6%。PSO-TCN-BiGRU模型的MAE、MSE、RMSE比TCN-BiGRU模型降低了0.451、5.8592、0.5907,而R2比TCN-BiGRU模型提高了1.37%。PSO-TCN-BiGRU模型的各项误差值都是最小的,R2是最高的,与单一的深度神经网络相比,本文提出的混合模型的准确性得到了提高。结果表明,所采用的PSO-TCN-BiGRU混合模型可以提高模型的准确性,并具有更好的预测性能。
为了更直观地表现出各种模型的差异,本文显示PSO-TCN-BiGRU预测算法和其他预测算法的真实值和预测值的局部拟合效果。模型局部拟合效果图如图7。
Figure 7. Effect of local fitting of the model
图7. 模型局部拟合效果图
从图7可以看出这几种模型都可以预测出黄金期货结算价的大概走势,但是CNN、BiGRU、TCN、BiGRU-TCN、CNN-BiGRU、TCN-BiGRU模型的预测结果没有本文提出的PSO-TCN-BiGRU模型拟合得更接近真实值。本文提出的PSO-TCN-BiGRU模型预测效果非常平稳,与原数据变化保持一致,拥有高效率的跟随价格波动能力,模型误差最小,拟合优度更高。二者结合进一步说明了PSO-TCN-BiGRU模型比CNN、BiGRU、TCN、BiGRU-TCN、CNN-BiGRU、TCN-BiGRU模型的预测效果更佳,精度更高。
5. 结论
本文寻找了六大类与黄金期货价格相关的特征,为了提取关键变量引用最新的可解释机器学习模型贝叶斯优化XGBoost-SHAP方法提取前5个特征向量,并将其导入PSO-TCN-BiGRU的深度学习神经网络模型,对黄金期货价格进行预测,通过设置对比分析实验可知:本文提出的PSO-TCN-BiGRU预测模型相对于CNN、BiGRU、TCN、BiGRU-TCN、CNN-BiGRU、TCN-BiGRU模型具有更好的预测精度,具有更好的拟合性,R2为0.9493,MAE为3.9151,MSE为21.7743,RMSE为4.6663。从而验证了所提出的方法在黄金期货价格预测的有效性,可为深度学习模型在金融预测领域探索发展提供参考决策。
基金项目
国家自然科学基金(71971070, 71903036)。