GARCH tahminleri gözlenen getirilerle iyi örtüşüyor mu?

R'de GARCH Modelleri

Kris Boudt

Professor of finance and econometrics

Değerlendirme ölçütü

  • Ne değerlendirmek istediğinize bağlıdır:
    • tahmin edilen ortalama
    • tahmin edilen varyans
    • getirilerin tahmin edilen dağılımı
R'de GARCH Modelleri

1) Ortalama tahmini için uyum kalitesi

Tahmin edilen GARCH modeline göre elimizde:

Uygulama

e <- residuals(tgarchfit) 
mean(e ^ 2)
R'de GARCH Modelleri

2) Varyans tahmini için uyum kalitesi

GARCH modeli şunu verir:

Uygulama

e <- residuals(tgarchfit)
d <- e ^ 2 - sigma(tgarchfit) ^ 2 
mean(d ^ 2)
R'de GARCH Modelleri

EUR/USD getirileri için örnek

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)
# Ortalama için ortalama karesel tahmin hatası
e <- residuals(tgarchfit) ^ 2
mean(e ^ 2) # 3.836205e-05
# Varyans için ortalama karesel tahmin hatası
d <- e ^ 2 - sigma(tgarchfit) ^ 2
mean(d ^ 2) # 5.662366e-09
R'de GARCH Modelleri

3) Dağılım için uyum kalitesi

  • GARCH modeli, örnekteki tüm getiriler için bir tahmini yoğunluk sağlar
    • Yoğunluk ne kadar yüksekse, tahmin edilen GARCH modeline göre getiri o kadar olasıdır
    • Örneğin olasılığı, bu yoğunlukların çarpımına dayanır. Gözlenen getirilerin tahmin edilen GARCH modelinden gelme olasılığını ölçer
    • Likelihood ne kadar yüksekse, model verinize o kadar iyi uyar
R'de GARCH Modelleri

EUR/USD getirileri için örnek

likelihood(tgarchfit) # returns 18528.58

Diğer modellerle karşılaştırarak analiz edin:

# Çok sayıda parametreli karmaşık model
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
R'de GARCH Modelleri

Aşırı uyum riski

Dikkat: Tahmin örneği ile değerlendirme örneği aynıdır; örnek‑içi değerlendirme kullanıyoruz.

Aşırı uyum riski:

Aşırı uyum, örnek içindeki getirilere iyi uyan ancak örnek dışındaki gelecekteki getirilere uymayan, gereğinden karmaşık modellerin seçilmesidir.

R'de GARCH Modelleri

Çözüm: Uyum kalitesini karmaşıklık cezasıyla dengeleyin

  • Bir GARCH modelinin tutumlu (parsimonious) olması için:
    • yüksek olasılık (likelihood)
    • ve görece az sayıda parametreye sahip olması gerekir
R'de GARCH Modelleri

Bilgi ölçütleri

  • Tutumluluk bilgi ölçütleriyle (information criteria) ölçülür.

information criteria = - likelihood + ceza(parametre sayısı)

  • Ne kadar düşükse o kadar iyi.

Kural:
En düşük bilgi ölçütüne sahip modeli seçin.

R'de GARCH Modelleri

Bilgi ölçütleri sonuçları

infocriteria() yöntemi farklı cezalara göre bilgi ölçütlerini yazdırır

infocriteria(tgarchfit)

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

Yorumlamak için diğer modellerin ölçütleriyle karşılaştırmak gerekir.

R'de GARCH Modelleri

EUR/USD getirileri üzerinde gösterim

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
R'de GARCH Modelleri

EUR/USD getirileri için en tutumlu model hangisi?

Yüksek likelihood daha iyidir. Daha düşük bilgi ölçütü daha iyidir.

infocriteria(tgarchfit) # Basit model
Akaike       -7.468435
Bayes        -7.464499
infocriteria(flexgarchfit) # Karmaşık model
Akaike       -7.467239
Bayes        -7.456742

En düşük bilgi ölçütüne sahip olduğu için burada basit model tercih edilmelidir.

R'de GARCH Modelleri

Sonuç duruma özeldir: MSFT getirileri örneği

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

En düşük bilgi ölçütüne sahip olduğu için burada karmaşık model tercih edilmelidir.

R'de GARCH Modelleri

KISS: Akıllıca sade tutun

R'de GARCH Modelleri

Preparing Video For Download...