R에서의 GARCH 모델
Kris Boudt
Professor of finance and econometrics
추정된 GARCH 모델 기준:

구현
e <- residuals(tgarchfit)
mean(e ^ 2)
GARCH 모델은 다음을 제공합니다:

구현
e <- residuals(tgarchfit)
d <- e ^ 2 - sigma(tgarchfit) ^ 2
mean(d ^ 2)
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)
# 평균의 평균제곱예측오차
e <- residuals(tgarchfit) ^ 2
mean(e ^ 2) # 3.836205e-05
# 분산의 평균제곱예측오차
d <- e ^ 2 - sigma(tgarchfit) ^ 2
mean(d ^ 2) # 5.662366e-09
likelihood(tgarchfit) # returns 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)
likelihood(flexgarchfit) # returns 18530.49
주의: 추정 표본과 평가 표본이 동일한 사내(in-sample) 평가를 사용합니다.
과적합 위험:
과적합은 지나치게 복잡한 모델을 선택해 추정 표본에서는 잘 맞지만, 표본 밖 미래 수익률에는 맞지 않는 경우를 말합니다.
정보 기준 = - 우도 + 패널티(매개변수 수)
선택 요령:
정보 기준이 가장 낮은 모델을 선택합니다.
infocriteria() 메서드는 다양한 패널티의 정보 기준을 출력합니다
infocriteria(tgarchfit)
out
Akaike -7.468081
Bayes -7.462833
Shibata -7.468083
Hannan-Quinn -7.466241
`
해석은 다른 모델의 정보 기준과 비교해 이루어집니다.
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
우도는 높을수록 좋고, 정보 기준은 낮을수록 좋습니다.
infocriteria(tgarchfit) # 단순 모델
Akaike -7.468435
Bayes -7.464499
infocriteria(flexgarchfit) # 복잡 모델
Akaike -7.467239
Bayes -7.456742
단순 모델의 정보 기준이 더 낮아 여기서는 단순 모델이 적합합니다.
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
복잡 모델의 정보 기준이 더 낮아 여기서는 복잡 모델이 적합합니다.
R에서의 GARCH 모델