GARCH 모델: 앞으로의 방향

R에서의 GARCH 모델

Kris Boudt

Professor of finance and econometrics

GARCH 모델의 창시자

Robert Engle

Engle

Tim Bollerslev

Bollie

R에서의 GARCH 모델

표기법 (i)

  • 입력: 수익률 시계열

예측 변동성

R에서의 GARCH 모델

표기법 (ii)

  • 시점 $t-1$에서, $t-1$까지의 정보 집합을 활용하여 미래 수익률 $R_t$를 예측합니다:

예측 변동성

R에서의 GARCH 모델

표기법 (iii)

  • 평균 수익률 예측: 실제 수익률에 대한 최적 예측값은 무엇인가? 예측 변동성
R에서의 GARCH 모델

표기법 (iv)

  • 분산 예측: 수익률이 평균에서 얼마나 벗어날 수 있는가? 예측 변동성
R에서의 GARCH 모델

이론에서 실제로: 평균 모델

  • 과거 수익률을 평균 예측값으로 매핑하는 방정식이 필요합니다 예측 변동성

평균에 대한 AR(MA) 모델은 Datacamp의 시계열 분석 강좌를 참고하십시오.

R에서의 GARCH 모델

이론에서 실제로: 분산 모델

  • 과거 수익률을 분산 예측값으로 매핑하는 방정식이 필요합니다 예측 변동성
R에서의 GARCH 모델

ARCH(p) 모델: 자기회귀 조건부 이분산성

  • 과거 수익률을 분산 예측값으로 매핑하는 방정식이 필요합니다 예측 변동성
R에서의 GARCH 모델

GARCH(1,1) 모델: 일반화된 ARCH

  • 과거 수익률을 분산 예측값으로 매핑하는 방정식이 필요합니다 예측 변동성
R에서의 GARCH 모델

모수 제약 조건

GARCH 프로세스를 현실적으로 만들기 위한 조건:

  1. $\omega$, $\alpha$, $\beta$는 $>0$: 이는 $\sigma^2_t >0$을 항상 보장합니다.

  2. $\alpha + \beta < 1$: 이는 예측 분산 $\sigma^2_t$가 항상 장기 분산으로 회귀함을 보장합니다:

    • 따라서 분산은 "평균 회귀" 특성을 가집니다
    • 장기 분산은 $ \frac{\omega}{1-\alpha-\beta}$와 같습니다
R에서의 GARCH 모델

R 구현 - 입력값 설정

  • R 코드를 사용하여 GARCH 방정식을 살펴봅니다:

$$ \sigma^{2}_{t} = \omega + \alpha e^{2}_{t-1} \beta \sigma^{2}_{t-1} $$

# Set parameter values
alpha <- 0.1
beta <- 0.8
omega <- var(sp500ret) * (1 - alpha - beta)
# Then: var(sp500ret) = omega / (1 - alpha - beta)
# Set series of prediction error
e <- sp500ret - mean(sp500ret) # Constant mean
e2 <- e ^ 2
R에서의 GARCH 모델

R 구현 - 예측 분산 계산

# We predict for each observation its variance. 
nobs <- length(sp500ret)
predvar <- rep(NA, nobs)
# Initialize the process at the sample variance
predvar[1] <- var(sp500ret)
# Loop starting at 2 because of the lagged predictor
for (t in 2:nobs){
   predvar[t] <- omega + alpha * e2[t - 1] + beta * predvar[t-1]
}
R에서의 GARCH 모델

R 구현 - GARCH 변동성 플롯

# Volatility is sqrt of predicted variance
predvol <- sqrt(predvar)
predvol <- xts(predvol, order.by = time(sp500ret))
# We compare with the unconditional volatility
uncvol <- sqrt(omega / (1 - alpha-beta))
uncvol <- xts(rep(uncvol, nobs), order.by = time(sp500ret))
# Plot
plot(predvol)
lines(uncvol, col = "red", lwd = 2)
R에서의 GARCH 모델

예측 변동성

R에서의 GARCH 모델

연습해 봅시다!

R에서의 GARCH 모델

Preparing Video For Download...