R에서의 GARCH 모델
Kris Boudt
Professor of finance and econometrics
두 자산 수익률 $R_{1,t}$와 $R_{2,t}$의 상관계수가 $\rho$이고 시간 변동 변동성이 각각 $\sigma_{1,t}$와 $\sigma_{2,t}$일 때, 공분산은 다음과 같습니다:
$$ \sigma_{12, t} = \rho \sigma_{1, t} \sigma_{2, t} $$
1단계: ugarchfit()으로 각 수익률 계열에 GARCH 모델을 추정합니다.
msftgarchfit <- ugarchfit(data = msftret, spec = garchspec)
wmtgarchfit <- ugarchfit(data = wmtret, spec = garchspec)
2단계: residuals()로 표준화 수익률을 계산합니다.
stdmsftret <- residuals(msftgarchfit, standardize = TRUE)
stdwmtret <- residuals(wmtgarchfit, standardize = TRUE)
3단계: cor()로 표준화 수익률의 표본 상관계수 $\rho$를 추정합니다.
msftwmtcor <- as.numeric(cor(stdmsftret, stdwmtret)) # equals 0.298795
4단계: 추정된 상관계수와 변동성을 곱하여 GARCH 공분산을 계산합니다
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)

자산 1에 $w_{1,t}$, 자산 2에 $(1-w_{1,t})$를 투자하는 두 자산 포트폴리오의 분산:
$$ \sigma^{2}_{p, t} = w^{2}_{1, t} \sigma^{2}_{1, t} + (1 - w_{1, t})^{2} \sigma^{2}_{2, t} + 2 w_{1, t} (1 - w_{1, t}) \sigma_{12, t} $$
최적 $w_{1,t}$를 정의하는 방법은 다양합니다. 한 가지 방법은 포트폴리오 분산 $\sigma_{t}^2$을 최소화하는 $w_{1,t}$를 설정하는 것입니다.
최소 분산 포트폴리오를 구하기 위한 1차 조건:
$$ \frac{\partial \sigma^{2}_{p, t}}{\partial w_{1, t}} = 2 w_{1, t} (\sigma^{2}_{1, t} + \sigma^{2}_{2, t} - 2 \sigma_{12, t}) - 2 (\sigma^{2}_{2, t} - \sigma_{12, t}) = 0 $$
해: 
R에서 계산:
msftvar <- sigma(msftgarchfit) ^ 2
wmtvar <- sigma(wmtgarchfit) ^ 2
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)
msftweight <- (wmtvar - msftwmtcov) / (msftvar + wmtvar - 2 * msftwmtcov)

주식의 베타 추정은 주식의 체계적 위험을 나타냅니다
주식 수익률과 시장 수익률의 공분산을 시장 수익률의 분산으로 나눈 값으로 정의됩니다
$$ \beta_{t} = \frac{\textnormal{covariance between the stock return and the market return}}{\textnormal{variance of the market return}} $$
위험 프리미엄 계산에 필요합니다. 베타가 높을수록 주식 위험이 크며, 따라서 요구 수익률도 높아집니다.
미국 주식의 경우 시장 수익률은 S&P 500 수익률을 사용합니다.
MSFT와 S&P 500 수익률 간 공분산 계산
msftsp500cor <- as.numeric(cor(stdmsftret, stdsp500ret))
msftsp500cov <- msftsp500cor * sigma(msftgarchfit) * sigma(sp500garchfit)
S&P 500 수익률의 분산 계산
sp500var <- sigma(sp500garchfit) ^ 2
베타 계산
msftbeta <- msftsp500cov / sp500var

R에서의 GARCH 모델