GARCH-modeller i R
Kris Boudt
Professor of finance and econometrics
Om två tillgångars avkastning $R_{1,t}$ och $R_{2,t}$ har korrelationen $\rho$ och tidsberoende volatilitet $\sigma_{1,t}$ och $\sigma_{2,t}$, är deras kovarians:
$$ \sigma_{12, t} = \rho \sigma_{1, t} \sigma_{2, t} $$
Steg 1: Använd ugarchfit() för att skatta GARCH-modellen för varje avkastningsserie.
msftgarchfit <- ugarchfit(data = msftret, spec = garchspec)
wmtgarchfit <- ugarchfit(data = wmtret, spec = garchspec)
Steg 2: Använd residuals() för att beräkna den standardiserade avkastningen.
stdmsftret <- residuals(msftgarchfit, standardize = TRUE)
stdwmtret <- residuals(wmtgarchfit, standardize = TRUE)
Steg 3: Använd cor() för att skatta $\rho$ som stickprovskorrelationen av den standardiserade avkastningen.
msftwmtcor <- as.numeric(cor(stdmsftret, stdwmtret)) # equals 0.298795
Steg 4: Beräkna GARCH-kovariansen genom att multiplicera den skattade korrelationen och volatiliteterna
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)

Varians för en portfölj med två tillgångar, där vikten $w_{1,t}$ är investerad i tillgång 1 och $(1-w_{1,t})$ i tillgång 2:
$$ \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} $$
Det finns många sätt att definiera optimalt $w_{1,t}$. Ett sätt är att välja $w_{1,t}$ så att portföljvariansen $\sigma_{t}^2$ minimeras.
Förstaordningsvillkor för att hitta portföljen med minsta varians:
$$ \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 $$
Lösning: 
Beräkning i R:
msftvar <- sigma(msftgarchfit) ^ 2
wmtvar <- sigma(wmtgarchfit) ^ 2
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)
msftweight <- (wmtvar - msftwmtcov) / (msftvar + wmtvar - 2 * msftwmtcov)

Skattningen av en akties beta utgör aktiens systematiska risk
Defineras som kovariansen mellan aktiens avkastning och marknadsavkastningen, dividerat med variansen av marknadsavkastningen
$$ \beta_{t} = \frac{\textnormal{covariance between the stock return and the market return}}{\textnormal{variance of the market return}} $$
Behövs för att beräkna riskpremien. Ju högre beta, desto mer riskfylld är aktien och desto högre avkastningskrav.
För amerikanska aktier används S&P 500-avkastningen som marknadsavkastning.
Beräkna kovariansen mellan MSFT:s och S&P 500:s avkastning
msftsp500cor <- as.numeric(cor(stdmsftret, stdsp500ret))
msftsp500cov <- msftsp500cor * sigma(msftgarchfit) * sigma(sp500garchfit)
Beräkna variansen för S&P 500:s avkastning
sp500var <- sigma(sp500garchfit) ^ 2
Beräkna beta
msftbeta <- msftsp500cov / sp500var

GARCH-modeller i R