Validasi asumsi tentang mean dan varians

Model GARCH di R

Kris Boudt

Professor of finance and econometrics

Cek 1: Mean dan simpangan baku return terstandarisasi

Rumus return terstandarisasi

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

  • Pemeriksaan pertama validitas model:
    • Rata-rata sampel return terstandarisasi $\approx$ 0
    • Simpangan baku sampel return terstandarisasi $\approx$ 1
Model GARCH di R

Cek 2: Plot deret waktu return terstandarisasi

  • Pemeriksaan kedua validitas model:
    • plot deret waktu return terstandarisasi
    • return terstandarisasi harus memiliki variabilitas konstan
Model GARCH di R

Model GARCH di R

Model GARCH di R

Cek 3: Tidak ada prediktabilitas pada return terstandarisasi absolut

  • Pemeriksaan ketiga validitas model:

    • pastikan tidak ada korelasi antara return terstandarisasi absolut masa lalu dan saat ini.
    • artinya: $ Corr(|Z_{t-k}|, |Z_{t}|) \approx 0, $ untuk $k>0$
  • Mengapa?

    • Besaran return terstandarisasi absolut harus konstan $\rightarrow$ tidak ada korelasi pada return terstandarisasi absolut.
Model GARCH di R

Autokorelasi

  • Korelasi dalam deret waktu seperti ini disebut autokorelasi orde k
    • $k=1$: $Corr(|Z_{t-1}|, |Z_{t}|)$: Korelasi antara return terstandarisasi absolut saat ini dan nilai sebelumnya.
    • $k=2$: $Corr(|Z_{t-2}|, |Z_{t}|)$: Korelasi antara return terstandarisasi absolut saat ini dan nilainya dua periode lalu.
    • ...
  • Semuanya seharusnya 0. Kecuali:
    • $k=0$: $Corr(|Z_{t}|, |Z_{t}|)$: Korelasi return terstandarisasi absolut dengan dirinya sendiri: sama dengan 1.
Model GARCH di R

acf()

  • Di R, kita dapat menghitung autokorelasi menggunakan fungsi acf()
    • Input: Deret waktu, orde maksimum
    • Output: korelogram: plot yang menampilkan nilai autokorelasi untuk berbagai orde $k = 0, 1, ...$.
Model GARCH di R

Aplikasi pada 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)
Model GARCH di R

Model GARCH di R

Cek 4: Uji Ljung-Box

  • Pemeriksaan keempat validitas model:
    • Uji Ljung-Box bahwa k autokorelasi pertama pada return terstandarisasi absolut $|Z_t$| adalah nol: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-k}|) = 0 $$
    • Mirip uji $t$ untuk signifikansi statistik parameter estimasi, tetapi di sini kita menginginkan 0 agar model baik.

Aturan praktis: p-value kurang dari 5% menunjukkan model tidak valid.

Model GARCH di R

Uji Ljung-Box di R

  • Di R: fungsi Box.test() dengan 3 argumen:
    • deret
    • orde maksimum untuk nol autokorelasi
    • type = "Ljung-Box"

Contoh:

Box.test(abs(stdmsftret), 22, type = "Ljung-Box")
  • Output: p-value
    • Aturan praktis: p-value kurang dari 5% menunjukkan model tidak valid.
Model GARCH di R

Box.test pada return MSFT terstandarisasi absolut

Uji pada return terstandarisasi absolut:

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

Catatan: p-value 28,55% > 5%. Kita tidak dapat menolak bahwa: $$ H_0: Corr(|Z_t|,|Z_{t-1}|) = Corr(|Z_t|,|Z_{t-2}|) = ... = Corr(|Z_t|,|Z_{t-22}|) = 0 $$

Model GARCH di R

Mari diagnosis return terstandarisasi absolut.

Model GARCH di R

Preparing Video For Download...