Forecasting mit ARMA-GARCH Modell

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Antworten
wintwin111

Forecasting mit ARMA-GARCH Modell

Beitrag von wintwin111 »

Hallo,

Ich will eine Zeitreihe mithilfe eines ARMA(2,2)-GARCH(1,1) Modell vorhersagen, weiß aber nicht ob ich richtig vorgehe. Für das forecasting verwende ich das Package rugarch.
Nun zu meinem Vorgehen:

1. Specification des Modells wird erstellt

Code: Alles auswählen

library(rugarch)
a<-ugarchspec(mean.model=list(armaOrder = c(2, 2), include.mean = TRUE),variance.model=list(model = "sGARCH", garchOrder = c(1, 1)))
2. Modell wird gefittet

Code: Alles auswählen

b<-ugarchfit(a,closingkursu)
b

*---------------------------------*
*          GARCH Model Fit        *
*---------------------------------*

Conditional Variance Dynamics   
-----------------------------------
GARCH Model     : sGARCH(1,1)
Mean Model      : ARFIMA(2,0,2)
Distribution    : norm 

Optimal Parameters
------------------------------------
        Estimate  Std. Error     t value Pr(>|t|)
mu     24.000587    0.774693    30.98078  0.00000
ar1     1.795358    0.000456  3935.52535  0.00000
ar2    -0.795695    0.000360 -2209.54998  0.00000
ma1    -0.891342    0.026092   -34.16195  0.00000
ma2     0.008164    0.024712     0.33038  0.74111
omega   0.152248    0.020685     7.36027  0.00000
alpha1  0.229843    0.023339     9.84785  0.00000
beta1   0.729199    0.023038    31.65182  0.00000

Robust Standard Errors:
        Estimate  Std. Error     t value Pr(>|t|)
mu     24.000587    0.644742    37.22511 0.000000
ar1     1.795358    0.000731  2457.08180 0.000000
ar2    -0.795695    0.000471 -1688.06539 0.000000
ma1    -0.891342    0.035469   -25.13015 0.000000
ma2     0.008164    0.030579     0.26699 0.789474
omega   0.152248    0.040366     3.77167 0.000162
alpha1  0.229843    0.043373     5.29924 0.000000
beta1   0.729199    0.041930    17.39069 0.000000

LogLikelihood : -4427.411 

Information Criteria
------------------------------------
                   
Akaike       3.5230
Bayes        3.5415
Shibata      3.5229
Hannan-Quinn 3.5297

Weighted Ljung-Box Test on Standardized Residuals
------------------------------------
                         statistic p-value
Lag[1]                       0.106  0.7447
Lag[2*(p+q)+(p+q)-1][11]     1.613  1.0000
Lag[4*(p+q)+(p+q)-1][19]     5.506  0.9859
d.o.f=4
H0 : No serial correlation

Weighted Ljung-Box Test on Standardized Squared Residuals
------------------------------------
                        statistic p-value
Lag[1]                    0.01874  0.8911
Lag[2*(p+q)+(p+q)-1][5]   4.39754  0.2085
Lag[4*(p+q)+(p+q)-1][9]   6.38240  0.2566
d.o.f=2

Weighted ARCH LM Tests
------------------------------------
            Statistic Shape Scale P-Value
ARCH Lag[3]     1.227 0.500 2.000  0.2681
ARCH Lag[5]     2.548 1.440 1.667  0.3623
ARCH Lag[7]     3.489 2.315 1.543  0.4262

Nyblom stability test
------------------------------------
Joint Statistic:  2.1259
Individual Statistics:              
mu     0.01826
ar1    0.34435
ar2    0.33565
ma1    0.06717
ma2    0.02932
omega  0.44907
alpha1 0.79114
beta1  1.02909

Asymptotic Critical Values (10% 5% 1%)
Joint Statistic:         1.89 2.11 2.59
Individual Statistic:    0.35 0.47 0.75

Sign Bias Test
------------------------------------
                   t-value      prob sig
Sign Bias           3.3842 0.0007247 ***
Negative Sign Bias  0.5320 0.5947579    
Positive Sign Bias  0.3898 0.6967246    
Joint Effect       19.5500 0.0002104 ***


Adjusted Pearson Goodness-of-Fit Test:
------------------------------------
  group statistic p-value(g-1)
1    20     259.6    3.576e-44
2    30     286.2    4.244e-44
3    40     322.5    2.575e-46
4    50     348.2    1.040e-46


Elapsed time : 0.7555449 
closingkursu ist hierbei mein Datensatz, auf dessen Basis der forecast durchgeführt wird.

3. Forecasting (50 Perioden)

Code: Alles auswählen

c<-ugarchforecast(b,n.ahead=50)
Der Output des forecasts:

Code: Alles auswählen

*------------------------------------*
*       GARCH Model Forecast         *
*------------------------------------*
Model: sGARCH
Horizon: 50
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.1396
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.4094
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.5904
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.6712
T+31  10.93 1.6825
T+32  10.95 1.6932
T+33  10.98 1.7035
T+34  11.00 1.7133
T+35  11.02 1.7226
T+36  11.04 1.7315
T+37  11.06 1.7400
T+38  11.08 1.7480
T+39  11.10 1.7558
T+40  11.13 1.7632
T+41  11.15 1.7702
T+42  11.17 1.7770
T+43  11.19 1.7834
T+44  11.21 1.7895
T+45  11.23 1.7954
T+46  11.25 1.8010
T+47  11.27 1.8064
T+48  11.30 1.8116
T+49  11.32 1.8165
T+50  11.34 1.8212
Nun fällt auf, dass der forecast stetig ansteigt, was aber eigentlich unwahrscheinlich sein sollte. Ich nehme an, dass die Methode den mean error term nimmt was ja 0 ist. Gibt es eine Möglichkeit, diesen nicht 0 zu setzen sondern eine wirkliche Zufallszahl zu nehmen?

Vielen Dank im Voraus und viele Grüße,

wintwin111
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Forecasting mit ARMA-GARCH Modell

Beitrag von consuli »

Hast Du mal getestet, ob Deine Zeitreihe - genauer die Zielvariable Deiner Zeitreihe - stationär (trendfrei) ist?

Falls nicht, müsstest Du sie erst durch first differencing mit der R-Funktion diff() in eine stationäre Zeitreihe überführen.

Gruß, Consuli.
Irmgard.
wintwin111

Re: Forecasting mit ARMA-GARCH Modell

Beitrag von wintwin111 »

Ja meine Zeitreihe ist stationär.
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Forecasting mit ARMA-GARCH Modell

Beitrag von consuli »

Wenn auch keine Unit-Root (=stochastische Instationarität) vorliegt (Überprüfung mit Dickey-Fuller-Test), dann weiß ich es nicht.
Irmgard.
Antworten