陈 静,李星野
(上海理工大学 管理学院,上海 200093)
汇率是一个国家的货币对外价格的表现形式,是一种相对价格。受到很多原因的影响,除了经济原因,还有政治原因。如不同利率的差异、各国的通货膨胀程度、全球的金融环境等[1]。这就使得汇率并不容易通过几个因素就解释清楚,本文选取时间序列分析方法,研究美元/欧元的每日收盘价,希望能够研究出这一序列的趋势和波动性。
过去几年,较多领域的预测模型仍采用单个模型,如自回归移动平均模型、BP神经网络(反向传播神经网络)、RBF径向基网络(即径向基函数神经网络)、ARCH模型(自回归条件异方差模型)等。许少强等[2]用自回归移动平均模型提取出欧元/美元以及日元/美元汇率的走势,对两种汇率差分后建立ARMA模型(自回归移动平均模型)提取其走势,对人民币/美元汇率进行了中长期的预测。由于现实中的时间序列一般均为非平稳时间序列,越来越多的学者开始研究人工神经网络模型。朱家荣等[3]用RBF神经网络拟合人民币/美元汇率这一时间序列,较好地刻画出了该序列的趋势特性。经过多领域的综合研究发现,RBF神经网络的预测误差较大,BP神经网络存在收敛速度慢、精确度不高、容易限于局部极小值等一系列问题[4-5]。为了提高BP神经网络预测模型对时间序列的预测精度,惠晓峰等[6]在遗传算法的基础上,结合递归预测方法,提出了基于实数编码的GA-BP神经网络预测模型,有效地提高了模型的预测精度。为了弥补BP神经网络在连接权值和阈值上的不足,侯越等[7]在萤火虫算法和BP神经网络的基础上,提出了用萤火虫算法优化BP神经网络,并将该算法应用到Duffing系统产生的混沌时间序列,得到的网络初始权值和阈值远远优于原模型,这说明优化后的算法准确性更高。
真实的金融序列并非同方差,Engle在1982年提出ARCH模型[8-9],可以刻画随时间变化的条件异方差。Bollerslev在此前提下提出了GARCH模型(广义的ARCH模型)[10],不仅可以反映条件异方差,而且能体现真实数据的长期记忆性。
随着研究的不断深入,线性与非线性模型的结合成为新的研究方向。Kristjanpoller等[11]提出将自回归条件异方差模型与人工神经网络组合,运用GARCH(1, 1)模型对石油现货价格进行分析,将分析结果作为人工神经网络的输入,进而发现这一模型相比于调整异方差的均方误差模型,将波动性的预测精度提高了30%。
本文选取美元/欧元每日汇率的收盘价作为研究数据,运用BP神经网络模型拟合序列的总体趋势,在此基础上,分别构建自回归移动平均模型和广义的自回归条件异方差模型,与BP网络模型线性叠加,通过一定的参数优化,得到了较好的时间序列分析模型。
BP算法是一种按照误差逆向传播训练的多层前馈神经网络[12-16]。图1给出了3层BP网络模型。图中,表示输入,表示隐含层,表示输出。表示输入与隐含层的连接权值,是隐含层与输出之间的连接权值,存储了全部的连接权值。对于特定的输入模式,隐含层的输入
对应于任意的输入模式μ和输出i,在线误差函数
图1 BP神经网络的结构图Fig.1 BP neural network structure diagram
ARMA模型(自回归移动平均模型)[17-18]可描述为
式中:y(n)表示时间序列在n时刻的值;φ1,φ2,φ3, ·· ·,φp为自回归模型的系数;p为自回归模型阶数;θ1,θ2, ·· ·,θq为q阶移动平均模型的系数; µ (n)为白噪声过程,均值为0,方差为 σ2。
递推可得[19]
Bolloerselev提出的GARCH模型,主要是针对金融序列的回归以及波动性分析[20]。GARCH模型的构成可表示为
式中:yt为收益率序列;C与K为常数;εt为均值;为收益率序列的方差;Gi与Aj为权重系数。
式(10)为条件均值方程,式(11)为条件方差方程。
研究数据为2001年7月至2017年10月期间的美元/欧元的每日收盘价,数据共计6 000个,如图2所示。
图2 美元/欧元汇率2001年7月至2017年10月的历史数据Fig.2 USD/EUR exchange rate historical data from July 2001 to October 2017
x(t),t=1,2,···,n
时间序列通常可以表示为,第一步需要根据选定的嵌入维数m和时间延迟τ重构相空间[21]。
是时间序列在t时刻的值,且从嵌入定理[22-23]可知,存在光滑的映射 符合:
Y(t)f:Rn→R
实验结果通过均方误差MSE和相对误差Perr来分析。
式中: 为真实值; 为其对应的预测值;N为序列的个数。
2.2.1 参数确定
以汇率数据的前5 000个为网络的训练数据,用其后的1 000个数据测试训练的结果。这一时间序列自相关性较强,为了验证选择不同的输入节点个数的模型结果,将其对应的均方误差图和平均均方误差进行对比,如图3所示。s为隐含层节点个数。
图3 不同隐含层节点数的均方误差图Fig.3 Mean squared error plots for the number of nodes in different hidden layers
从图3可知,输入层节点数为17时,预测的误差最小,拟合效果良好,所以,初步将输入节点个数选 为17,时间延迟。隐含层的节点个数一般根据经验决定,通常通过以下几种方法来确定:是 输入节点的个数,t是输出节点的个数,从经验方法出发,隐含层节点的个数可以初步列为4或5。另外,当隐含层节点的个数选为3时,误差都最小。不过,为了防止模型过拟合,本文通过选取不同的隐含层节点个数,构建不同参数的模型,对比验证得出结论:只有在隐含层的节点个数是3时,才能得出比较好的模型。该模型的拟合结果如图4所示。
图4 2017年7月至2017年10月的美元/欧元汇率BP神经网络(17-3-1)预测图Fig.4 BP neural network (17-3-1) forecast graph of USD/EUR exchange rate from July 2017 to October 2017
该模型的相对误差是1.595 3×10-5,均方误差是 1.199 5×10-5。 从 图 4可 知 ,BP神 经 模 型(17-3-1)的预测性能良好,将BP神经网络的拟合结果输入到下一个模型,再将2个模型进行线性叠加,得到2个模型的组合预测区间。但是,实验发现,输入节点定为17时,组合区间的准确性并不理想,所以,要优化模型的输入层节点个数、隐含层节点个数和精度设置。
2.2.2 参数优化
单个模型的预测精度高并不代表组合模型的效果就一定好,所以,需要找一个平衡点,既要避免单个模型精度过高导致过拟合,又要避免组合模型的效果不尽人意。通过适当地增大BP神经网络的预测精度,提高了组合模型的整体效果,模型结果最终确定为50-7-1,得到BP神经网络的预测结果如图5所示。
图5 2017年7月至2017年10月的美元/欧元汇率BP神经网络(50-7-1)预测图Fig.5 BP neural network (50-7-1) forecast graph of USD/EUR exchange rate from July 2017 to October 2017
从图5可以看出,模型对原序列的拟合效果较好。将该模型的残差序列输入到ARMA以及GARCH模型,作为新的输入数据。
2.3.1 ARMA模型实例分析
首先对残差时间序列c{x}进行单位根检验,结果显示c{x}已经平稳。通过自相关系数(AC)和偏自相关系数(PAC)以及AIC(Akaike information criterion,赤池信息准则)、BIC(Bayesian information criterion,贝叶斯信息准则)的值来确定ARMA模型的参数p与q,序列的自相关系数以及偏自相关系数如图6所示。
图6 残差序列{c(x)}的自相关图Fig.6 Autocorrelation giagram of residual sequence {c(x)}
图6中,概率为Q统计量取值大于该样本计算的Q值的概率。从AC可以看出,序列c{x}的自相关系数2阶拖尾,偏自相关系数1阶结尾,将参数确定为p=1,q=2。模型估计结果如表1所示。
表1 ARMA(1,2)模型估计结果Tab.1 Estimation results of ARMA (1, 2) model
对ARMA(1, 2)模型进行残差检验,得到自相关和偏自相关系数,如图7所示。
从图7可以看出,残差序列的自相关、偏自相关系数都处于95%的置信区间之内,且自相关系数的概率值均高于检验水平0.05,因此,得出结论:ARMA(1, 2)模型的残差序列不存在自相关性。可得ARMA(1, 2)表达式为
从图8可以看出,大部分的真实值均落在ARMA(1, 2)模型的预测区间内,这验证了ARMA模型分析时间序列波动的有效性,而有超过5%的点落在预测区间外,同时也说明自回归移动平均模型在波动性分析方面的精度还不够。
2.3.2 线性叠加
利用ARMA(1, 2)模型预测BP神经网络模型的残差,将ARMA(1, 2)对c{x}序列的预测结果与BP神经网络的预测结果线性叠加,可得到美元/欧元汇率在5 901~6 000这一时间段的预测区间,如图9所示。
从图9可以看出,除了误差允许范围内的少部分真实值落在预测区间外,其余的真实值均落在区间内,且与真实数据的趋势也保持一致。
图7 残差序列相关图Fig.7 Correlation diagram of residual sequence
2.4.1 GARCH模型实例分析
前面已经证明序列{c(x)}具有平稳性。用ARCH-LM方法验证出该序列具有高阶的ARCH效应,那么,采取GARCH模型就可以很好地消除该序列的条件异方差特性。依据最小AIC原则,构建模型GARCH(1, 1),模型的参数如表2所示。GARCH(1, 1)的表达式为
利用该模型拟合前900个数据,得到后100个的拟合结果,并预测其波动区间,得到置信度为95%的置信区间以及其预测方差,如图10所示。
从图10可以看出,序列全部的真实值都处在置信区间内,方差也随着迭代步数的增加而变大,整体的预测效果良好。
图8 残差序列c{x}95%的预测区间Fig.8 95% prediction interval of residual sequence c{x}
图9 BP-ARMA组合模型95%的预测区间Fig.9 95% prediction interval by the BP-ARMA combination model
表2 GARCH(1,1)模型估计结果Tab.2 Estimation results by the GARCH (1, 1) model
2.4.2 线性叠加
将BP神经网络和GARCH(1, 1)模型的预测结果进行线性叠加,就可以得到美元/欧元汇率序列置信水平为95%预测区间,如图11所示。
从图11可知,只有4个真实值不在置信区间之内,2种模型组合的效果较好。
从图9与图11的结果可以看出,BP与GARCH模型的组合相比于BP与ARMA模型的组合,区间估计更准确,只有极少数误差允许范围内的时间节点的真实值超出预测区间,而BP-ARMA的组合模型在100个时间节点当中有超过10个时间节点的真实值超出了预测区间,说明BP-GARCH模型要优于BP-ARMA模型,更适合对金融时间序列进行趋势与波动性分析。
图10 GARCH(1,1)模型对残差序列{c(x)}的区间预测Fig.10 Interval prediction of residual sequence {c(x)} by the GARCH (1, 1) model
图11 BP-GARCH(1,1)模型对美元/欧元汇率95%的预测区间Fig.11 95% interval forecast of USD/EUR exchange rate by the BP-GARCH (1, 1) model
将BP神经网络分别与ARMA,GARCH模型进行组合,对比分析近几年美元/欧元汇率的趋势与波动性,结果显示,BP神经网络的非线性映射能力较强,可以准确地刻画时间序列的趋势。通过适当地增大BP神经网络模型的误差来提高组合模型的预测效果,构建出一结构为50-7-1的BP神经网络模型,接着采用 ARMA(1, 2)与GARCH(1, 1)模型提取BP神经网络的拟合结果的波动信息,最后结合BP神经网络模型的趋势特性,得出美元/欧元汇率的拟合趋势以及置信水平为 95%的预测区间。比较 BP-ARMA(1, 2)与BP-GARCH(1, 1)这2个模型的预测效果,可以得出:BP-GARCH(1, 1)模型的预测效果比单一的BP神经网络模型好,也比BP-ARMA(1, 2)组合模型的效果更好。