Previsão com VAR no Python: prevendo a inflação brasileira

Modelos Vetoriais AutoRegressivos (VAR) são amplamente utilizados na análise de séries temporais macroeconômicas. Eles permitem modelar a dinâmica conjunta de várias variáveis, capturando como choques em uma afetam as demais ao longo do tempo. Neste exercício, mostramos como aplicar um modelo VAR a um conjunto de dados macroeconômicos brasileiros para gerar previsões.

Um modelo de Vetores Autoregressivos (VAR) estimado no Python, com sete séries macroeconômicas brasileiras coletadas das APIs do Banco Central, previu a inflação dos 12 meses seguintes com erro médio de 0,25 ponto percentual. Neste tutorial, mostramos o caminho completo dessa previsão com VAR no Python: da coleta dos dados ao teste da qualidade do resultado.

O sistema reúne IPCA, expectativas de inflação, commodities, câmbio, Selic, desemprego e IBC-Br, de março de 2012 ao dado mais recente. O modelo aprende com a dinâmica conjunta dessas variáveis e projeta todas elas ao mesmo tempo — abaixo, o resultado para a série que mais interessa: o IPCA acumulado em 12 meses.

Previsão com VAR no Python para o IPCA acumulado em 12 meses: linha observada no treino e no teste contra a previsão do modelo, que se mantém estável perto de 5%
IPCA acumulado em 12 meses: observado vs. previsão do VAR no período de teste. Fontes: BCB e IBGE.

O gráfico resume o exercício: o modelo, estimado sem conhecer os últimos 12 meses da amostra, projeta a inflação estável em torno de 5,2%, enquanto o dado observado recuou até 3,8% antes de voltar a subir. O VAR acertou o patamar e errou as oscilações; o tutorial mostra como chegar a esse resultado e como interpretá-lo.

Quer reproduzir esta previsão?

O script completo em Python (coleta automática das 7 séries nas APIs do BCB, teste de estacionariedade, estimação do VAR e gráficos) vai para os assinantes do Boletim AM. Assine, é gratuito, e receba no seu e-mail o código pronto para rodar.

Assinar o Boletim AM e receber o código →

O que é um modelo VAR

O VAR é um sistema de equações em que cada variável é explicada pelos valores passados dela mesma e de todas as outras. A inflação de hoje depende da inflação, do câmbio, dos juros e da atividade de ontem; o câmbio de hoje depende das mesmas defasagens — e assim para cada série. Essa estrutura captura as relações cruzadas entre as variáveis, que um modelo de uma única equação ignora.

A ordem do modelo, chamada de p, define quantos meses de passado entram nas equações. Um VAR de ordem 1 usa apenas o mês anterior; um de ordem 10 enxerga quase um ano. Cada defasagem extra adiciona 49 coeficientes ao nosso sistema de 7 variáveis: mais memória significa mais parâmetros para estimar com a mesma amostra, o que melhora o ajuste ao passado e piora a previsão do futuro.

Outra vantagem prática: por prever todas as variáveis de uma vez, o VAR entrega um cenário completo e internamente consistente — a previsão de inflação convive com a previsão de câmbio e de juros que a geraram. Modelos univariados entregam previsões isoladas, que podem se contradizer entre si.

As sete variáveis do sistema

O exercício usa um sistema típico de macroeconomia brasileira, com séries mensais de março de 2012 (início da PNAD Contínua mensal) até o dado mais recente: o IPCA acumulado em 12 meses, a expectativa de inflação 12 meses à frente do boletim Focus, o IC-Br (índice de commodities do Banco Central), o câmbio BRL/USD, a Selic anualizada, a taxa de desemprego da PNAD Contínua e o IBC-Br, proxy mensal do PIB.

Painel com as sete séries macroeconômicas mensais usadas no modelo VAR: câmbio, desemprego, expectativa de inflação, IBC-Br, IC-Br, IPCA e Selic, de 2012 a 2026
As sete séries mensais do sistema, de 2012 a 2026. Fontes: BCB e IBGE.

Nada disso vem de planilha baixada à mão: as séries são coletadas direto das APIs do Banco Central — o SGS para as seis primeiras e a API de Expectativas de Mercado para a mediana do Focus, agregada de diária para mensal. Rodar o script em qualquer data traz o exercício atualizado até o mês mais recente.

Como a previsão foi construída

O caminho tem cinco etapas encadeadas, e cada uma prepara o dado ou o modelo para a seguinte:

📥

Coleta
As 7 séries baixadas das APIs do BCB e reunidas numa base mensal única.

🧪

Estacionariedade
Teste de Phillips-Perron em cada série; as não estacionárias são diferenciadas.

✂️

Treino e teste
Os últimos 12 meses ficam escondidos do modelo, como gabarito da previsão.

⚙️

Ordem e estimação
Critérios de informação escolhem quantas defasagens o VAR usa; o modelo é estimado.

📈

Previsão e avaliação
12 meses projetados e comparados ao observado, com métricas de erro.

Estacionariedade: o teste que decide o formato dos dados

O VAR clássico exige séries estacionárias — com média e variância estáveis no tempo. Estimar o modelo com séries de tendência produz o problema clássico da regressão espúria: coeficientes que sugerem relações inexistentes, herdadas das tendências comuns. A saída usual é a primeira diferença, que troca o nível da série pela sua variação mês a mês.

A decisão sai de um teste formal: aplicamos o teste de Phillips-Perron, cuja hipótese nula é a presença de raiz unitária (a série não é estacionária). O resultado foi uniforme na amostra atualizada — nenhuma das sete séries rejeita a raiz unitária em nível, e todas se tornam estacionárias na primeira diferença:

Variável PP nível (p-valor) PP 1ª diferença (p-valor) Conclusão
IPCA (acum. 12m) 0,1387 0,0000 I(1): diferenciar
Expectativa IPCA 0,4481 0,0000 I(1): diferenciar
IC-Br 0,9399 0,0000 I(1): diferenciar
Câmbio BRL/USD 0,4655 0,0000 I(1): diferenciar
Selic 0,4920 0,0000 I(1): diferenciar
Desemprego 0,7525 0,0000 I(1): diferenciar
IBC-Br 0,8777 0,0000 I(1): diferenciar

Teste de Phillips-Perron nas sete séries, amostra 2012–2026. Fontes: BCB e IBGE.

Uma série nessa condição é chamada de integrada de ordem 1, ou I(1). Quando as variáveis são I(1), o rigor pede também um teste de cointegração — a verificação de relações de longo prazo entre elas; para manter o foco na previsão, o exercício deixa esse procedimento registrado como extensão.

Como as séries mensais carregam padrão de calendário, o modelo recebe ainda dummies sazonais: variáveis que valem 1 no mês correspondente e 0 nos demais, permitindo capturar efeitos fixos de cada mês do ano sem contaminar os coeficientes das defasagens.

A escolha da ordem: parcimônia vence

Quantos meses de passado o modelo deve enxergar? Os critérios de informação respondem equilibrando ajuste e complexidade. O AIC, mais tolerante com modelos grandes, sugeriu ordem 10; o BIC e o HQIC, que penalizam mais cada parâmetro extra, apontaram ordem 1. Seguimos o BIC: num sistema em que cada defasagem custa 49 coeficientes, a parcimônia costuma prever melhor fora da amostra.

Previsão honesta: o modelo não vê o gabarito

Os últimos 12 meses da amostra ficaram fora da estimação. O modelo parte da última observação do treino e projeta os 12 meses seguintes iterando as próprias equações — a previsão de um mês vira insumo da previsão do mês seguinte. A comparação com o observado, que o modelo nunca viu, mede a capacidade preditiva real, não a memória do ajuste.

Previsão do VAR para a variação mensal do IPCA acumulado em 12 meses, comparada às séries de treino e de teste
A previsão na escala em que o modelo trabalha: a variação mensal do IPCA acumulado em 12 meses. Fontes: BCB e IBGE.

Quanto o modelo erra: as métricas por variável

Duas métricas resumem a qualidade da previsão em cada série, na escala diferenciada: o RMSE (raiz do erro quadrático médio, que pune mais os erros grandes) e o MAE (o tamanho médio do erro, em pontos da própria série).

Variável RMSE MAE
IPCA (variação do acum. 12m, p.p.) 0,3140 0,2549
Expectativa IPCA (p.p.) 0,1489 0,1241
IC-Br (pontos) 10,7024 9,3849
Câmbio (R$) 0,1036 0,0903
Selic (p.p.) 0,1887 0,1700
Desemprego (p.p.) 0,1061 0,0787
IBC-Br (pontos) 0,5405 0,4546

Erro de previsão do VAR(1) nos 12 meses de teste, por variável. Fontes: BCB e IBGE.

Para o IPCA, o erro médio de 0,25 ponto percentual na variação mensal do acumulado confirma a leitura do primeiro gráfico: o modelo acompanha o patamar da inflação, mas suaviza os movimentos, porque a previsão converge rápido para a média condicional — comportamento típico de um VAR parcimonioso em horizontes longos.

As ferramentas por trás

Logo do Python
Python — a linguagem do exercício, com statsmodels para estimar o VAR, arch para o teste de Phillips-Perron e python-bcb para a coleta nas APIs do Banco Central.
Logo do Banco Central do Brasil
Banco Central do Brasil — fonte das séries via SGS e da expectativa de inflação via API de Expectativas de Mercado (boletim Focus).
Logo do IBGE
IBGE — origem do IPCA e da taxa de desemprego da PNAD Contínua, distribuídos pelo SGS do Banco Central.

O que o resultado revela

  • O VAR captura o patamar, não as oscilações. A previsão de inflação ficou estável perto de 5,2% enquanto o observado variou entre 3,8% e 5,3%: em horizontes longos, a projeção converge para a média condicional do processo.
  • A parcimônia venceu o ajuste. O BIC escolheu 1 defasagem contra as 10 do AIC; com 49 coeficientes por defasagem, o modelo pequeno generaliza melhor fora da amostra.
  • O diagnóstico muda com a amostra. Na versão anterior deste exercício, o IBC-Br aparecia estacionário em nível; com os dados até 2026, todas as sete séries são I(1). Refazer os testes a cada atualização evita carregar uma especificação que os dados já não sustentam.

Considerações finais

Este exercício mostra que uma previsão macroeconômica multivariada, do tipo que sustenta relatórios de bancos e consultorias, pode ser construída com dados públicos e um script em Python: a coleta automática nas APIs do Banco Central, o teste formal de estacionariedade, a estimação do sistema e a avaliação honesta do erro fora da amostra.

O Python concentra todas as etapas num só ambiente — coleta, tratamento, modelagem e gráficos — com bibliotecas maduras para o dado brasileiro. O mesmo caminho se repete em quase todo problema aplicado de macroeconomia; o que muda é a pergunta:

  • Analistas de mercado: constroem cenários de inflação, juros e câmbio internamente consistentes para subsidiar decisões de alocação.
  • Economistas de empresas: projetam as variáveis que entram no orçamento e no planejamento de preços, com atualização automática a cada divulgação.
  • Consultores e pesquisadores: avaliam efeitos dinâmicos entre variáveis — o VAR é a porta de entrada para funções impulso-resposta e decomposição de variância.
  • Estudantes de economia: saem da teoria dos livros-texto para um modelo estimado com dado real, reprodutível e testável.

Aprender a linguagem abre todas essas frentes de uma vez.

Você viu a previsão pronta; aprenda a construí-la

Na Formação em Análise Macroeconômica, você aprende a coletar, tratar e modelar os dados da economia brasileira no Python — inflação, atividade, câmbio, juros e mercado de trabalho, com exercícios como este. Quem quer acesso a todas as formações tem o AM Black, a assinatura anual.

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

Leia também:

Referências: Hyndman, R. J., & Athanasopoulos, G. Forecasting: principles and practice. OTexts. | Lütkepohl, H. (2005). New Introduction to Multiple Time Series Analysis. Springer.

 

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