Volatilidade GARCH gera variabilidade dos retornos ao longo do tempo

Modelos GARCH em R

Kris Boudt

Professor of finance and econometrics

Covariância GARCH

Se dois retornos de ativos $R_{1,t}$ e $R_{2,t}$ têm correlação $\rho$ e volatilidades variando no tempo $\sigma_{1,t}$ e $\sigma_{2,t}$, então a covariância é:

$$ \sigma_{12, t} = \rho \sigma_{1, t} \sigma_{2, t} $$

Modelos GARCH em R

Estimando a covariância GARCH em quatro etapas

Etapa 1: Use ugarchfit() para estimar o modelo GARCH para cada série de retornos.

msftgarchfit <- ugarchfit(data = msftret, spec = garchspec) 
wmtgarchfit <- ugarchfit(data = wmtret, spec = garchspec)

Etapa 2: Use residuals() para calcular os retornos padronizados.

stdmsftret <- residuals(msftgarchfit, standardize = TRUE)
stdwmtret <- residuals(wmtgarchfit, standardize = TRUE)

Etapa 3: Use cor() para estimar $\rho$ como a correlação amostral dos retornos padronizados.

msftwmtcor <- as.numeric(cor(stdmsftret, stdwmtret)) # equals 0.298795
Modelos GARCH em R

Estimando a covariância GARCH em quatro etapas

Etapa 4: Calcule a covariância GARCH multiplicando a correlação e as volatilidades estimadas

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

Covariância GARCH

Modelos GARCH em R

Aplicações da covariância em finanças

  • Inúmeras!
  • Caso importante: otimizar a variância do portfólio.
  • Ela depende de:
    • pesos do portfólio
    • variância de todos os ativos
    • covariância entre os retornos dos ativos
Modelos GARCH em R

Aplicação à otimização de portfólio

Variância de um portfólio com dois ativos com peso $w_{1,t}$ no ativo 1 e $(1-w_{1,t})$ no ativo 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} $$

Há várias formas de definir o $w_{1,t}$ ótimo. Uma é escolher $w_{1,t}$ que minimize a variância do portfólio $\sigma_{t}^2$.

Condição de primeira ordem para o portfólio de variância mínima:

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

Modelos GARCH em R

Pesos do portfólio de variância mínima

Solução: Pesos de variância mínima

Cálculo em R:

msftvar <- sigma(msftgarchfit) ^ 2
wmtvar <- sigma(wmtgarchfit) ^ 2
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)
msftweight <- (wmtvar - msftwmtcov) / (msftvar + wmtvar - 2 * msftwmtcov)
Modelos GARCH em R

Covariância GARCH

Modelos GARCH em R

Beta dinâmico

A estimação do beta de uma ação é o risco sistemático da ação

Definido como a covariância entre o retorno da ação e o retorno do mercado, dividida pela variância do retorno do mercado

$$ \beta_{t} = \frac{\textnormal{covariância entre o retorno da ação e o retorno do mercado}}{\textnormal{variância do retorno do mercado}} $$

Necessário para calcular o prêmio de risco. Quanto maior, mais arriscada é a ação e maior a taxa de retorno exigida.

Para ações dos EUA, o retorno de mercado é o retorno do S&P 500.

Modelos GARCH em R

O beta diário da MSFT

Calcule a covariância entre os retornos de MSFT e S&P 500

msftsp500cor <- as.numeric(cor(stdmsftret, stdsp500ret))
msftsp500cov <- msftsp500cor * sigma(msftgarchfit) * sigma(sp500garchfit)

Calcule a variância dos retornos do S&P 500

sp500var <- sigma(sp500garchfit) ^ 2

Calcule o beta

msftbeta <- msftsp500cov / sp500var
Modelos GARCH em R

Beta da MSFT

Modelos GARCH em R

Vamos praticar!

Modelos GARCH em R

Preparing Video For Download...