The VARMAX Procedure

Example 42.4 Analysis of Euro Foreign Exchange Reference Rates

This example illustrates how to use and select the VARMA-GARCH model for exchange rates, a general type of financial data. As shown in much of the literature, the financial variables are cross-correlated and autocorrelated not only on first moments, but also on second moments. The VARMA-GARCH model and the vector error correction GARCH model are often used to catch the stylized fact.

The data, downloaded from European Central Bank website (https://www.ecb.europa.eu), consist of four pairs of daily foreign exchange reference rates: the euro and the Australian dollar (AUD), the euro and the British pound sterling (GBP), the euro and the Japanese yen (JPY), and the euro and the US dollar (USD). The full sample covers the period from January 4, 1999, to February 12, 2015 (4,127 days). In the following statements, the series are logarithmically transformed, and the returns (in percentage) are calculated:

title 'Analysis of Euro Foreign Exchange Reference Rates';
data eurofxrr;
   input date : MMDDYY10. aud gbp jpy usd;
   label aud='The euro and the Australian dollar'
         usd='The euro and the U.S. dollar'
         jpy='The euro and the Japanese yen'
         gbp='The euro and the British pound sterling';
   logAUD = log(AUD); logGBP = log(GBP); 
   logJPY = log(JPY); logUSD = log(USD); 
   rAUD = (logAUD - lag(logAUD))*100;
   rGBP = (logGBP - lag(logGBP))*100;
   rJPY = (logJPY - lag(logJPY))*100;
   rUSD = (logUSD - lag(logUSD))*100;
datalines;
01/04/1999    1.9100    0.71110    133.73    1.1789
01/05/1999    1.8944    0.71220    130.96    1.1790
01/06/1999    1.8820    0.70760    131.42    1.1743
01/07/1999    1.8474    0.70585    129.43    1.1632

   ... more lines ...   

02/10/2015    1.4522    0.74200    134.67    1.1297
02/11/2015    1.4606    0.73960    135.50    1.1314
02/12/2015    1.4761    0.73760    135.72    1.1328
;

Although it is well known that unit roots exist in the exchange rate series and they are not cointegrated, you can use the following statements to verify:

/*--- Unit Roots and Cointegration in Log Exchange Rates ---*/

proc varmax data=eurofxrr;
   model logAUD logGBP logJPY logUSD / p=2 dftest cointtest;
run;

According to the results of the Dickey-Fuller unit root tests shown in Output 42.4.1, the null hypothesis that there is a unit root in each series cannot be rejected at the 5% significance level. The results of the Johansen cointegration rank trace tests shown in Output 42.4.2 confirm that there is no cointegration between series because the null hypothesis that the cointegration rank is 0, in both unrestricted and restricted cases, cannot be rejected at the 5% significance level. Because there is no cointegration, you do not need to consider vector error correction models; otherwise, the final selected model might be a vector error correction GARCH model, instead of a VARMA-GARCH model.

Output 42.4.1: Dickey-Fuller Unit Root Tests

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Unit Root Test
Variable Type Rho Pr < Rho Tau Pr < Tau
logAUD Zero Mean -1.05 0.4644 -1.08 0.2549
  Single Mean -9.44 0.1549 -2.31 0.1683
  Trend -13.85 0.2287 -2.63 0.2657
logGBP Zero Mean -0.57 0.5554 -0.59 0.4630
  Single Mean -3.23 0.6297 -1.27 0.6445
  Trend -11.11 0.3666 -2.27 0.4502
logJPY Zero Mean 0.00 0.6836 0.02 0.6894
  Single Mean -6.11 0.3394 -1.73 0.4140
  Trend -6.56 0.7000 -1.83 0.6901
logUSD Zero Mean -1.46 0.4014 -0.88 0.3346
  Single Mean -3.29 0.6216 -1.27 0.6471
  Trend -5.76 0.7638 -1.47 0.8394



Output 42.4.2: Johansen Cointegration Rank Trace Tests

Cointegration Rank Test Using Trace
H0:
Rank=r
H1:
Rank>r
Eigenvalue Trace Pr > Trace Drift in ECM Drift in Process
0 0 0.0059 36.6836 0.3601 Constant Linear
1 1 0.0018 12.1427 0.9269    
2 2 0.0008 4.7724 0.8319    
3 3 0.0003 1.3036 0.2532    

Cointegration Rank Test Using Trace Under Restriction
H0:
Rank=r
H1:
Rank>r
Eigenvalue Trace Pr > Trace Drift in ECM Drift in Process
0 0 0.0060 37.1246 0.6151 Constant Constant
1 1 0.0018 12.1792 0.9921    
2 2 0.0008 4.7941 0.9855    
3 3 0.0003 1.3041 0.9066    



Before modeling returns, you can test whether unit roots still exist in the differenced data with the following statement:

/*--- Unit Roots in Returns and Model Specification ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / p=2 dftest;
   test const; test ar(1); test ar(2);
run;

Output 42.4.3 shows that there is no unit root in each differenced series.

Output 42.4.3: Dickey-Fuller Unit Root Tests

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Unit Root Test
Variable Type Rho Pr < Rho Tau Pr < Tau
rAUD Zero Mean -4242.7 0.0001 -46.04 <.0001
  Single Mean -4243.7 0.0001 -46.04 <.0001
  Trend -4244.2 0.0001 -46.04 <.0001
rGBP Zero Mean -4358.4 0.0001 -46.67 <.0001
  Single Mean -4358.4 0.0001 -46.67 <.0001
  Trend -4358.5 0.0001 -46.66 <.0001
rJPY Zero Mean -4181.4 0.0001 -45.72 <.0001
  Single Mean -4181.4 0.0001 -45.72 <.0001
  Trend -4181.9 0.0001 -45.72 <.0001
rUSD Zero Mean -4306.8 0.0001 -46.40 <.0001
  Single Mean -4306.8 0.0001 -46.39 <.0001
  Trend -4307.4 0.0001 -46.39 <.0001



The preceding statements also test whether the constant and each of two lags of AR terms are 0. The test results are shown in Output 42.4.4.

Output 42.4.4: Tests on Constant and AR Terms

Testing of the Parameters
Test DF Chi-Square Pr > ChiSq
1 4 0.46 0.9776
2 16 59.42 <.0001
3 16 15.67 0.4759



The null hypothesis that the constant term is 0 and the null hypothesis that the second lag AR term is 0 are both accepted at the 5% significance level. However, the null hypothesis that the first lag AR term is 0 is rejected at the 5% significance level. In the remaining model selection process, only the first lag AR term is considered.

The following statements estimate a zero-mean VAR(1) model and also print some diagnostic results:

/*--- VAR Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1 print=(diagnose);
run;

Output 42.4.5 shows the information criteria for the estimated zero-mean VAR(1) model. In this example, AICC is used as the criterion for model selection: the smaller the AICC, the better the model.

Output 42.4.5: Information Criteria for the VAR Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -1745.29
HQC -1687.44
AIC -1745.64
SBC -1581.19
FPEC 0.011938



Diagnostics are printed because the PRINT=(DIAGNOSE) option is specified. As shown in Output 42.4.6, the null hypotheses that there is no ARCH effect in each series are all rejected at the 5% significance level.

Output 42.4.6: Tests on ARCH Effects

Univariate Model White Noise Diagnostics
Variable Durbin
Watson
Normality ARCH
Chi-Square Pr > ChiSq F Value Pr > F
rAUD 1.99811 8277.31 <.0001 217.35 <.0001
rGBP 1.99601 2537.71 <.0001 315.25 <.0001
rJPY 2.00007 2456.22 <.0001 149.75 <.0001
rUSD 1.99959 1398.54 <.0001 157.85 <.0001



To find the right GARCH model, you can start with the VAR(1)-CCC-GARCH(1,1) model (which is usually the fastest one to be estimated) as in the following statement:

/*--- VAR CCC GARCH Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=ccc;
run;

Compared to the AICC for the zero-mean VAR(1) model (shown in Output 42.4.5), the AICC for VAR(1)-CCC-GARCH(1,1) model, as shown in Output 42.4.7, dramatically decreases, which means that the ARCH effects do play an important role and should be modeled.

Output 42.4.7: Information Criteria for VAR CCC GARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -4646.77
HQC -4571.24
AIC -4647.35
SBC -4432.31
FPEC 0.011966



As indicated by its name, a basic assumption of CCC GARCH model is that the conditional correlation is time-invarying, which might not be true. The following statements estimate a BEKK GARCH model to see whether modeling the conditional correlation could improve the model performance:

/*---  VAR BEKK GARCH Model ---*/

proc varmax data=eurofxrr outest=oediagbekk;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=bekk;
run;

As shown in Output 42.4.8, the AICC for VAR BEKK GARCH model does get smaller than the AICC for the CCC GARCH model (shown in Output 42.4.7). The smaller AICC implies that the assumption of the CCC GARCH model might be inaccurate.

Output 42.4.8: Information Criteria for VAR BEKK GARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5667.7
HQC -5539.55
AIC -5669.38
SBC -5302.54
FPEC 0.011979



One shortcoming of the BEKK GARCH model is that it has too many parameters. In practice, especially for a large number of dependent variables, the scalar BEKK GARCH model and the diagonal BEKK GARCH model are often applied, as shown in the following statements. In the RESTRICT statement, matrix operations are used; using matrix operations is much more concise than restricting tens of ARCH and GARCH parameters one by one.

/*--- VAR Scalar BEKK GARCH Model ---*/

proc varmax data=eurofxrr outest=oediagbekk;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=bekk;
   restrict ach(1)=ach(1,1,1)*I(4), gch(1)=gch(1,1,1)*I(4);
run;
/*--- VAR Diagonal BEKK GARCH Model ---*/

proc varmax data=eurofxrr outest=oediagbekk;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=bekk;
   restrict ach(1)=ach(1)#I(4), gch(1)=gch(1)#I(4);
run;

The AICCs for the scalar and diagonal BEKK GARCH models are shown in Output 42.4.9 and Output 42.4.10, respectively, and both of them are larger than the AICC for the BEKK GARCH model (shown in Output 42.4.8). Hence, so far, the VAR BEKK GARCH model is the best.

Output 42.4.9: Information Criteria for VAR Scalar BEKK GARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5615.11
HQC -5552.83
AIC -5615.51
SBC -5438.41
FPEC 0.011974



Output 42.4.10: Information Criteria for VAR Diagonal BEKK GARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5630.31
HQC -5554.78
AIC -5630.89
SBC -5415.85
FPEC 0.011978



Another type of multivariate GARCH model that is suitable for modeling the time-varying conditional correlation is the dynamic conditional correlation (DCC) GARCH model, as indicated by its name. The following statements estimate the DCC GARCH model:

/*--- VAR DCC GARCH Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc;
run;

As shown in Output 42.4.11, the AICC for the VAR DCC GARCH model is smaller than the AICC for the VAR BEKK GARCH model (shown in Output 42.4.8), implying that the best model should be in the class of DCC GARCH models.

Output 42.4.11: Information Criteria for VAR DCC GARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5689.43
HQC -5609.5
AIC -5690.08
SBC -5462.39
FPEC 0.011973



Could the DCC GARCH model be more parsimonious? The following statements use the sample correlation matrix of the standardized residuals (saving six parameters) to calculate the unconditional correlation matrix in the DCC GARCH model:

/*--- Parsimonious VAR DCC GARCH Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc corrconst=expect;
run;

The AICC of the parsimonious VAR DCC GARCH model, as shown in Output 42.4.12, becomes a little smaller. Hence, the best model so far is the parsimonious VAR DCC GARCH model.

Output 42.4.12: Information Criteria for the Parsimonious VAR DCC GARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5694.89
HQC -5628.19
AIC -5695.35
SBC -5505.6
FPEC 0.011973



Another way to refine the model is to try different subforms of GARCH models for each series. The following statements estimate the VAR DCC EGARCH model and produce Output 42.4.13:

/*--- VAR DCC EGARCH Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc subform=egarch corrconst=expect;
   nloptions maxit=5000 pall;
run;

The following statements estimate the VAR DCC PGARCH model and produce Output 42.4.14:

/*--- VAR DCC PGARCH Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc subform=pgarch corrconst=expect;
   nloptions maxit=5000 pall;
run;

The following statements estimate the VAR DCC QGARCH model and produce Output 42.4.15:

/*--- VAR DCC QGARCH Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc subform=qgarch corrconst=expect;
   nloptions maxit=5000 pall;
run;

The following statements estimate the VAR DCC TGARCH model and produce Output 42.4.16:

/*--- VAR DCC TGARCH Model ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc subform=tgarch corrconst=expect;
   nloptions maxit=5000 pall;
run;

Comparing the AICCs shown in Output 42.4.13 through Output 42.4.16, you find that the AICC for the VAR DCC PGARCH model is the smallest. Hence, the best model becomes the zero-mean VAR(1)-DCC-PGARCH(1,1) model, whose unconditional correlation matrix is estimated by the sample correlation matrix of the standardized residuals.

Output 42.4.13: Information Criteria for the Parsimonious VAR DCC EGARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5704.33
HQC -5628.81
AIC -5704.92
SBC -5489.87
FPEC 0.011982



Output 42.4.14: Information Criteria for the Parsimonious VAR DCC PGARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5724.44
HQC -5640.1
AIC -5725.16
SBC -5484.82
FPEC 0.011974



Output 42.4.15: Information Criteria for the Parsimonious VAR DCC QGARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5696.97
HQC -5621.44
AIC -5697.55
SBC -5482.51
FPEC 0.011972



Output 42.4.16: Information Criteria for the Parsimonious VAR DCC TGARCH Model

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5705.59
HQC -5630.06
AIC -5706.17
SBC -5491.13
FPEC 0.011973



Output 42.4.17 shows that most of the AR parameter estimates in the VAR DCC PGARCH model are not significant.

Output 42.4.17: AR Parameter Estimates for the Parsimonious VAR DCC PGARCH Model

Model Parameter Estimates
Equation Parameter Estimate Standard
Error
t Value Pr > |t| Variable
rAUD AR1_1_1 0.05720 0.01790 3.19 0.0014 rAUD(t-1)
  AR1_1_2 0.00036 0.02396 0.02 0.9879 rGBP(t-1)
  AR1_1_3 -0.02307 0.01619 -1.42 0.1543 rJPY(t-1)
  AR1_1_4 0.02007 0.02020 0.99 0.3206 rUSD(t-1)
rGBP AR1_2_1 0.02684 0.01147 2.34 0.0193 rAUD(t-1)
  AR1_2_2 0.04514 0.01880 2.40 0.0164 rGBP(t-1)
  AR1_2_3 -0.00466 0.01138 -0.41 0.6824 rJPY(t-1)
  AR1_2_4 -0.04649 0.01474 -3.15 0.0016 rUSD(t-1)
rJPY AR1_3_1 0.05600 0.01846 3.03 0.0024 rAUD(t-1)
  AR1_3_2 -0.05010 0.02697 -1.86 0.0633 rGBP(t-1)
  AR1_3_3 -0.00183 0.01894 -0.10 0.9229 rJPY(t-1)
  AR1_3_4 -0.00841 0.02226 -0.38 0.7055 rUSD(t-1)
rUSD AR1_4_1 0.03856 0.01513 2.55 0.0108 rAUD(t-1)
  AR1_4_2 0.00552 0.02290 0.24 0.8096 rGBP(t-1)
  AR1_4_3 0.00086 0.01477 0.06 0.9536 rJPY(t-1)
  AR1_4_4 -0.03203 0.02011 -1.59 0.1113 rUSD(t-1)



The following statements test the significance of some parameter estimates:

/*--- Significance Of Some Parameter Estimates ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc subform=pgarch corrconst=expect;
   nloptions maxit=5000 pall;
   test ar(1, 1, 2:4), ar(1, 2, 3), ar(1, 3, 3:4), ar(1, 4, 2:4);
run;

As shown in Output 42.4.18, the null hypothesis that all nine of the parameters in the TEST statement are 0 cannot be rejected at the 5% significance level.

Output 42.4.18: Test on Significance of Some Parameter Estimates

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Testing of the Parameters
Test DF Chi-Square Pr > ChiSq
1 9 7.37 0.5989



The following statements estimate the VAR DCC PGARCH model without those insignificant parameters:

/*--- VAR DCC PGARCH Model w/o Insignificant Parameters ---*/

proc varmax data=eurofxrr;
   model rAUD rGBP rJPY rUSD / noint p=1;
   garch p=1 q=1 form=dcc subform=pgarch corrconst=expect;
   nloptions maxit=5000 pall;
   restrict ar(1, 1, 2:4), ar(1, 2, 3), ar(1, 3, 3:4), ar(1, 4, 2:4);
run;

As shown in Output 42.4.19, the AICC does improve and decrease. Further refining the model is possible but beyond the scope of this example. Hence, the best model, according to the AICC, is the zero-mean VAR(1)-DCC-PGARCH(1,1) model without insignificant AR parameters, and its unconditional correlation matrix is estimated by the sample correlation matrix of the standardized residuals.

Output 42.4.19: Information Criteria for the VAR DCC PGARCH Model without Insignificant Parameters

Analysis of Euro Foreign Exchange Reference Rates

The VARMAX Procedure

Information Criteria
AICC -5735.05
HQC -5670.56
AIC -5735.48
SBC -5552.06
FPEC 0.011996



This example focuses only on using the information criterion to distinguish models. In practice, the forecast performance of the model might be more important. The VARMAX procedure supports multistep forecasting in both VARMAX-GARCH models and vector error correction GARCH models. Hence, although it is not covered in this example, you can also use the VARMAX procedure and a criterion based on out-of-sample forecast to perform model selection.