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.

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.
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.
📈
📊
🔁
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.

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.

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.

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.

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.

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

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