Odpovídají predikce GARCH pozorovaným výnosům?

GARCH modely v R

Kris Boudt

Professor of finance and econometrics

Hodnoticí kritérium

  • Závisí na tom, co chcete hodnotit
    • predikovanou střední hodnotu
    • predikovaný rozptyl
    • predikované rozdělení výnosů
GARCH modely v R

1) Kvalita přizpůsobení pro predikci střední hodnoty

Na základě odhadnutého modelu GARCH máme:

Implementace

e <- residuals(tgarchfit) 
mean(e ^ 2)
GARCH modely v R

2) Kvalita přizpůsobení pro predikci rozptylu

Model GARCH vede k:

Implementace

e <- residuals(tgarchfit)
d <- e ^ 2 - sigma(tgarchfit) ^ 2 
mean(d ^ 2)
GARCH modely v R

Příklad pro výnosy EUR/USD

tgarchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
   variance.model = list(model = "sGARCH", variance.targeting = TRUE),
   distribution.model = "std")
tgarchfit <- ugarchfit(data = EURUSDret, spec = tgarchspec)
# Compute mean squared prediction error for the mean
e <- residuals(tgarchfit) ^ 2
mean(e ^ 2) # 3.836205e-05
# Compute mean squared prediction error for the variance
d <- e ^ 2 - sigma(tgarchfit) ^ 2
mean(d ^ 2) # 5.662366e-09
GARCH modely v R

3) Kvalita přizpůsobení pro rozdělení

  • Model GARCH poskytuje predikovanou hustotu pro všechny výnosy ve vzorku
    • Čím vyšší hustota, tím pravděpodobnější výnos podle odhadnutého modelu GARCH
    • Věrohodnost vzorku vychází ze součinu všech těchto hustot. Měří, jak pravděpodobné je, že pozorované výnosy pocházejí z odhadnutého modelu GARCH
    • Čím vyšší věrohodnost, tím lépe model odpovídá datům
GARCH modely v R

Příklad pro výnosy EUR/USD

likelihood(tgarchfit) # returns 18528.58

Analýza porovnáním s jinými modely:

# Complex model with many parameters
flexgarchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
                            variance.model = list(model = "gjrGARCH"),
                            distribution.model = "sstd")
flexgarchfit <- ugarchfit(data = EURUSDret, spec = flexgarchspec)
likelihood(flexgarchfit) # returns 18530.49
GARCH modely v R

Riziko přetrénování

Pozor: Používáme přístup hodnocení na vzorku, kde se odhadový a hodnoticí vzorek shodují.

Nebezpečí přetrénování:

Přetrénování spočívá ve výběru příliš složitých modelů, které dobře odpovídají výnosům v odhadovém vzorku, ale ne budoucím výnosům mimo vzorek.

GARCH modely v R

Řešení: Vyvažte kvalitu přizpůsobení s penalizací za složitost

  • Model GARCH je úsporný, pokud má:
    • vysokou věrohodnost
    • a relativně nízký počet parametrů
GARCH modely v R

Informační kritéria

  • Úspornost se měří informačními kritérii.

informační kritérium = - věrohodnost + penalizace(počet parametrů)

  • Čím nižší, tím lepší.

Praktické pravidlo:
Zvolte model s nejnižším informačním kritériem.

GARCH modely v R

Výsledky informačních kritérií

Metoda infocriteria() zobrazí informační kritéria pro různé penalizace

infocriteria(tgarchfit)

out Akaike -7.468081 Bayes -7.462833 Shibata -7.468083 Hannan-Quinn -7.466241 `

Interpretace vyžaduje porovnání s informačními kritérii jiných modelů.

GARCH modely v R

Ilustrace na výnosech EUR/USD

tgarchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
   variance.model = list(model = "sGARCH", variance.targeting = TRUE),
   distribution.model = "std")
tgarchfit <- ugarchfit(data = EURUSDret, spec = tgarchspec)
length(coef(tgarchfit)) # only 5 parameters
likelihood(tgarchfit)   # equals 18528.58
flexgarchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
   variance.model = list(model = "gjrGARCH"), distribution.model = "sstd")
flexgarchfit <- ugarchfit(data = EURUSDret, spec = flexgarchspec)
length(coef(flexgarchfit)) # we now have 8 parameters
likelihood(flexgarchfit) #  18530.49: likelihood increased
GARCH modely v R

Který model je nejúspornější pro výnosy EUR/USD?

Vyšší věrohodnost je lepší. Nižší informační kritérium je lepší.

infocriteria(tgarchfit) # Simple model
Akaike       -7.468435
Bayes        -7.464499
infocriteria(flexgarchfit) # Complex model
Akaike       -7.467239
Bayes        -7.456742

Jednoduchý model má nejnižší informační kritérium, a proto by měl být upřednostněn.

GARCH modely v R

Výsledek závisí na případu: výnosy MSFT

tgarchfit <- ugarchfit(data = msftret, spec = tgarchspec)
flexgarchfit <- ugarchfit(data = msftret, spec = flexgarchspec)
infocriteria(tgarchfit)
Akaike       -5.481895
Bayes        -5.477833
infocriteria(flexgarchfit) 
Akaike       -5.489087
Bayes        -5.478255

Složitý model má nejnižší informační kritérium, a proto by měl být upřednostněn.

GARCH modely v R

KISS: Udržujte to sofistikovaně jednoduché

GARCH modely v R

Preparing Video For Download...