Modele GARCH în R
Kris Boudt
Professor of finance and econometrics
Dacă două randamente $R_{1,t}$ și $R_{2,t}$ au corelația $\rho$ și volatilitatea variabilă în timp $\sigma_{1,t}$ și $\sigma_{2,t}$, covarianța lor este:
$$ \sigma_{12, t} = \rho \sigma_{1, t} \sigma_{2, t} $$
Pasul 1: Utilizați ugarchfit() pentru a estima modelul GARCH pentru fiecare serie de randamente.
msftgarchfit <- ugarchfit(data = msftret, spec = garchspec)
wmtgarchfit <- ugarchfit(data = wmtret, spec = garchspec)
Pasul 2: Utilizați residuals() pentru a calcula randamentele standardizate.
stdmsftret <- residuals(msftgarchfit, standardize = TRUE)
stdwmtret <- residuals(wmtgarchfit, standardize = TRUE)
Pasul 3: Utilizați cor() pentru a estima $\rho$ ca și corelație eșantion a randamentelor standardizate.
msftwmtcor <- as.numeric(cor(stdmsftret, stdwmtret)) # equals 0.298795
Pasul 4: Calculați covarianța GARCH înmulțind corelația estimată cu volatilitățile
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)

Varianța unui portofoliu de două active cu ponderea $w_{1,t}$ investită în activul 1 și $(1-w_{1,t})$ în activul 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} $$
Există mai multe modalități de a defini $w_{1,t}$ optim. O abordare constă în alegerea $w_{1,t}$ astfel încât varianța portofoliului $\sigma_{t}^2$ să fie minimizată.
Condiția de ordinul întâi pentru portofoliul de varianță minimă:
$$ \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 $$
Soluție: 
Calcul în R:
msftvar <- sigma(msftgarchfit) ^ 2
wmtvar <- sigma(wmtgarchfit) ^ 2
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)
msftweight <- (wmtvar - msftwmtcov) / (msftvar + wmtvar - 2 * msftwmtcov)

Estimarea beta a unei acțiuni reprezintă riscul sistematic al acesteia
Definit ca raportul dintre covarianța randamentului acțiunii cu randamentul pieței și varianța randamentelor pieței
$$ \beta_{t} = \frac{\textnormal{covarianța dintre randamentul acțiunii și randamentul pieței}}{\textnormal{varianța randamentului pieței}} $$
Necesar pentru calculul primei de risc. Cu cât este mai mare, cu atât acțiunea este mai riscantă și deci randamentul cerut este mai ridicat.
Pentru acțiunile din SUA, randamentul pieței este randamentul S&P 500.
Calculul covarianței dintre randamentele MSFT și S&P 500
msftsp500cor <- as.numeric(cor(stdmsftret, stdsp500ret))
msftsp500cov <- msftsp500cor * sigma(msftgarchfit) * sigma(sp500garchfit)
Calculul varianței randamentelor S&P 500
sp500var <- sigma(sp500garchfit) ^ 2
Calculul beta
msftbeta <- msftsp500cov / sp500var

Modele GARCH în R