R에서의 GARCH 모델
Kris Boudt
Professor of finance and econometrics


ugarchroll 객체에 quantile() 적용.ugarchspec(): 사용할 GARCH 모형 지정
garchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
variance.model = list(model = "gjrGARCH"),
distribution.model = "sstd")
ugarchroll(): 롤링 표본으로 GARCH 모형 추정
garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500,
refit.window = "moving", refit.every = 100)
quantile(): 예측 분위수 계산
garchVaR <- quantile(garchroll, probs = 0.05)
다른 손실확률도 선택 가능: 1%, 2.5% 등이 많이 쓰입니다
actual <- xts(as.data.frame(garchroll)$Realized, time(garchVaR))
VaRplot(alpha = 0.05, actual = actual, VaR = garchVaR)

실제 수익률이 예측된 VaR보다 작을 때를 VaR 초과(exceedance)라고 합니다: $ R_t \ < {VaR}_t$.
VaR 초과의 빈도를 VaR 커버리지(coverage)라고 합니다.
# S&P 500 수익률과 5% 수준에서의 커버리지 계산
mean(actual < garchVaR)
0.05159143
distribution.model = "std" 를 distribution.model = "sstd" 대신 사용:
garchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
variance.model = list(model = "gjrGARCH"),
distribution.model = "std")
롤링 추정과 5% VaR 예측:
garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500,
refit.window = "moving", refit.every = 100)
garchVaR <- quantile(garchroll, probs = 0.05)
mean(actual < garchVaR) # returns 0.05783233
variance.model = list(model = "sGARCH")
대신
variance.model = list(model = "gjrGARCH"):
garchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
variance.model = list(model = "sGARCH"),
distribution.model = "std")
롤링 추정과 5% VaR 예측:
garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500,
refit.window = "moving", refit.every = 100)
garchVaR <- quantile(garchroll, probs = 0.05)
mean(actual < garchVaR) # returns 0.06074475
refit.every = 1000
대신
refit.every = 100:
garchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
variance.model = list(model = "sGARCH"),
distribution.model = "std")
garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500,
refit.window = "moving", refit.every = 1000)
garchVaR <- quantile(garchroll, probs = 0.05)
mean(actual < garchVaR) # returns 0.06199293
R에서의 GARCH 모델