Sem esforço, sem ganho

Modelos GARCH em R

Kris Boudt

Professor of finance and econometrics

Modelo GARCH-in-mean

  • Quantifique o trade-off risco-retorno.
  • Risco: $\sigma^2_t$. Retorno: $\mu_t$.
  • Modelo GARCH-in-mean:

$$ \mu_{t} = \mu + \lambda \sigma^2_{t} $$

$\lambda > 0$ é o parâmetro risco/retorno que indica o aumento do retorno esperado por unidade de risco de variância.

Modelos GARCH em R

Como?

Altere o argumento mean.model em ugarchspec() de list(armaOrder = c(0, 0)) para list(armaOrder = c(0, 0), archm = TRUE, archpow = 2):

garchspec <- ugarchspec(
              mean.model = list(armaOrder = c(0, 0)),
              variance.model = list(model = "gjrGARCH"),
              distribution.model = "sstd")
garchspec <- ugarchspec(
               mean.model = list(armaOrder = c(0, 0), archm = TRUE, archpow = 2),
               variance.model = list(model = "gjrGARCH"),
               distribution.model = "sstd")
Modelos GARCH em R

Aplicação aos retornos diários do S&P 500

Estimação

garchfit <- ugarchfit(data = sp500ret, spec = garchspec)

Inspeção dos coeficientes estimados para a média

round(coef(garchfit)[1:2], 4)
    mu  archm 
0.0002 1.9950

Retornos médios previstos

$$ \hat{\mu}_{t} = 0.0002 + 1.9950 \hat{\sigma}^2_{t} $$

Modelos GARCH em R

Série temporal dos retornos previstos

  • Plote no R
    plot(fitted(garchfit))
    
Modelos GARCH em R

O retorno de hoje prevê o de amanhã

  • O GARCH-in-mean usa a teoria financeira do trade-off risco-retorno para construir um modelo de média condicional.
  • Agora vamos usar teoria estatística para criar um modelo de média que explora a correlação entre o retorno de hoje e o de amanhã.
  • O modelo mais popular é o AR(1):
    • AR(1) significa modelo autorregressivo de ordem 1.
    • Ele prevê o próximo retorno usando o desvio do retorno em relação à sua média de longo prazo $\mu$:

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

Modelos GARCH em R

Coeficiente autorregressivo positivo

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho > 0$:
    • Um retorno acima (resp. abaixo) da média é seguido por retorno acima (resp. abaixo) da média.
    • Possível explicação: o mercado sub-reage a notícias e há momentum nos retornos.
  • $|\rho|<1$: Reversão à média: os desvios de $R_t$ em relação a $\mu$ são transitórios.
Modelos GARCH em R

Coeficiente autorregressivo negativo

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho < 0$:
    • Um retorno acima (resp. abaixo) da média é seguido por retorno abaixo (resp. acima) da média.
    • Possível explicação: o mercado super-reage a notícias e há reversão nos retornos.
Modelos GARCH em R

Aplicação aos retornos diários do S&P 500

Especificação e estimação de AR(1)-GJR GARCH com distribuição sst

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(1, 0)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")
garchfit <- ugarchfit(data = sp500ret, spec = garchspec)

Estimativas do modelo AR(1)

round(coef(garchfit)[1:2], 4)
     mu     ar1     
 0.0003 -0.0292
Modelos GARCH em R

Modelos MA(1) e ARMA(1,1)

O modelo de Média Móvel de ordem 1 usa o desvio do retorno em relação à média condicional:

$$ \mu_{t} = \mu + \theta(R_{t-1} - \mu_{t-1}) $$

ARMA(1,1) combina AR(1) e MA(1):

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) + \theta(R_{t-1} - \mu_{t-1}) $$

Modelos GARCH em R

Como?

MA(1)

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(0, 1)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")

ARMA(1, 1)

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(1, 1)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")
Modelos GARCH em R

Sua vez de alterar o argumento mean.model

Modelos GARCH em R

Preparing Video For Download...