美元兑人民币汇率对黄金价格的预测

    1. 数据介绍

1.1数据来源

     美元兑换人民币的汇率是来自凤凰网财经版块的从2008年1月1日至2013年5月31日的数据,而黄金价格是来自investing.com的从2008年1月1日至2013年5月31日的数据。其中美元兑换人民币的汇率用rt表示,黄金价格用pt表示。

 

1.2数据处理

     由于这两个数据的时间有些不一致,于是我做了以下工作使两组数据的时间一致。首先,对于两组数据中的其中一组中缺少一个日期的,我将缺少的那一个日期的数据设置为前后两个数据的平均值。然后,对于缺少的日期不止一个的,我将缺少的那几个日期的数据都设置为临近两个日期的平均值。比如:

                                                                                                                                  表1  缺少一个日期的例子

date

rate

date

price

2008/1/18

725.71

2008/1/18

880.8

2008/1/21

725.98

2008/1/22

889.6

2008/1/22

725.56

2008/1/23

882.5

如上表1所示,黄金价格缺失了2008年1月21日的值,于是我用2008年1月18日和2008年1月22日的这两个值的平均值885.2代替。

                                                                                                                                  表2  缺少多个日期的例子

date

rate

date

price

2008/2/5

718.46

2008/2/5

885.9

2008/2/13

719.52

2008/2/6

900.7

2008/2/14

718.9

2008/2/7

906.1

2008/2/15

717.63

2008/2/8

918.4

2008/2/18

716.67

2008/2/11

922.9

2008/2/19

715.74

2008/2/12

907.4

2008/2/20

714.52

2008/2/13

906.5

如表2,跟黄金价格的日期相比,汇率缺失了5个日期,于是我用2008年2月5日和2008年2月13日的两个值的平均值718.99作为这5个缺失日期的值。

 

2.建模过程

2.1汇率的时间序列模型

2.1.1 建立ARIMA模型

    首先看美元兑换人民币的汇率的时间序列图:

 

                                                                                                                               图1 汇率的时间序列图

从图1中可以看出,这是一个带趋势项的时间序列,且具有很强的趋势性,于是利用一阶差分来消除趋势性,得到:


                                                                                                                        图2  汇率一阶差分后的时间序列图

通过一阶差分之后,趋势性消除了,接下来开始建立模型,首先通过序列的acf和pacf图尝试确定阶数:


                                                                                                                             图3  汇率一阶差分后的ACF


                                                                                                                                图4  汇率一阶差分后的PACF

这两个图都没有明显的截尾性,于是我们直接对一阶差分后的数据建立ARMA模型,首先尝试ARMA(1,1),得到的结果如下:

 

Series: rt

ARIMA(1,1,1)                   

 

Coefficients:

        ar1      ma1

     0.9983  -0.9843

s.e. 0.0021   0.0050

 

sigma^2 estimated as 0.29:  log likelihood=-1151.72

AIC=2309.44   AICc=2309.46   BIC=2325.26

 

接下来我们检验模型的有效性:


                                                                                                                        图5  ARMA(1,1)模型有效性的检验结果

 

从检验结果来看,这个模型是有效的,再检验模型的系数的有效性:

 

z test of coefficients:

 

     Estimate Std. Error z value Pr(>|z|)   

ar1 0.9983150  0.0020891  477.86 < 2.2e-16 ***

ma1 -0.9842741  0.0050410 -195.25 < 2.2e-16 ***

 

两个系数的p值都小于5%,说明这个模型的系数是显著的。所拟合的模型如下:

整理得:

 

另外,还尝试了其它的模型,如ARMA(2,1),ARMA(1,2),ARMA(2,2),这些模型都是显著的,但是它们的系数有些不显著,而且它们的BIC值都大于ARMA(1,1),除了ARMA(2,2),其它两个模型的AIC也都大于ARMA(1,1)。综合以上分析,ARMA(1,1)模型是最优的。其残差的acf图也显示无自相关,对残差的25阶检验结果中p值大于5%,即残差无自相关。但是残差的平方的检验结果表明存在自相关性,于是考虑建立GARCH模型。


                                                                                                                                  图6  残差的ACF图

 

2.1.2 建立GARCH模型

在建立模型之前,先看一下建立ARCH模型的四个步骤:

(1)通过检验数据的序列相关性建立一个均值方程,如有必要,对收益率序列建立一个计量经济模型(如ARMA模型)来消除任何的线性依赖;

(2)对均值方程的残差进行ARCH效应检验;

(3)如果ARCH效应在统计上是显著的,则指定一个波动率模型,并对均值方程和波动率方程进行联合估计;

(4)仔细地检验所拟合的模型,如有必要则对其进行改进。

     ARCH模型的建模方法也可以用来建立一个GARCH模型。然而,GARCH模型的阶不太容易确定。在实际应用中,只用到低阶的GARCH模型,如GARCH(1,1)模型,GARCH(2,1)模型,GARCH(1,2)模型等。

     前面的检验结果表明ARCH效应在统计上是显著的,于是尝试建立GARCH模型,综合模型的显著性,AIC值越小越好的原则,最后选择了AR(1,1)+GARCH(1,2)模型,建模结果如下:

 

Title:

 GARCH Modelling

 

Call:

 garchFit(formula = rt ~ arma(1, 1) +garch(1, 1), data = r1,

    trace = F)

 

Mean and Variance Equation:

 data ~ arma(1, 1) + garch(1, 1)

<environment: 0x10d438a0>

 [data = r1]

 

Conditional Distribution:

 norm

 

Coefficient(s):

        mu         ar1         ma1       omega     alpha1       beta1 

-0.0333550   0.0076389   0.0631761  0.0026670   0.0675436   0.9227838 

 

Std. Errors:

 based on Hessian

 

Error Analysis:

         Estimate  Std. Error t value Pr(>|t|)   

mu     -0.0333550   0.0248484  -1.342    0.179   

ar1     0.0076389   0.7039483   0.011    0.991   

ma1     0.0631761   0.7034084   0.090    0.928   

omega   0.0026670   0.0004362   6.115 9.67e-10 ***

alpha1  0.0675436   0.0111673   6.048 1.46e-09 ***

beta1   0.9227838   0.0110426  83.565  < 2e-16 ***

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

Log Likelihood:

 -837.6255    normalized: -0.5820886

 

Description:

 Fri Jun 21 23:48:02 2013 by user:Administrator

 

 

Standardised Residuals Tests:

                                Statistic p-Value 

 Jarque-Bera Test   R   Chi^2  100128.6  0       

 Shapiro-Wilk Test  R   W      0.8568862 0       

 Ljung-Box Test     R   Q(10)  9.800271  0.4581876

 Ljung-Box Test     R   Q(15)  12.47034  0.6431355

 Ljung-Box Test     R   Q(20)  17.8987   0.5940815

 Ljung-Box Test     R^2 Q(10)  0.8269668 0.9999285

 Ljung-Box Test     R^2 Q(15)  0.9627662 0.9999998

 Ljung-Box Test     R^2 Q(20)  1.072775  1       

 LM Arch Test       R   TR^2   0.8948157 0.9999924

 

Information Criterion Statistics:

     AIC      BIC     SIC     HQIC

1.172516 1.194497 1.172482 1.180722

 

从上述结果可以看出,建立GARCH(1,2)模型之后残差无自相关,也无异方差(残差的平方无自相关),所以模型是有效的。于是,所拟合的模型为(r1为汇率的一阶差分):

 

2.2 黄金价格与汇率的模型

    纵观历史数据,黄金价格与汇率大概成一个此消彼长的关系,由这两个数据计算出来的相关系数为-0.8988,也表明有很强的负相关,下图为它们的时间序列图:


                                                                                                                                 图7 汇率和黄金价格的时间序列图

 

既然这两个数据是高度相关的,描述这两个数据之间的关系的一个自然方式是利用简单的线性模型,拟合结果为:

 

Call:

lm(formula = pt ~ rt)

 

Residuals:

    Min     1Q  Median      3Q    Max

-406.20  -99.46  29.02   94.02  353.63

 

Coefficients:

             Estimate Std. Error t valuePr(>|t|)   

(Intercept)8513.7172    92.9791   91.57  <2e-16 ***

rt           -10.9046     0.1402 -77.76   <2e-16 ***

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1

 

Residual standarderror: 143.2 on 1438 degrees of freedom

Multiple R-squared:0.8079,    Adjusted R-squared: 0.8077

F-statistic:  6046 on 1 and 1438 DF,  p-value: < 2.2e-16

 

因此,所拟合的模型为:


    画出模型的残差的时间图以及残差的ACF,从图可见,该模型是严重不充分的。特别地,残差的样本ACF是高度显著的并且缓慢衰减,显示出单位根非平稳时间序列的特点,残差的表现说明两个数据间存在明显的差异。


                                                                                                                                   图8  模型残差的时序图和ACF

  

于是我们考虑这两个数据的变化量序列,设为p1和r1,先看它们的时间图:


                                                                                                        图9   一阶差分后的汇率和黄金价格的时序图

 

再计算这两个变化量序列的相关系数,cor(r1,p1)=-0.016。计算结果表明几乎不存在相关关系,于是对于上面拟合的模型中残差的序列相关性用简单的时间序列模型来描述,从而得到一个带时间序列误差的线性回归。综合AIC值越小越好的原则和模型的相对有效性,最后选择ARMA(1,1)模型:

 

Series: pt

ARIMA(1,0,1) with non-zero mean

 

Coefficients:

        ar1      ma1  intercept       rt

      0.9980  -0.1639 2568.7890  -1.9364

s.e. 0.0014   0.0265   639.3145  0.9388

 

sigma^2 estimated as 377.6:  log likelihood=-6318.17

AIC=12646.34  AICc=12646.38   BIC=12672.7

 

Training set error measures:

         ME         RMSE          MAE          MPE         MAPE

 0.260320469 19.431024708 11.898488052-0.004087602  0.969354535

       MASE

 1.013218549

 

检验模型的有效性:


                                                                                                        图10  带时间序列误差的回归模型的有效性检验图

 

 从上面第三个图可以看出,这个模型在7阶以下是有效的。接下来检验模型系数的有效性:

 

z test of coefficients:

 

            Estimate  Std. Error  z value Pr(>|z|)   

ar1       9.9803e-01  1.3888e-03 718.6372< 2.2e-16 ***

ma1      -1.6388e-01  2.6455e-02  -6.1944 5.850e-10 ***

intercept 2.5688e+03  6.3931e+02   4.0180 5.869e-05 ***

rt       -1.9364e+00  9.3878e-01  -2.0626  0.03915 * 

 

从检验结果可以看出,系数都是显著的,于是所拟合的模型为:



2.3  模型总结

  前面的建模过程表明,美元兑换人民币的汇率的时间序列模型为:

     ,

  

而黄金价格与汇率的关系为:


从而汇率可根据自身的时间序列模型来预测未来值,而黄金价格却无法预测,于是可以根据预测出来的汇率通过黄金价格与汇率的关系来预测黄金价格。

本文的不足之处在于黄金价格与汇率的关系式的残差在7阶以上是存在自相关的。

                     3. 预 测

由于汇率的模型的变量是汇率做了一阶差分之后的数据,所以预测出来的值只是两个相邻汇率值的差,通过计算得出汇率的预测之后代入黄金价格与汇率的模型可直接算出黄金价格的预测值,这个可以通过R软件直接实现,下表是通过拟合的模型预测出来的从2013年6月1日至2013年6月5日的值与真实值:

 

        表3  5个预测值与真实值

date

rate

predict r

price

predict p

2013/6/1

617.96

617.91

1390.7

1391.35

2013/6/2

617.96

617.88

1394.05

1391.37

2013/6/3

618.06

617.85

1412.05

1391.39

2013/6/4

617.35

617.81

1398.15

1391.43

2013/6/5

617.57

617.78

1401.05

1391.45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值