Volatilitatea GARCH duce la variabilitate temporală a randamentelor

Modele GARCH în R

Kris Boudt

Professor of finance and econometrics

Covarianța GARCH

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} $$

Modele GARCH în R

Estimarea covarianței GARCH în patru pași

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
Modele GARCH în R

Estimarea covarianței GARCH în patru pași

Pasul 4: Calculați covarianța GARCH înmulțind corelația estimată cu volatilitățile

msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)

Covarianță GARCH

Modele GARCH în R

Aplicații ale covarianței în finanțe

  • Numeroase!
  • Caz important: optimizarea varianței portofoliului.
  • Depinde de:
    • ponderile portofoliului
    • varianța fiecărui activ
    • covarianța dintre randamentele activelor
Modele GARCH în R

Aplicație la optimizarea portofoliului

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 $$

Modele GARCH în R

Ponderile portofoliului cu varianță minimă

Soluție: Ponderi varianță minimă

Calcul în R:

msftvar <- sigma(msftgarchfit) ^ 2
wmtvar <- sigma(wmtgarchfit) ^ 2
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)
msftweight <- (wmtvar - msftwmtcov) / (msftvar + wmtvar - 2 * msftwmtcov)
Modele GARCH în R

Covarianță GARCH

Modele GARCH în R

Beta dinamic

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.

Modele GARCH în R

Beta zilnic al MSFT

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

Beta MSFT

Modele GARCH în R

Să exersăm!

Modele GARCH în R

Preparing Video For Download...