Prüfe deine Annahmen zu Mittelwert und Varianz

GARCH-Modelle in R

Kris Boudt

Professor of finance and econometrics

Check 1: Mittelwert und Standardabweichung der standardisierten Renditen

Formel standardisierter Renditen

$$ Z_{t} = \frac{R_{t} - \hat{\mu_{t}}}{ \hat{\sigma_{t}}} $$

  • Erster Modellcheck:
    • Stichprobenmittel der standardisierten Renditen $\approx$ 0
    • Stichprobenstandardabweichung der standardisierten Renditen $\approx$ 1
GARCH-Modelle in R

Check 2: Zeitreihendiagramm der standardisierten Renditen

  • Zweiter Modellcheck:
    • Zeitreihendiagramm der standardisierten Renditen
    • standardisierte Renditen sollten konstante Streuung haben
GARCH-Modelle in R

GARCH-Modelle in R

GARCH-Modelle in R

Check 3: Keine Vorhersagbarkeit in den absoluten standardisierten Renditen

  • Dritter Modellcheck:

    • prüfe, dass keine Korrelation zwischen der vergangenen absoluten standardisierten Rendite und der aktuellen absoluten standardisierten Rendite besteht.
    • das heißt: $ Corr(|Z_{t-k}|, |Z_{t}|) \approx 0 $ für $k>0$
  • Warum?

    • Die Größe der absoluten standardisierten Rendite sollte konstant sein $\rightarrow$ keine Korrelationen in den absoluten standardisierten Renditen.
GARCH-Modelle in R

Autokorrelationen

  • Solche Korrelationen innerhalb einer Zeitreihe heißen Autokorrelationen der Ordnung k
    • $k=1$: $Corr(|Z_{t-1}|, |Z_{t}|)$: Korrelation der aktuellen absoluten standardisierten Rendite mit ihrem vorherigen Wert.
    • $k=2$: $Corr(|Z_{t-2}|, |Z_{t}|)$: Korrelation der aktuellen absoluten standardisierten Rendite mit ihrem Wert vor zwei Perioden.
    • ...
  • Alle diese sollten 0 sein. Ausnahme:
    • $k=0$: $Corr(|Z_{t}|, |Z_{t}|)$: Korrelation der absoluten standardisierten Rendite mit sich selbst: gleich 1.
GARCH-Modelle in R

acf()

  • In R kannst du diese Autokorrelationen mit der Autokorrelationsfunktion acf() berechnen
    • Input: Zeitreihe, maximale Ordnung
    • Output: Das Korrelogramm: Diagramm mit den Werten der Autokorrelation für verschiedene Ordnungen $k = 0, 1, ...$.
GARCH-Modelle in R

Anwendung auf MSFT

garchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
                        variance.model = list(model = "gjrGARCH"),
                        distribution.model = "sstd")
garchfit <- ugarchfit(data = msftret, spec = garchspec)
stdmsftret <- residuals(garchfit, standardize = TRUE)
acf(abs(msftret), 22)
acf(abs(stdmsftret), 22)
GARCH-Modelle in R

GARCH-Modelle in R

Check 4: Ljung-Box-Test

  • Vierter Modellcheck:
    • Ljung-Box-Test, dass die ersten k Autokorrelationen in den absoluten standardisierten Renditen $|Z_t$| null sind: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-k}|) = 0 $$
    • Ähnlich einem $t$-Test auf statistische Signifikanz der geschätzten Parameter, aber hier wollen wir 0, um ein gutes Modell zu haben.

Faustregel: p-Wert unter 5 % zeigt an, dass das verwendete Modell nicht gültig ist.

GARCH-Modelle in R

Ljung-Box-Test in R

  • In R: Funktion Box.test() mit 3 Argumenten:
    • Serie
    • maximale Ordnung, für die Autokorrelationen null sind
    • type = "Ljung-Box"

Beispiel:

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
  • Output: p-Wert
    • Faustregel: p-Wert unter 5 % zeigt an, dass das verwendete Modell nicht gültig ist.
GARCH-Modelle in R

Box.test mit absoluten standardisierten MSFT-Renditen

Test auf absoluten standardisierten Renditen:

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
    Box-Ljung test
data:  abs(stdmsftret)
X-squared = 25.246, df = 22, p-value = 0.2855

Hinweis: p-Wert ist 28,55 % > 5 %. Wir können nicht zurückweisen, dass: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-22}|) = 0 $$

GARCH-Modelle in R

Diagnostiziere die absoluten standardisierten Renditen.

GARCH-Modelle in R

Preparing Video For Download...