Aplicações de modelos de volatilidade GARCH

Um GARCH(1,1) estimado para o Ibovespa mostra que um susto de mercado leva cerca de 34 pregões só para perder metade da força. Este tutorial percorre o método completo em R: os diagnósticos que justificam o modelo, a estimação com o pacote rugarch e a aplicação do resultado a uma regra de alocação de carteira via volatility targeting.

Modelos de volatilidade no R servem para responder uma pergunta que o desvio-padrão comum não responde: qual é o risco do mercado hoje, e não na média dos últimos dez anos. Um modelo GARCH(1,1) estimado para o Ibovespa mostra que um susto de mercado leva cerca de 34 pregões, algo como sete semanas, apenas para perder metade da força.

Neste tutorial você acompanha o caminho completo: por que a volatilidade do Ibovespa não pode ser tratada como um número fixo, como o modelo captura essa variação ao longo do tempo, e como o resultado vira uma decisão prática de carteira. Os dados são do índice negociado na B3, coletados diretamente pelo R.

Volatilidade condicional do Ibovespa estimada por modelos de volatilidade no R: GARCH(1,1) comparado ao desvio-padrão móvel de 22 dias, com pico acima de 100% em março de 2020
Volatilidade anualizada do Ibovespa por dois métodos. A linha tracejada marca o nível de longo prazo estimado pelo modelo, de 21,7% ao ano. Fonte: B3, via Yahoo Finance.

As duas linhas contam a mesma história, com uma diferença que importa na prática. A janela móvel reage com atraso e segura o susto por exatos 22 dias, mesmo depois de o mercado ter acalmado. O GARCH sobe no instante do choque e desce de forma suave, no ritmo que os próprios dados indicam.

Quer reproduzir este gráfico?

O script completo em R vai para os assinantes do Boletim AM: coleta a série do Ibovespa, calcula os log-retornos, roda os diagnósticos, estima o GARCH(1,1) e gera os cinco gráficos deste post no padrão visual da casa. Assine, é gratuito, e receba o código pronto para rodar.

Assinar o Boletim AM e receber o código →

Por que o risco de um ativo não é um número fixo

Quem acompanha o mercado sabe que existem semanas em que nada acontece e semanas em que tudo acontece. Em março de 2020, o Ibovespa andava mais em um pregão do que costuma andar em um mês inteiro de calmaria.

Esse comportamento tem nome técnico: heterocedasticidade condicional. A palavra parece pior do que a ideia. "Heterocedasticidade" significa variância que não é constante ao longo do tempo. "Condicional" significa que essa variância depende da informação disponível até o momento anterior.

Traduzindo para o dia a dia: o risco de amanhã não é uma característica permanente do ativo, é algo que se atualiza conforme o que acabou de acontecer. Ignorar isso tem custo. Uma carteira dimensionada pela volatilidade média dos últimos anos fica pequena demais nos períodos calmos e grande demais justamente quando o mercado vira.

Os modelos ARCH e GARCH, criados nos anos 1980 por Robert Engle e Tim Bollerslev, existem para dar tratamento estatístico a esse fato. O ARCH faz a variância de hoje depender dos choques recentes. O GARCH acrescenta um ingrediente decisivo: a variância de ontem também entra na conta, o que permite capturar longos períodos de turbulência sem estimar dezenas de parâmetros.

As três evidências que justificam o modelo

Antes de estimar qualquer coisa, vale checar se o problema existe mesmo nos dados. O exercício percorre três diagnósticos, cada um respondendo a uma pergunta diferente.

📈

Os surtos se agrupam
Dias agitados vêm seguidos de dias agitados. A turbulência chega em blocos, não espalhada pelo tempo.

📊

As caudas são pesadas
Eventos extremos acontecem com frequência muito maior do que a distribuição normal prevê.

🔁

O tamanho tem memória
A direção do movimento é imprevisível, mas a intensidade dele se prolonga por semanas.

O primeiro é visível a olho nu. Os retornos diários do Ibovespa não se distribuem de forma uniforme pelo tempo: eles se concentram em blocos de agitação separados por períodos de calmaria.

Série de retornos diários do Ibovespa desde 2010, com agrupamentos de volatilidade e pico em março de 2020
Retornos diários (log) do Ibovespa. O pico de março de 2020 é a chegada da pandemia à B3. Fonte: B3, via Yahoo Finance.

O pico de 2020 não é um dia isolado: em volta dele há semanas de oscilações grandes. É esse encadeamento, e não o evento extremo em si, que o modelo captura.

O que a distribuição normal não explica

O segundo diagnóstico compara os retornos observados com o que a distribuição normal preveria. O Q-Q plot coloca os dois lado a lado: se os retornos fossem normais, os pontos ficariam todos sobre a linha tracejada.

Q-Q plot dos retornos do Ibovespa contra a distribuição normal, mostrando caudas muito mais pesadas que a teórica
Quantis amostrais padronizados contra os da distribuição normal. Os desvios nas pontas indicam eventos extremos muito mais frequentes que o previsto. Fonte: B3, via Yahoo Finance.

O afastamento nas pontas é grande: há pregões a mais de onze desvios-padrão da média. Sob a normal, um movimento desses seria praticamente impossível. Por isso a estimação usa a distribuição t de Student, que tem caudas mais grossas e descreve melhor o que de fato acontece na bolsa brasileira.

O teste que fecha a questão

O terceiro diagnóstico é o mais importante, e vale explicar com calma. A função de autocorrelação mede o quanto o valor de hoje se relaciona com os valores de dias anteriores. O exercício aplica esse teste a dois objetos diferentes.

O primeiro é o retorno em si, com sinal: subiu ou caiu. O segundo é o retorno ao quadrado, que mede apenas o tamanho do movimento, sem distinguir alta de queda.

Autocorrelação dos retornos e dos retornos ao quadrado do Ibovespa: as barras dos retornos ficam dentro das bandas de significância, enquanto as dos retornos ao quadrado decaem lentamente ao longo de 30 defasagens
Autocorrelação até 30 defasagens. As barras fora das linhas tracejadas são estatisticamente significantes. Fonte: B3, via Yahoo Finance.

O resultado é uma assimetria nítida. À esquerda, as barras ficam quase todas dentro das bandas de significância: a direção do movimento de amanhã não é previsível pelo passado, o que se espera de um mercado minimamente eficiente.

À direita, as barras são altas e demoram dezenas de dias para diminuir: o tamanho do movimento é bastante previsível. É essa combinação que abre espaço para os modelos de volatilidade. Não dá para saber se o mercado sobe ou cai amanhã, mas dá para estimar o quanto ele vai balançar.

Como o modelo é estimado no R

A construção segue quatro etapas, e cada uma tem uma decisão metodológica por trás.

Coletar a série. O pacote quantmod busca o histórico do Ibovespa direto do provedor de dados de mercado, sem download manual de planilha. O exercício define apenas a data inicial, de modo que a série vem sempre até o pregão mais recente.

Converter preços em retornos. Este passo não é cosmético. A série de preços tem tendência e não é estacionária, ou seja, sua média muda ao longo do tempo, e o modelo pressupõe uma série de média estável. O exercício usa o fechamento ajustado, que corrige proventos e desdobramentos: sem esse ajuste, uma distribuição de dividendos apareceria como uma queda de preço que nunca existiu.

Escolher a distribuição. O Q-Q plot do exercício mostra dias a mais de onze desvios-padrão da média, algo praticamente impossível sob a distribuição normal. Por isso a estimação usa a t de Student, que tem caudas mais grossas e descreve melhor os extremos observados na bolsa brasileira.

Estimar o GARCH(1,1). O pacote rugarch cuida da estimação. A especificação (1,1) usa uma defasagem para o choque recente e uma para a variância anterior, e é a mais utilizada na prática por equilibrar simplicidade e aderência aos dados.

O que os coeficientes dizem

O modelo estimado para o Ibovespa desde 2010 entrega quatro parâmetros, todos estatisticamente significantes.

Parâmetro Estimativa O que significa
alpha1 0,0624 Reação: quanto um choque de ontem eleva o risco de hoje
beta1 0,9175 Persistência: quanto do risco de ontem se carrega para hoje
alpha1 + beta1 0,9799 Persistência total: quanto tempo um susto demora a passar
shape 9,25 Graus de liberdade da t de Student: quanto menor, mais pesadas as caudas

Coeficientes do GARCH(1,1) estimado para os retornos diários do Ibovespa desde 2010. Fonte: B3, via Yahoo Finance.

O número que carrega a mensagem é a soma alpha1 + beta1, de 0,98. Quanto mais perto de 1, mais devagar a volatilidade retorna ao normal depois de um choque.

Essa soma se converte em uma medida bem mais intuitiva, a meia-vida: quantos pregões a volatilidade leva para percorrer metade do caminho de volta ao seu nível habitual. Para o Ibovespa, são 34 pregões, aproximadamente sete semanas.

Esse é o argumento prático a favor do modelo. Um susto de mercado não se resolve em poucos dias: ele contamina o mês e meio seguinte. Quem trata risco como constante simplesmente não enxerga esse efeito.

Da volatilidade estimada ao peso da carteira

Estimar a volatilidade não é o objetivo final. O exercício fecha aplicando o resultado a uma decisão concreta, apoiada no teorema da separação de Tobin.

James Tobin mostrou em 1958 que a decisão de investimento se separa em duas partes independentes. Primeiro se escolhe a melhor carteira de ativos arriscados. Depois se decide quanto do patrimônio colocar nela, mantendo o restante no ativo livre de risco.

A segunda decisão tem uma consequência direta: se metade do patrimônio está em um ativo que oscila 20% ao ano, a carteira inteira oscila 10%. A exposição funciona como um regulador do risco total.

O volatility targeting parte daí. Fixado um alvo de risco, digamos 5% ao ano, o peso no ativo arriscado passa a ser o alvo dividido pela volatilidade estimada. Como o GARCH atualiza essa volatilidade todos os dias, o peso também se atualiza sozinho.

Peso ótimo no Ibovespa pela regra de volatility targeting de Tobin com alvo de 5% ao ano, oscilando em torno de 25% e caindo a 4,3% na crise de 2020
Fração da carteira no ativo arriscado para um alvo de volatilidade de 5% ao ano. Fonte: B3, via Yahoo Finance.

O peso médio ao longo do período fica em torno de 25%. No auge da crise de 2020, quando a volatilidade do Ibovespa superou 100% ao ano, a regra derruba a exposição para 4,3%.

Repare no que essa regra não exige: nenhuma opinião sobre a direção do mercado. Ela responde apenas ao risco medido. Quando a volatilidade quadruplica, a posição cai para um quarto, e o risco total da carteira permanece no alvo escolhido.

Da volatilidade prevista para a alocação futura

O modelo também projeta a volatilidade dos próximos pregões, e a regra de Tobin se aplica igualmente à volatilidade prevista. Isso responde a uma pergunta prática: dado o que o modelo projeta para a semana que vem, quanto deveria estar alocado em bolsa?

Com a volatilidade corrente abaixo da média histórica, o modelo projeta alta gradual do risco, e a alocação recomendada recua de 27,4% para 27,0% ao longo de cinco pregões. O movimento é pequeno porque o horizonte é curto.

Estendendo o horizonte, aparece o que mais importa entender sobre essa previsão.

Curva do peso previsto no Ibovespa caindo de 27,4% para cerca de 23% ao longo de 120 pregões, convergindo para o peso de longo prazo
Peso no Ibovespa projetado pelo GARCH(1,1) para um alvo de 5% ao ano, ao longo de 120 pregões. Fonte: B3, via Yahoo Finance.

A alocação prevista converge para o peso de longo prazo, de 23%, e para por ali. Depois de dois ou três meses, o modelo devolve sempre o mesmo número, que é o que se obteria sem modelo nenhum, usando apenas a volatilidade histórica.

A leitura prática é direta: a previsão carrega informação nova no curto prazo, não no longo. E a meia-vida de 34 pregões é justamente o que governa essa velocidade de convergência.

As ferramentas por trás

Logo da linguagem R
R — reúne coleta de dados, modelagem econométrica e visualização no mesmo ambiente, sem exportar planilha entre uma etapa e outra.
  • quantmod — coleta o histórico de preços de ativos e índices direto do provedor de dados de mercado.
  • rugarch — estima a família de modelos GARCH, calcula a persistência e projeta a volatilidade à frente.
  • PerformanceAnalytics — converte preços em retornos e oferece as métricas usuais de risco.
  • ggplot2 — constrói os gráficos, aqui no padrão visual da Análise Macro.

O que o resultado revela

  • O risco tem memória longa. Um choque no Ibovespa leva cerca de sete semanas para perder metade da força. Quem redimensiona a carteira poucos dias depois de uma queda ainda está operando em regime de turbulência.
  • A janela móvel engana nas duas pontas. Ela demora a reconhecer o choque e depois o mantém por exatos 22 dias, mesmo com o mercado já calmo. O corte por calendário não corresponde ao comportamento do dado.
  • Eventos extremos são mais comuns do que a teoria básica sugere. A bolsa brasileira registra movimentos que a distribuição normal trataria como impossíveis, o que muda a escolha da distribuição na estimação.
  • Volatilidade estimada vira decisão. A mesma série que descreve o passado alimenta uma regra de alocação que dispensa qualquer previsão sobre a direção do mercado.

Considerações finais

Este exercício reproduz, com dados públicos e um punhado de linhas de código, um procedimento que já foi restrito a mesas de operação e departamentos de risco. A barreira hoje não é o acesso ao dado nem o custo do software, é saber conduzir o caminho.

O R é uma escolha natural para esse tipo de trabalho porque concentra tudo no mesmo lugar: a coleta da série, a estimação econométrica e o gráfico final saem do mesmo script. Nada de exportar planilha entre etapas, e o exercício inteiro pode ser rodado de novo amanhã com os dados atualizados.

O alcance vai além deste exemplo. O caminho percorrido aqui, coletar, tratar, modelar e visualizar, se repete em quase todo problema quantitativo de mercado. O que muda é a aplicação:

  • Analista de investimentos: dimensiona posições pelo risco corrente em vez do risco médio histórico.
  • Gestor de carteira: monta regras de exposição que reagem ao mercado sem depender de previsão direcional.
  • Profissional de risco: alimenta cálculos de VaR e testes de estresse com volatilidade condicional, não com desvio-padrão fixo.
  • Economista e pesquisador: mede a reação da incerteza dos mercados a choques macroeconômicos e decisões de política.
  • Trader e estruturador: compara a volatilidade estimada com a implícita nas opções para avaliar preço relativo.

Aprender a linguagem é o que abre a porta para todas essas frentes.

Você viu o método; aprenda a construir do zero

Coletar dados de mercado, tratar séries, estimar modelos e produzir gráficos como os deste post são exatamente as etapas cobertas na formação em R da Análise Macro, pensada para quem começa sem pré-requisito. Quem quer acesso a todas as formações tem o AM Black, a assinatura anual.

Conheça a formação em R →Ver o AM Black →

Leia também:

Referências: Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics, 31(3), 307–327. · Engle, R. F. (1982). Autoregressive conditional heteroscedasticity with estimates of the variance of United Kingdom inflation. Econometrica, 50(4), 987–1007. · Tobin, J. (1958). Liquidity preference as behavior towards risk. The Review of Economic Studies, 25(2), 65–86.

 

📩 O que sustenta a decisão de investimento

Preço, risco e volatilidade viram decisão quando há método por trás. No Boletim AM eu mostro, todo dia, a estatística, a econometria e a IA aplicadas ao mercado financeiro — com a fonte, com a ressalva e sem promessa de atalho.

Receber o Boletim AM → Todo dia no seu e-mail. Gratuito, e sai num clique.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print
Análise Macro © 2011 / 2026

comercial@analisemacro.com.br – Rua Visconde de Pirajá, 414, Sala 718
Ipanema, Rio de Janeiro – RJ – CEP: 22410-002

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp