Validați ipotezele despre medie și varianță

Modele GARCH în R

Kris Boudt

Professor of finance and econometrics

Verificarea 1: Media și abaterea standard a randamentelor standardizate

Formula randamentelor standardizate

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

  • Prima verificare a validității modelului:
    • Media eșantionului randamentelor standardizate $\approx$ 0
    • Abaterea standard a eșantionului randamentelor standardizate $\approx$ 1
Modele GARCH în R

Verificarea 2: Graficul seriei de timp a randamentelor standardizate

  • A doua verificare a validității modelului:
    • graficul seriei de timp a randamentelor standardizate
    • randamentele standardizate ar trebui să aibă variabilitate constantă
Modele GARCH în R

Modele GARCH în R

Modele GARCH în R

Verificarea 3: Nicio predictibilitate în randamentele standardizate absolute

  • A treia verificare a validității modelului:

    • verificați că nu există corelație între randamentul standardizat absolut anterior și cel curent.
    • aceasta înseamnă: $ Corr(|Z_{t-k}|, |Z_{t}|) \approx 0, $ pentru $k>0$
  • De ce?

    • Magnitudinea randamentului standardizat absolut ar trebui să fie constantă $\rightarrow$ fără corelații în randamentele standardizate absolute.
Modele GARCH în R

Autocorelații

  • Astfel de corelații în cadrul seriei de timp se numesc autocorelații de ordinul k
    • $k=1$: $Corr(|Z_{t-1}|, |Z_{t}|)$: Corelația dintre randamentul standardizat absolut curent și valoarea sa anterioară.
    • $k=2$: $Corr(|Z_{t-2}|, |Z_{t}|)$: Corelația dintre randamentul standardizat absolut curent și valoarea de acum două perioade.
    • ...
  • Toate acestea ar trebui să fie 0. Cu excepția:
    • $k=0$: $Corr(|Z_{t}|, |Z_{t}|)$: Corelația randamentului standardizat absolut cu el însuși: egală cu 1.
Modele GARCH în R

acf()

  • În R, putem calcula aceste autocorelații utilizând funcția de autocorelație acf()
    • Intrare: serie de timp, ordin maxim
    • Ieșire: corelogramă: grafic care afișează valorile autocorelației pentru diferite ordine $k = 0, 1, ...$.
Modele GARCH în R

Aplicație pentru 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)
Modele GARCH în R

Modele GARCH în R

Verificarea 4: Testul Ljung-Box

  • A patra verificare a validității modelului:
    • Testul Ljung-Box că primele k autocorelații din randamentele standardizate absolute $|Z_t$| sunt zero: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-k}|) = 0 $$
    • Similar cu un test $t$ pentru semnificația statistică a parametrilor estimați, dar aici dorim să obținem 0 pentru un model valid.

Regulă practică: o valoare p sub 5% indică faptul că modelul utilizat nu este valid.

Modele GARCH în R

Testul Ljung-Box în R

  • În R: funcția Box.test() cu 3 argumente:
    • serie
    • ordinul maxim pentru care autocorelațiile sunt zero
    • type = "Ljung-Box"

Exemplu:

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
  • Ieșire: valoarea p
    • Regulă practică: o valoare p sub 5% indică faptul că modelul utilizat nu este valid.
Modele GARCH în R

Box.test utilizând randamentele standardizate absolute MSFT

Test pe randamentele standardizate absolute:

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

Notă: valoarea p este 28,55% > 5%. Nu putem respinge că: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-22}|) = 0 $$

Modele GARCH în R

Să diagnosticăm randamentele standardizate absolute.

Modele GARCH în R

Preparing Video For Download...