Interpreting ARMA-GARCH Forecasts for a Differenced Index Series
Summary
The document presents a question about forecasting a differenced index series with an ARMA(2,2) mean model and a GARCH variance model. It gives the questioner’s proposed equations, a rugarch specification, and an output showing the forecast series and forecast volatility over multiple horizons. The forecasted series rises gradually, while the reported volatility also increases.
The questioner asks why the forecast looks unusual and why repeated forecasts for the same series are identical when the next innovation is modeled as random. The document provides no answer or evaluation of the equations, so it does not establish whether the specification or output is correct. It does, however, frame an important distinction for interpreting forecasts: a reported point forecast may differ from a simulated path that includes random future shocks. Further guidance would be needed to assess the mean dynamics, variance recursion, and software settings.
Key ideas
- The question uses an ARMA(2,2) mean model with a GARCH variance specification for a differenced index series.
- The displayed multi-step forecast rises gradually, and its reported volatility also increases.
- The document asks why forecasts repeat despite a random future innovation but supplies no explanation.
- The equations and software output are presented without validation or diagnostic evidence.
Tags
Full text
# ARMA-GARCH Forecasting
# ARMA-GARCH Forecasting
I want to forecast a differenced time series of an Index using the combined ARMA-GARCH model (because I want to forecast the mean and not the variance). My model is a ARMA(2,2)-GARCH(1,1) model. So the equations for the first forecast are:
```
Y(t+1)=Y(t)+Alpha(1)*(Y(t)-Y(t-1))+Alpha(2)*(Y(t-1)-Y(t-2)) - Beta(1)*e(t) - Beta(2)*e(t-1) + e(t+1)
```
with
```
e(t+1) = Sigma(t+1)*Z(t+1) , Z(t+1)=N(0,1)
```
and
```
Sigma^2 (t+1) = Omega + a(1)*u^2(t) + b(1)*Sigma^2(t) + b(2)*Sigma^2(t-1)
```
I tried it with the rugarch package and the ugarchforecast method:
```
GARCHspec <- ugarchspec( variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),mean.model = list(armaOrder = c(2, 2), include.mean = TRUE))
GARCHfit <- ugarchfit(GARCHspec, diffclosingkursu)
ugarchforecast(GARCHfit,n.ahead=250)
```
The forecast seems to be quite strange
```
*------------------------------------*
* GARCH Model Forecast *
*------------------------------------*
Model: sGARCH
Horizon: 30
Roll Steps: 0
Out of Sample: 0
0-roll forecast [T0=1976-11-23 01:00:00]:
Series Sigma
T+1 10.28 0.7802
T+2 10.30 0.8580
T+3 10.32 0.9264
T+4 10.34 0.9876
T+5 10.36 1.0429
T+6 10.38 1.0933
T+7 10.40 1.1395
T+8 10.43 1.1822
T+9 10.45 1.2217
T+10 10.47 1.2585
T+11 10.49 1.2927
T+12 10.51 1.3247
T+13 10.54 1.3547
T+14 10.56 1.3829
T+15 10.58 1.4093
T+16 10.60 1.4343
T+17 10.63 1.4578
T+18 10.65 1.4800
T+19 10.67 1.5010
T+20 10.69 1.5208
T+21 10.71 1.5396
T+22 10.74 1.5574
T+23 10.76 1.5743
T+24 10.78 1.5903
T+25 10.80 1.6056
T+26 10.82 1.6200
T+27 10.85 1.6338
T+28 10.87 1.6469
T+29 10.89 1.6593
T+30 10.91 1.6743
```
Also, how can it be, that every forecast for the same time series is the same but e(t+1) should be a random variable?Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.