RMB Exchange Rate Prediction Based on ARMA-GARCH Model and Markov Chain
This paper presents an ARMA-GARCH model of the RMB exchange rate and subsequently introduces a Markov chain model with the objective of exploring the pattern of China’s onshore RMB exchange rate. The standard error extracted from the ARMA-GARCH(1,1) model is combined with the mean value of the exchange rate rise and fall predicted by the Markov chain to predict the range of exchange rate changes in the short term. It is possible to predict the upper limit of the exchange rate within seven trading days. However, subsequent research is required to improve the accuracy of this prediction.
RMB Exchange Rate
随着我国经济的蓬勃发展,对外开放的步伐日益加快,与世界各国的经贸往来也日趋频繁。在此背景下,人民币汇率作为连接国内外市场的重要桥梁,其变动不仅直接影响着我国的进出口贸易,更关乎国家经济的稳定与发展。由于全球经济的复杂性,人民币汇率受到多种因素的影响,包括国际政治经济形势、市场供需关系、投资者预期等,其波动性和随机性愈发显著。汇率的波动直接影响到跨国交易的成本、风险以及国家外汇储备的价值。汇率的准确预测不仅能帮助企业规避外汇风险,优化资金管理,还能为政府决策提供有力的数据支持。正因如此,汇率预测一直是金融研究领域的重要课题,吸引着众多学者的关注。
当前,对汇率的预测方法主要分为参数方法和非参数方法两大类。参数方法中的广义自回归异方差模型(GARCH模型)已被广泛应用于金融市场数据的研究中,为风险管理和投资决策提供重要依据。它能够捕捉时间序列数据的波动性规律,较好的拟合金融市场因子时间序列尖峰厚尾特征,比较适合用于分析金融时间序列数据的条件方差。叶青(2000)在研究我国股票市场潜在风险时引入GARCH(1,1)-M模型,构建的VaR模型具有较好的拟合效果
然而,金融市场的复杂性使得基于数据间关系的参数模型在某些情况下可能失效,非参数方法的出现提供了新的解决思路。非参数方法不依赖于特定概率分布的模型假设,而是直接通过输入数据与观察结果之间的联系来进行分析。这种方法在处理非线性、非平稳数据时具有独特的优势。特别是马尔可夫链,它能够通过模拟随机状态的转移来刻画数据的动态变化,为复杂系统的建模提供了新的思路。马尔可夫链在金融领域有较多的应用。在银行贷款方面,于立勇等(2000)对商业银行五级贷款按照稳健的贷款损失概率进行了分析,使用吸收态马尔可夫链计算得到了逾期贷款损失概率分布
本文分别对人民币汇率建立ARMA-GARCH模型和马尔可夫链对未来汇率进行预测,发现两者对汇率的预测均存在较大误差,其中ARMA-GARCH模型对汇率波动性刻画较好,马尔科夫链对汇率期望刻画相对较好,进而结合两者对汇率进行重新预测,发现对7个交易日内的短期汇率变化范围具有较好刻画。
本文的创新之处在于,尝试将广义自回归异方差模型对波动性的精准预测与非参数方法中马尔可夫链对随机状态转移的灵活模拟相结合,旨在对人民币汇率变化进行更为精准的区间预测。这种综合方法的应用,不仅能够捕捉到汇率波动的动态特征,还能够更好地适应金融市场的非线性变化。本文通过对预测效果的深入分析,评估不同预测方法的优劣,并据此提出改进方向,为后续的汇率预测研究提供有益的参考,以期在复杂多变的金融市场中为企业和决策者提供更加可靠的数据支持。
ARMA-GARCH模型是一个在金融时间序列分析中广泛应用的模型,它结合了自回归移动平均(ARMA)模型和广义自回归条件异方差(GARCH)模型的特点,用于同时模拟时间序列的均值和方差动态。其中,ARMA部分用于建模时间序列的均值,而GARCH部分则用于建模时间序列的方差。
ARMA模型描述了时间序列数据与其过去值以及随机扰动项之间的关系。ARMA(p,q)模型的一般形式为:
(1)
其中, 是时间序列在时刻t的值,c是常数项, 是自回归系数, 是移动平均系数, 是时刻t的误差项,自回归部分的滞后阶数为p,移动平均部分的滞后阶数为q。
对于平稳的ARMA(p,q)模型 ,要想预测后一期 ,那么 的条件均值需要满足 ,该模型误差项的条件方差为 。当上述模型的条件方
差不是一个恒定的常数时,说明该时间序列存在异方差,考虑构建自回归条件异方差(ARCH)模型,用过去的误差项平方序列拟合当前的条件方差,其结构为:
(2)
其中, 独立同分布,均值为零且方差为常数。
由于使用ARCH模型会产生很高的阶数,增加大量的参数,这会导致估计效率和精度大大降低,从而降低该模型的拟合精度,因此将条件方差引入方程中,把ARCH模型写成ARMA模型的形式,得到GARCH模型,用于建模时间序列的波动性。GARCH(p,q)模型的一般形式为:
(3)
其中, 是时刻t的条件方差, 和 模型的参数, 是时刻t的误差项。
在ARMA-GARCH模型中,ARMA部分用于捕捉时间序列的均值动态,GARCH部分则用于捕捉时间序列的波动性动态,模型提供更为全面的数据分析视角,在处理金融时间序列数据时具有较好的预测性能。与其他复杂模型(如神经网络、支持向量机等)相比,ARMA-GARCH模型具有更强的可解释性和更少的参数需求。
马尔可夫链(Markov Chain, MC)是概率论和数理统计中具有马尔可夫性质且存在于离散的指数集和状态空间内的随机过程。它用于描述一系列事件中,下一个事件只与当前事件有关,而与之前的事件无关的特性。马尔可夫链由状态空间和转移概率组成。状态空间是所有可能状态的集合,而转移概率则定义了从一个状态转移到另一个状态的可能性。马尔可夫链能够简化复杂系统的建模过程,通过仅考虑当前状态来预测未来状态,降低了模型的复杂度。此外,它在处理序列数据时表现出色,能够捕捉序列中的依赖关系。
马尔可夫链的特点是当随机过程在时刻 的状态已知的条件下,它在时刻 所处的状态仅与时刻 的状态有关,而与过程在 以前的状态无关。对马尔可夫链,系统在某时刻从状态a经过n步转移后处于状态b的概率称为n步转移概率。由一步转移概率 为元素构成的矩阵 称为一步转移矩阵,由所有n步转移概率 为元素组成的矩阵 称为n步转移矩阵。n步转移矩阵 与一步转移矩阵 具有以下的关系 。设 是状态在第n步的概率分布向量,则由矩阵乘法可得 ,其中 为初始时状态的概率分布向量。
对于m个状态区间, 表示t时刻所处的状态区间,用 统计量来检验随机时间序列 是否具有马氏性,步骤如下:用 表示在 中从状态i经过一步转移到状态j的频数,并将 的第j列之和除以各行各列的总和所得到的值记为 ,即:
(4)
(5)
(6)
当m比较大时,卡方统计量 服从自由度为 的 分布。 大于相应置信度下的分布统计量,可认为符合马氏性。
数据选择2018年7月4日至2022年4月29日的美元/人民币在岸汇率,以汇率的每日涨跌幅作为研究数据,共929条,数据来源于同花顺iFind数据库。汇率涨跌幅分布情况见
观测值 |
均值 |
中位数 |
最大值 |
最小值 |
标准差 |
偏度 |
峰度 |
Jarque-Bera统计量 |
|
汇率涨跌幅 |
929 |
0.000014 |
0 |
0.014884 |
−0.014257 |
0.002584 |
0.323530 |
8.479068 |
1178.238 |
从
对汇率数据的涨跌幅进行ARMA-GARCH模型分析。在时间序列分析的过程中为了避免“伪回归”问题,要求所分析的时间序列必须具备平稳性,体现在时间序列的均值和方差不随时间变化,其协方差也只与时间间隔相关,而非具体时间点。在建模分析之前,需要对汇率涨跌幅序列进行单位根检验。单位根检验结果见
ADF检验P值 |
检验结果 |
|
汇率涨跌幅 |
0.0000 |
平稳 |
对汇率涨跌幅进行自相关图分析,其自相关系数(ACF)和偏自相关系数(PACF)均无明显截尾现象,使用经模型识别和序列相关性检验后选择ARMA(5,5)和AR(12)作为备选模型。AIC准则和BIC准则判断情况见
AIC准则 |
BIC准则 |
|
AR(p) |
12 |
5 |
MA(q) |
0 |
5 |
对ARMA(5,5)和AR(12)模型进行ARCH效应检验,结果见
Obs*R-squared |
P-value |
|
ARMA(5,5) |
8.102221 |
0.0044 |
AR(12) |
9.176106 |
0.0025 |
Coefficient |
Std. Error |
z-Statistic |
P-value |
|
Constant-ARMA |
−6.56E−05 |
0.000082 |
−0.802556 |
0.4222 |
AR(5) |
0.391496 |
0.079023 |
4.954224 |
0.0000 |
MA(5) |
−0.358437 |
0.085647 |
−4.185054 |
0.0000 |
Constant-GARCH |
3.19E−06 |
3.25E−07 |
9.803596 |
0.0000 |
RESID(-1)^2 |
0.295827 |
0.038527 |
7.678489 |
0.0000 |
GARCH(-1) |
0.250471 |
0.062760 |
3.990938 |
0.0001 |
Coefficient |
Std. Error |
z-Statistic |
P-value |
|
Constant-AR |
−7.35E−05 |
8.45E−05 |
−0.870630 |
0.3840 |
AR(12) |
0.089147 |
0.028472 |
3.131046 |
0.0017 |
Constant-GARCH |
3.11E−06 |
3.31E−07 |
9.423887 |
0.0000 |
RESID(-1)^2 |
0.277036 |
0.036605 |
7.568228 |
0.0000 |
GARCH(-1) |
0.264265 |
0.064237 |
4.113929 |
0.0001 |
两组模型中ARMA部分的常数项均不显著,其余各项显著性较好。构建模型时剔除ARMA部分的常数项。
ARMA(5,5)-GARCH(1,1)模型:
(7)
(8)
AR(12)-GARCH(1,1)模型:
(9)
(10)
(11)
(12)
分别对ARMA(5,5)-GARCH(1,1)、AR(12)-GARCH(1,1)计算未来7天、19天预测汇率的MAE、RMSE,得到结果如
7 days |
19 days |
|||
MAE |
RMSE |
MAE |
RMSE |
|
ARMA(5,5)-GARCH(1,1) |
0.1308 |
0.1407 |
0.1210 |
0.1306 |
AR(12)-GARCH(1,1) |
0.1311 |
0.1403 |
0.1131 |
0.1238 |
考虑到GARCH模型对波动率刻画较为有效,分别计算两组模型误差项未来7天、19天的标准差均值,并与未来7天、19天实际美元/人民币在岸汇率的标准差进行比较,结果见
7 days |
19 days |
|||||
Actual S.D. |
S.D. Mean |
Percentage |
Actual S.D. |
S.D. Mean |
Percentage |
|
ARMA(5,5)-GARCH(1,1) |
0.055287 |
0.054803 |
0.88% |
0.050732 |
0.052577 |
3.64% |
AR(12)-GARCH(1,1) |
0.054187 |
1.99% |
0.052132 |
2.76% |
通过模型误差项标准差的均值(S.D. Mean)与实际汇率标准差(Actual S.D.)的比较可以发现,两组模型对未来19天汇率的标准差刻画较好,且AR(12)组更胜一筹;而对未来7天汇率标准差的刻画,两组模型更加精确,差异率均在2%以内,ARMA(5,5)组更佳,差异率仅为0.88%。模型对7天内汇率的波动情况有较好拟合,因此考虑提取模型误差的标准差序列 作为波动因子,短期内汇率波动情况进行模拟。
马尔可夫链要求划分随机过程的状态,以往研究中往往采取划分价格区间的做法,这种做法得到的是未来资产价格区间的预测。本文调整了以往研究思路,将汇率日收盘价转换为日涨跌幅,根据样本美元/人民币在岸汇率涨跌幅情况,将其划分为6个区间,并统计了各区间的样本频数,得出转移频数矩阵,见
涨跌幅区间 |
(−∞,−0.5%] |
(−0.5%,−0.2%] |
(−0.2%,0] |
(0,0.2%) |
[0.2%,0.5%) |
[0.5%,∞) |
样本频数 |
26 |
107 |
306 |
296 |
102 |
33 |
ab |
(−∞,−0.5%] |
(−0.5%,−0.2%] |
(−0.2%,0] |
(0,0.2%) |
[0.2%,0.5%) |
[0.5%,∞) |
(−∞,−0.5%] |
2 |
4 |
5 |
8 |
6 |
1 |
(−0.5%,−0.2%] |
6 |
10 |
32 |
41 |
11 |
6 |
(−0.2%,0] |
7 |
46 |
114 |
125 |
32 |
8 |
(0,0.2%) |
6 |
28 |
124 |
124 |
39 |
8 |
[0.2%,0.5%) |
3 |
14 |
46 |
25 |
11 |
3 |
[0.5%,∞) |
2 |
5 |
11 |
6 |
3 |
6 |
ab |
(−∞,−0.5%] |
(−0.5%,−0.2%] |
(−0.2%,0] |
(0,0.2%) |
[0.2%,0.5%) |
[0.5%,∞) |
(−∞,−0.5%] |
7.69% |
15.38% |
19.23% |
30.77% |
23.08% |
3.85% |
(−0.5%,−0.2%] |
5.66% |
9.43% |
30.19% |
38.68% |
10.38% |
5.66% |
(−0.2%,0] |
2.11% |
13.86% |
34.34% |
37.65% |
9.64% |
2.41% |
(0,0.2%) |
1.82% |
8.51% |
37.69% |
37.69% |
11.85% |
2.43% |
[0.2%,0.5%) |
2.94% |
13.73% |
45.10% |
24.51% |
10.78% |
2.94% |
[0.5%,∞) |
6.06% |
15.15% |
33.33% |
18.18% |
9.09% |
18.18% |
首先根据公式(6)用 统计量来检验汇率涨跌幅 是否具有马氏性。本文共划分6个汇率涨跌幅区间,选择置信度为1%,查表得 值并根据公式(4)、(5)、(6)可得马氏性检验的卡方统计量: 。可认为本文所用汇率涨跌幅样本符合马氏性。
以4月29日(状态(−0.2%,0])为起始,预测19个交易日后5月31日的美元/人民币汇率。行向量[0,0,1, 0,0,0]记为初始状态
。计算6段区间内实际汇率的平均涨跌幅作为区间涨跌幅的代表值,取涨跌幅+1为平均变化,记为列向量
,具体见
涨跌幅区间 |
(−∞,−0.5%] |
(−0.5%,−0.2%] |
(−0.2%,0] |
(0,0.2%) |
[0.2%,0.5%) |
[0.5%,∞) |
涨跌幅 |
−0.7178% |
−0.3062% |
−0.0868% |
0.0807% |
0.3021% |
0.7324% |
平均变化 |
0.992822 |
0.996938 |
0.999132 |
1.000807 |
1.003021 |
1.007324 |
计算矩阵乘法 ,即为未来第t期汇率涨跌的变化情况,记为汇率变化序列 ,进而可得到汇率涨跌幅序列 ,有 。计算过程中基于python调用quantecon库MarkovChain函数,或
构建循环计算得到目标日概率分布。进一步计算得到美元/人民币在岸汇率未来第19天预测值为6.5879元。而实际汇率为6.6578元;未来第7天预测值为6.5875,实际汇率为6.7830。对汇率的预测在数值上有较大出入,进一步比较未来7天与19天的汇率预测精度,同样使用MAE与RMSE指标,具体见
7 days |
19 days |
|||
MAE |
RMSE |
MAE |
RMSE |
|
Markov Chain |
0.1341 |
0.1441 |
0.1260 |
0.1353 |
考虑到马尔可夫链对汇率随机过程的模拟,会在一定区间后收缩为稳定态,即汇率涨跌幅的预测值趋近于固定值,这显然不符合实际涨跌幅的变动。
7 days |
19 days |
|||||
Actual mean |
Fitting mean |
percentage |
Actual mean |
Fitting mean |
percentage |
|
Markov Chain |
6.7136 |
6.5876 |
1.88% |
6.7134 |
6.5876 |
1.87% |
结合ARMA(5,5)-GARCH(1,1)模型的波动预测和马尔可夫链的期望预测,构造
、
、
作为未来短期内汇率的预测区间。对未来19天、7天的区间预测效果图如
7 days |
19 days |
|||||||
MAE-σ |
RMSE-σ |
MAE-2σ |
RMSE-2σ |
MAE-σ |
RMSE-σ |
MAE-2σ |
RMSE-2σ |
|
Combined Model |
0.0446 |
0.0484 |
0.0246 |
0.0352 |
0.1122 |
0.1431 |
0.2821 |
0.3607 |
通过汇率区间预测效果图可以看出,虽然短期汇率走势完全落在
区间之内,但是区间预测的精确度很差,且实际汇率走势多在区间上界范围附近。这主要是因为马尔可夫链存在一个平稳状态,此时一步概率转移矩阵为固定矩阵,预测值序列呈指数序列,因为汇率涨跌幅取值较小,使得预测得到的汇率序列呈类直线趋势。
序列与
序列在未来7天和19天的预测精度见
在深入对比了ARMA-GARCH模型和马尔可夫链两种方法后,可以得出以下观察和分析。首先,ARMA-GARCH模型在捕捉汇率的短期涨跌幅波动方面展现出了显著的优势。然而,当预测的时间跨度拉长时,该模型的表现并未能达到预期效果,其预测能力并不突出。这显示了该模型在单变量时间序列数据分析上的局限性,特别是在处理长期预测时的不足。另一方面,马尔可夫链方法的应用也面临一些挑战。其一步转移矩阵需要随着汇率数据的更新而不断调整,这增加了模型应用的复杂性和动态性。更重要的是,由于马尔可夫链预测是基于状态转移的特性,它只能预测未来某个时间点汇率落在各个区间的概率。即使尝试通过构建涨跌幅区间的调整方法来预测,其结果仍然会受到所选择的涨跌幅区间划分方法的显著影响。
为了提升这两种方法的预测精度,可以从几个角度进行改进。首先,可以先从中长期的角度对汇率涨跌趋势进行划分。对于汇率的预测,在一个更长的时间维度上从数据池中截取信息,以判断预测区间内的汇率是处于上涨、持平还是下跌的趋势。这种趋势分析可以更好地理解汇率的长期行为,并为进一步的短期预测提供有价值的背景信息。此外,针对马尔可夫链的区间划分问题,可以考虑进一步细化状态区间。通过收窄状态区间的范围,可以更精确地捕捉汇率的细微变化,并减少由于区间涨跌幅选择问题所带来的预测误差。这不仅可以提高预测的精度,还可以使模型更加灵活和敏感地适应市场的动态变化。
总的来说,虽然ARMA-GARCH模型和马尔可夫链在汇率预测中都有其独特的应用价值,但也应清楚地认识到它们的局限性和需要改进的地方。通过结合中长期趋势分析和细化状态区间等方法,有望进一步提升这两种模型在汇率预测中的准确性和可靠性。同时,这也指出了未来研究的方向,即如何更有效地结合不同的模型和方法,以应对复杂多变的金融市场环境。
感谢上海理工大学管理学院王美娇副教授、廖昕副教授对文章模型的指点和帮助。