Gereksiz karmaşıklıktan kaçının

R'de GARCH Modelleri

Kris Boudt

Professor of finance and econometrics

Gereksiz karmaşıklıktan kaçının

  • Şunları biliyorsanız
    • Ortalama dinamikleri ihmal edilebilir
    • Varyansta kaldıraç etkisi yok
    • Dağılım simetrik ve kalın kuyruklu

O zaman sabit ortalamalı, standart GARCH(1,1) ve Student t dağılımlı bir model uygundur:

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "std")
R'de GARCH Modelleri

Parametre tahminlerini kısıtlayın

  • Parametrelerin
    • belirli bir değere eşit olduğunu
    • veya bir aralık içinde olduğunu biliyorsanız
  • Bunu belirtimde şu yöntemlerle dayatın:
    • setfixed()
    • setbounds()
R'de GARCH Modelleri

Döviz kurlarına uygulama

Belirtim ve tahmin

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "std")
garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)

Tahmin sonuçları

coef(garchfit)
           mu         omega        alpha1         beta1         shape 
-3.562136e-05  8.005123e-08  3.097322e-02  9.674496e-01  8.821902e+00
R'de GARCH Modelleri

setfixed() örneği

  • alpha1 = 0.05 ve shape = 6 olduğunu biliyorsanız: bu değerleri tahminde dayatın.
  • Nasıl? ugarchspec nesnesi üzerinde setfixed() yöntemini kullanın
setfixed(garchspec) <- list(alpha1 = 0.05, shape = 6)

Sonuç

garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)

coef(garchfit)
           mu         omega        alpha1         beta1         shape 
-4.142922e-05  2.061772e-07  5.000000e-02  9.489622e-01  6.000000e+00
R'de GARCH Modelleri

Parametreler için sınırlar

  • GARCH parametreleri bir aralıkla kısıtlanabilir.
  • Bazen makul değer aralığı geniştir:
    • Varyansın pozitif olması için örn. tüm varyans parametrelerinin ($\omega$, $\alpha$, $\beta$, $\gamma$) pozitif olmasını isteriz.
  • Bazen makul aralık daha dardır:
    • $\alpha$ için olası değerler 0.05 ile 0.2 arasındadır
    • $\beta$ için olası değerler 0.7 ile 0.95 arasındadır
  • Bu tür sınır kısıtları setbounds() yöntemiyle uygulanabilir.
R'de GARCH Modelleri

setbounds() örneği

setbounds(garchspec) <- list(alpha1 = c(0.05, 0.2), beta1 = c(0.8, 0.95))
R'de GARCH Modelleri

Gereksiz karmaşıklıktan kaçınmak için sezginizi kullanın.

Elinizdeki bilgiyi kullanın:

  • basit (ve akıllı) modeller kurmak için
  • parametreleri sabitlemek veya sınırlar koymak için
  • GARCH dinamiklerini gerçekçi kılmak için:

    • oynaklığın örnek standart sapma etrafında ortalamaya dönmesi
      sd(EURUSDret) # 0.006194049 döndürür
      
R'de GARCH Modelleri

Oynaklık kümeleri ve ortalamaya dönüş

R'de GARCH Modelleri

Varyans hedefleme

  • Matematiksel olarak bu, GARCH modellerinin ima ettiği koşulsuz varyansın örnek varyans $\hat \sigma^2$’ye eşit olması demektir.
  • Nasıl? ugarchspec() içinde variance.model’de variance.targeting = TRUE argümanını ayarlayarak:
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
                        variance.model = list(model = "sGARCH",
                        variance.targeting = TRUE),
                        distribution.model = "std")
garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)
all.equal(uncvariance(garchfit), sd(EURUSDret) ^ 2, tol = 1e-4)
TRUE
R'de GARCH Modelleri

GARCH modeline kısıtlar koyalım

R'de GARCH Modelleri

Preparing Video For Download...