고통 없인 성과 없다

R에서의 GARCH 모델

Kris Boudt

Professor of finance and econometrics

GARCH-in-mean 모형

  • 위험-보상 균형을 정량화합니다.
  • 위험: $\sigma^2_t$. 보상: $\mu_t$.
  • GARCH-in-mean 모형:

$$ \mu_{t} = \mu + \lambda \sigma^2_{t} $$

$\lambda > 0$는 분산 위험 1단위당 기대수익 증가를 나타내는 위험/보상 매개변수입니다.

R에서의 GARCH 모델

방법

ugarchspec()mean.modellist(armaOrder = c(0, 0))에서 list(armaOrder = c(0, 0), archm = TRUE, archpow = 2)로 변경하십시오:

garchspec <- ugarchspec(
              mean.model = list(armaOrder = c(0, 0)),
              variance.model = list(model = "gjrGARCH"),
              distribution.model = "sstd")
garchspec <- ugarchspec(
               mean.model = list(armaOrder = c(0, 0), archm = TRUE, archpow = 2),
               variance.model = list(model = "gjrGARCH"),
               distribution.model = "sstd")
R에서의 GARCH 모델

S&P 500 일별 수익률에 적용

추정

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

평균 관련 추정 계수 확인

round(coef(garchfit)[1:2], 4)
    mu  archm 
0.0002 1.9950

예측된 평균 수익률

$$ \hat{\mu}_{t} = 0.0002 + 1.9950 \hat{\sigma}^2_{t} $$

R에서의 GARCH 모델

예측 수익률의 시계열 그림

  • R에서 그려 봅니다
    plot(fitted(garchfit))
    
R에서의 GARCH 모델

오늘의 수익이 내일의 수익을 예측합니다

  • GARCH-in-mean은 위험-보상 이론을 이용해 조건부 평균 모형을 만듭니다.
  • 이제 통계 이론으로 오늘과 내일 수익의 상관을 활용한 평균 모형을 만듭니다.
  • 가장 널리 쓰이는 모형은 AR(1)입니다:
    • AR(1)은 1차 자기회귀 모형을 뜻합니다.
    • 장기 평균 $\mu$로부터의 일탈을 사용해 다음 수익을 예측합니다:

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

R에서의 GARCH 모델

양의 자기회귀 계수

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho > 0$:
    • 평균보다 높은(또는 낮은) 수익 다음에는 평균보다 높은(또는 낮은) 수익이 옵니다.
    • 가능한 설명: 시장이 뉴스에 과소반응하여 수익률에 모멘텀이 생깁니다.
  • $|\rho|<1$: 평균회귀: $R_t$의 $\mu$ 대비 일탈은 일시적입니다.
R에서의 GARCH 모델

음의 자기회귀 계수

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho < 0$:
    • 평균보다 높은(또는 낮은) 수익 다음에는 평균보다 낮은(또는 높은) 수익이 옵니다.
    • 가능한 설명: 시장이 뉴스에 과잉반응하여 수익률이 반전됩니다.
R에서의 GARCH 모델

S&P 500 일별 수익률에 적용

sst 분포의 AR(1)-GJR GARCH 모형 지정과 추정

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(1, 0)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")
garchfit <- ugarchfit(data = sp500ret, spec = garchspec)

AR(1) 모형 추정치

round(coef(garchfit)[1:2], 4)
     mu     ar1     
 0.0003 -0.0292
R에서의 GARCH 모델

MA(1)과 ARMA(1,1) 모형

1차 이동평균(MA) 모형은 조건부 평균 대비 수익의 일탈을 사용합니다:

$$ \mu_{t} = \mu + \theta(R_{t-1} - \mu_{t-1}) $$

ARMA(1,1)은 AR(1)과 MA(1)을 결합합니다:

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) + \theta(R_{t-1} - \mu_{t-1}) $$

R에서의 GARCH 모델

방법

MA(1)

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(0, 1)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")

ARMA(1, 1)

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(1, 1)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")
R에서의 GARCH 모델

mean.model 인수를 직접 바꿔 보세요

R에서의 GARCH 모델

Preparing Video For Download...