Como construir uma Curva IS

A Curva IS diz quanto de atividade custa um aperto de juros e em quantos trimestres o custo aparece. Neste tutorial estimamos a equação do modelo de pequeno porte do Banco Central em Python, com dados públicos: hiato do produto do BCB, expectativas do Focus e resultado primário. O resultado: persistência de 0,89, efeito do juro de −0,20 por trimestre e meia-vida de seis trimestres. E um alerta sobre o juro neutro, a peça que mais muda o resultado.

A Curva IS é a equação que diz quanto de atividade econômica custa um aperto de juros, e em quantos trimestres esse custo aparece. Neste tutorial estimamos uma Curva IS no Python para o Brasil, na formulação do modelo de pequeno porte do Banco Central, usando apenas dados públicos: o hiato do produto do próprio BCB, as expectativas do boletim Focus e o resultado primário do setor público.

O resultado se resume em três números. O hiato do produto carrega 89% do seu valor de um trimestre para o outro; um hiato de juros de 1 ponto percentual acima do neutro reduz o hiato do produto em 0,20 ponto por trimestre, com defasagem de dois a três trimestres; e a meia-vida de um choque é de seis trimestres. O caminho até esses números passa por uma armadilha que merece atenção: a estimativa do juro neutro, que muda mais o resultado do que qualquer refinamento econométrico.

Decomposição do hiato do produto brasileiro pela Curva IS estimada no Python: contribuições da inércia, do hiato de juros, do fiscal e dos choques de 2008 e 2020
O hiato do produto decomposto nas contribuições de cada termo da Curva IS, de 2004 a 2026. A inércia domina; o juro pesa contra a atividade em 2015–2016 e a partir de 2023.

Quer reproduzir esta decomposição?

O notebook completo em Python (coleta do hiato e do Focus, construção do juro neutro ancorado, estimação por variáveis instrumentais e os gráficos) vai para os assinantes do Boletim AM. Assine, é gratuito, e receba o código pronto para rodar no Colab.

Assinar o Boletim AM e receber o código →

O que a Curva IS explica

A Curva IS nasce com Keynes e ganha forma com Hicks, em 1937, como o equilíbrio do mercado de bens: o investimento, que cai quando o juro sobe, iguala a poupança, que cresce com a renda. Nos livros de graduação ela aparece como uma reta descendente no plano juro–produto. A versão que os bancos centrais usam hoje é outra. Depois da crítica de Lucas e da incorporação de expectativas, a curva passou a descrever o hiato do produto, a distância entre o PIB efetivo e o potencial, como função da sua própria inércia, da distância entre o juro real e o juro neutro, e de variáveis fiscais e externas.

No Brasil, essa é a segunda equação do Modelo Semiestrutural de Pequeno Porte do Banco Central, ao lado da Curva de Phillips, da equação do prêmio do swap e da regra de Taylor. O BCB estima as quatro em conjunto. Aqui estimamos só a Curva IS, isoladamente, para mostrar como ela funciona por dentro. Duas restrições da especificação oficial guiam o exercício: o juro nunca entra contemporaneamente, porque a política monetária não age no mesmo trimestre, e a variável de juros é o hiato de juros, o juro real ex-ante menos o neutro, e não o nível da taxa.

Como a curva foi estimada

O trabalho tem cinco etapas, e a mais delicada não é a regressão.

📉

Hiato do produto
Lido direto da planilha do Relatório de Política Monetária do BCB, cenário de referência, de 2003 a 2026.
🔭

Juro real ex-ante
Selic esperada pelo Focus 12 meses à frente, deflacionada pelo IPCA esperado no mesmo horizonte, via equação de Fisher.

Juro neutro ancorado
Tendência HP do juro real, com a ponta da amostra ancorada pelas expectativas do Focus para os dois anos seguintes.
🎯

Variáveis instrumentais
Estimação por 2SLS com defasagens distantes como instrumentos e matriz de covariância robusta a autocorrelação.
🧩

Decomposição
Cada coeficiente multiplicado pela sua variável, trimestre a trimestre, somando exatamente o hiato observado.

A coleta do Focus tem três detalhes que derrubam o código sem mensagem de erro: o endpoint trimestral não tem Selic, filtros encadeados devolvem vazio e a coluna de ano de referência vem como texto. O Focus também publica expectativas por ano-calendário, e a curva precisa de um horizonte fixo de 12 meses. A solução é interpolar a expectativa do ano corrente com a do ano seguinte, com peso dado pela fração do ano já decorrida. A série resultante tem média de 6,06% ao ano desde 2000, praticamente igual à média do swap pré-DI de 360 dias que o BCB usava em 2017 e que o IPEADATA deixou de publicar.

O problema da ponta da amostra

O juro neutro não é observável, e a forma mais direta de estimá-lo é extrair a tendência do juro real com o filtro Hodrick-Prescott. O filtro tem um defeito conhecido: no meio da amostra ele olha para trás e para a frente, mas no último trimestre não existe "frente", e a tendência passa a perseguir os dados recentes. Aplicado sem cuidado, o HP colocava o neutro brasileiro em 8,64% ao ano no terceiro trimestre de 2026.

A saída que o Banco Central e o FMI usam é estender a série com uma projeção antes de filtrar. Neste exercício a projeção vem de graça: o juro real já é construído a partir do Focus, e o mesmo boletim informa a Selic e o IPCA esperados para um e dois anos à frente. Convertemos essas expectativas em juro real, encaixamos oito trimestres na frente da série, filtramos o conjunto e descartamos a parte projetada. A projeção ancora a tendência na ponta, mas não vira dado. Com isso, o neutro do último trimestre cai para 7,47%.

Três estimativas do juro neutro brasileiro pelo filtro HP: ancorado pelo Focus, bilateral sem âncora e unilateral, de 2000 a 2026
As três versões coincidem até 2023 e se separam na ponta. O HP unilateral, que só usa o passado, termina no mesmo ponto do bilateral e mostra quanto as leituras em tempo real foram revisadas.

O gráfico guarda uma lição extra. O filtro unilateral, recalculado a cada trimestre só com o passado, termina exatamente nos mesmos 8,64% do bilateral puro, porque no último ponto os dois são o mesmo cálculo. Ele serve para outra coisa: mostrar o tamanho das revisões, já que a ponta continua igual. Em 2021 o analista em tempo real teria visto um neutro próximo de zero, que o filtro completo depois revisou para 2,9%. Mesmo ancorado, o neutro de 7,5% segue distante dos 5% que o Copom adota como hipótese de trabalho, e o boxe do BCB de junho de 2024 sobre o tema reúne mais de vinte metodologias com resultados entre 3,5% e 5,7% para o mesmo trimestre. A tendência de uma única série entrega uma medida de ociosidade monetária coerente com os dados do exercício, suficiente para estimar a curva, mas não compete com isso.

Hiato de juros no Brasil, diferença entre o juro real ex-ante e o juro neutro, de 2000 a 2026
Hiato de juros: positivo no aperto de 2015–2016, em −2,7 p.p. no início de 2021 e de volta ao campo contracionista desde 2022. No segundo trimestre de 2026 está praticamente em zero.

Por que variáveis instrumentais

O juro não é exógeno ao ciclo. O Banco Central sobe a Selic justamente quando a economia aquece, seguindo algo próximo a uma regra de Taylor, e a relação vira uma via de mão dupla: o juro afeta o hiato e o hiato afeta o juro. Há um segundo motivo, específico deste exercício: o hiato de juros é uma variável construída a partir de uma tendência estimada, e carrega erro de medida. Nos dois casos, mínimos quadrados produzem coeficientes viesados. A solução é instrumentar o hiato de juros com defasagens mais distantes, correlacionadas com a variável de interesse mas predeterminadas em relação ao choque do trimestre. O juro entra como média das defasagens 2 e 3, a janela em que a literatura brasileira localiza a transmissão de 6 a 9 meses; testando de uma a quatro defasagens, o coeficiente cresce com o prazo e estabiliza a partir daí.

Os resultados

Componente Coeficiente Erro padrão p-valor
Constante 0,056 0,077 0,466
Hiato defasado (persistência) 0,890 0,034 < 0,001
Hiato de juros (média das defasagens 2 e 3) −0,199 0,042 < 0,001
Variação do resultado primário 0,222 0,137 0,105
Dummy crise de 2008 −1,589 0,118 < 0,001
Dummy pandemia −1,636 0,763 0,032

Curva IS estimada por IV-2SLS com matriz HAC. N = 87 trimestres (2004T4–2026T2), R² = 0,90, F do primeiro estágio = 1.859. Fontes: BCB e Focus.

A persistência de 0,89 diz que a economia sai devagar de onde está, e fica próxima do 0,85 que o próprio Banco Central reporta no boxe de junho de 2024 sobre o modelo em vigor. O coeficiente do juro de −0,20 responde à pergunta do título: um hiato de juros de 1 ponto percentual reduz o hiato do produto em 0,20 ponto por trimestre, dois a três trimestres depois. Acumulando o efeito pela persistência, o multiplicador de longo prazo é de −1,81, ou seja, um aperto permanente de 1 ponto custa cerca de 1,8 ponto de hiato. A meia-vida de um choque é de seis trimestres.

O coeficiente do BCB para o juro é maior, 0,44, e a diferença tem explicação. O Banco Central trata o juro neutro como variável não observável, estimada dentro do modelo por métodos bayesianos, enquanto aqui ele vem de uma tendência calculada fora da regressão. Uma medida ruidosa de hiato de juros atenua o coeficiente, mesmo com o instrumento. A variável fiscal não alcança significância e aparece com sinal positivo, retrato de uma substituição forçada: a planilha do resultado primário estrutural da Secretaria de Política Econômica saiu do ar, e o resultado efetivo que a substitui melhora sozinho quando a economia aquece, o que a regressão lê como efeito do fiscal sobre a atividade.

Hiato do produto observado pelo Banco Central e valores ajustados pela Curva IS estimada, de 2004 a 2026
Ajuste do modelo: o hiato observado e o valor previsto pela curva. O maior desvio fica na pandemia, que nenhuma dummy captura por completo.

A decomposição que abriu o post fecha a leitura. A inércia domina em qualquer trimestre, que é a tradução visual da persistência de 0,89. A contribuição do juro aparece negativa e persistente no aperto de 2015 e 2016, vira positiva quando a Selic cai a 2% em 2020 e 2021, e volta a pesar contra a atividade no ciclo de alta a partir de 2023. Os resíduos acusam autocorrelação e caudas pesadas concentradas em 2020, e é por isso que a matriz de covariância robusta não é opcional: sem ela os erros padrão sairiam subestimados e a significância, inflada.

As ferramentas por trás

Logo do Python
Python, com python-bcb para o SGS e o Focus, linearmodels para as variáveis instrumentais, statsmodels para o filtro HP e os testes de resíduos, e plotnine para os gráficos.
Logo do Banco Central do Brasil
Banco Central do Brasil, fonte do hiato do produto (anexo do Relatório de Política Monetária), das expectativas Focus e do resultado primário (SGS 5793).

O que o exercício revela

  • A política monetária age com defasagem e por muito tempo. O efeito de um aperto aparece dois a três trimestres depois e leva um ano e meio para se dissipar pela metade. É o que explica por que o hiato fechou em 2021 e 2022 enquanto a Selic subia onze pontos: a alta ainda não tinha chegado à atividade.
  • O juro neutro decide o resultado. Trocar a forma de tratar a ponta do filtro moveu o neutro em mais de um ponto percentual; a leitura em tempo real pode diferir da final em dois pontos. Quem estima uma Curva IS passa mais tempo com o neutro do que com a regressão.
  • A variável fiscal pede o conceito certo. Sem o resultado estrutural, a regressão confunde arrecadação que sobe com a economia com decisão de política fiscal, e o coeficiente sai com o sinal trocado.

Considerações finais

Estimar a Curva IS que o Banco Central usa, com os mesmos dados públicos que ele publica, cabe em um notebook. O que antes exigia acesso a sistemas proprietários e a uma equipe de modelagem hoje se resolve com uma API de expectativas, uma planilha do Relatório de Política Monetária e duas bibliotecas de Python. O que continua exigindo critério é a economia por trás de cada escolha: qual juro entra, com que defasagem, como tratar uma variável não observável e quando desconfiar de um coeficiente.

O Python é a ferramenta certa para esse trabalho porque reúne, no mesmo ambiente, a coleta direto das fontes oficiais, a construção das variáveis, a estimação com instrumentos e o gráfico que explica o resultado. O mesmo caminho se repete em quase todo problema de macroeconomia aplicada. O que muda é a pergunta:

  • Economista de banco ou gestora: projeta o hiato do produto sob cenários de Selic e traduz a decisão do Copom em atividade, com defasagens estimadas em vez de supostas.
  • Analista de política econômica: mede a potência da política monetária e discute o juro neutro com números próprios, em vez de repetir a hipótese de trabalho do Copom.
  • Pesquisador e estudante de pós-graduação: replica e estende a equação do MPP, adicionando o bloco externo ou estimando o sistema completo.
  • Analista de mercado e estrategista: lê o ciclo pela decomposição, separando o que é inércia, o que é juro e o que é choque, e antecipa a reação da atividade ao ciclo de cortes.

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

Você viu como a Curva IS funciona; aprenda a construir o modelo inteiro

Na Formação em Análise Macroeconômica você aprende a coletar, tratar e modelar os dados da economia brasileira em Python, do hiato do produto à regra de Taylor, com o mesmo método deste exercício. 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:


📩 O modelo continua valendo. O que mudou é a velocidade

Quem já sabe econometria tem a parte difícil resolvida: saber qual pergunta fazer e como checar se a resposta faz sentido. No Boletim AM eu mostro, todo dia, como a IA entra nesse trabalho — sem substituir o julgamento de quem entende o modelo.

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