GARCH modely v R
Kris Boudt
Professor of finance and econometrics
Pokud mají výnosy dvou aktiv $R_{1,t}$ a $R_{2,t}$ korelaci $\rho$ a časově proměnnou volatilitu $\sigma_{1,t}$ a $\sigma_{2,t}$, jejich kovariancia je:
$$ \sigma_{12, t} = \rho \sigma_{1, t} \sigma_{2, t} $$
Krok 1: Pomocí ugarchfit() odhadněte model GARCH pro každou časovou řadu výnosů.
msftgarchfit <- ugarchfit(data = msftret, spec = garchspec)
wmtgarchfit <- ugarchfit(data = wmtret, spec = garchspec)
Krok 2: Pomocí residuals() vypočítejte standardizované výnosy.
stdmsftret <- residuals(msftgarchfit, standardize = TRUE)
stdwmtret <- residuals(wmtgarchfit, standardize = TRUE)
Krok 3: Pomocí cor() odhadněte $\rho$ jako výběrovou korelaci standardizovaných výnosů.
msftwmtcor <- as.numeric(cor(stdmsftret, stdwmtret)) # equals 0.298795
Krok 4: Výpočet kovariance GARCH vynásobením odhadnuté korelace a volatilít
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)

Variance portfolia dvou aktiv s váhou $w_{1,t}$ investovanou do aktiva 1 a $(1-w_{1,t})$ do aktiva 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} $$
Existuje mnoho způsobů, jak definovat optimální $w_{1,t}$. Jedním přístupem je nastavit $w_{1,t}$ tak, aby se minimalizovala variance portfolia $\sigma_{t}^2$.
Podmínka prvního řádu pro nalezení portfolia s minimální variancí:
$$ \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 $$
Řešení: 
Výpočet v R:
msftvar <- sigma(msftgarchfit) ^ 2
wmtvar <- sigma(wmtgarchfit) ^ 2
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)
msftweight <- (wmtvar - msftwmtcov) / (msftvar + wmtvar - 2 * msftwmtcov)

Odhad beta akcie představuje systematické riziko akcie
Definováno jako kovariancia výnosu akcie a tržního výnosu dělená variancí tržních výnosů
$$ \beta_{t} = \frac{\textnormal{kovariancia výnosu akcie a tržního výnosu}}{\textnormal{variance tržního výnosu}} $$
Potřebné pro výpočet rizikové prémie. Čím vyšší hodnota, tím rizikovější akcie, a tedy vyšší požadovaná míra výnosu.
Pro americké akcie je tržním výnosem výnos indexu S&P 500.
Výpočet kovariance výnosů MSFT a S&P 500
msftsp500cor <- as.numeric(cor(stdmsftret, stdsp500ret))
msftsp500cov <- msftsp500cor * sigma(msftgarchfit) * sigma(sp500garchfit)
Výpočet variance výnosů S&P 500
sp500var <- sigma(sp500garchfit) ^ 2
Výpočet bety
msftbeta <- msftsp500cov / sp500var

GARCH modely v R