Como construir uma Curva IS no Python

Neste post mostramos como podemos construir um modelo que descreve a Curva IS a partir da linguagem Python. Passamos por todo o processo de construção de um exercício de dados, realizando a coleta, o tratamento, a modelagem e a demonstração dos resultados encontrados.

O objetivo do exercício será estimar uma versão da Curva IS do Modelo Semiestrutural de Pequeno Porte do BCB semelhante a descrita nesse Relatório 

(1)   \begin{align*}h_t = \beta_0 + \sum_{i>0} \beta_{1i} h_{t-1} + \sum_{j>0} \beta_{2j} r_{t-j} +\sum_{k > 0} \beta_{3k} \Delta sup_{t-k} + u_t\end{align*}

Basicamente, a Curva IS estimada irá descrever a dinâmica do hiato do produto com base em suas próprias defasagens, do hiato do juros real e da variação do superávit primário.

Para construir exercícios Macroeconométricos é necessário aprender as principais ferramentas da linguagem, juntamente com uma série de conhecimentos da área em que se está trabalhando. É para isso que você precisa ser aluno do nosso curso de Macroeconometria usando o Python, que permitirá que você aprenda a realizar análises de diferentes variáveis macroeconômicas.

Dados

O Hiato do produto é aquele construído pelo Banco Central, disponibilizado nos anexos estatísticos do Relatório de Inflação.

O hiato do juros é criado pela diferença entre o juros real ex-ante e o juro neutro, a taxa de juros real obtida pela taxa de juros nominal swap pré-DI de 360 dias deflacionada pela expectativa de inflação relativa ao período de vigência do contrato, o juro de equilíbrio segue uma proxy definida no Relatório de Inflação de dezembro de 2019, dada pela Selic esperada para t+3 deflacionada pela inflação espera para t+3.

A variação do superávit primário utilizada é aquela proveniente do resultado fiscal estrutural construído pela SPE.

Como estimamos a curva IS?

A Curva IS é estimada com base na equação descrita no início usando 2SLS com matriz de covariância robusta para evitar problemas na inferência dos parâmetros causados por autocorrelação e heterocedasticidade nos resíduos. Há também a adição de duas dummies para levar em consideração a crise de 2008 e a pandemia de Covid.

Resultados

A tabela abaixo apresenta os resultados

Código
                          IV-2SLS Estimation Summary                          
==============================================================================
Dep. Variable:              hiato_bcb   R-squared:                      0.9563
Estimator:                    IV-2SLS   Adj. R-squared:                 0.9531
No. Observations:                  73   F-statistic:                    7520.8
Date:                Wed, Feb 28 2024   P-value (F-stat)                0.0000
Time:                        15:08:46   Distribution:                  chi2(5)
Cov. Estimator:                kernel                                         
                                                                              
                                Parameter Estimates                                 
====================================================================================
                  Parameter  Std. Err.     T-stat    P-value    Lower CI    Upper CI
------------------------------------------------------------------------------------
Intercept            0.1008     0.0776     1.2987     0.1941     -0.0513      0.2530
d_covid             -2.4332     0.1623    -14.995     0.0000     -2.7513     -2.1152
d_subprime          -1.4406     0.1492    -9.6533     0.0000     -1.7331     -1.1481
hiato_juros_lag1    -0.0770     0.0349    -2.2089     0.0272     -0.1453     -0.0087
hiato_lag1           0.9646     0.0306     31.538     0.0000      0.9047      1.0246
sup_diff_lag1       -0.1822     0.4197    -0.4342     0.6642     -1.0048      0.6404
====================================================================================

Endogenous: hiato_juros_lag1, hiato_lag1, sup_diff_lag1
Instruments: hiato_lag1, juro_real_ex_ante_lag1, neutro_lag2, sup_diff_lag1
Kernel Covariance (HAC)
Debiased: False
Kernel: bartlett
Automatic Bandwidth: True
Bandwidth: 3

Vemos que houve um bom ajuste na curva estimada conforme o modelo utilizado.

A construção de gráficos dos resíduos demonstra o problema de autocorrelação.
Por fim, podemos construir um gráfico que exibe a contribuição de cada componente sobre os valores totais do Hiato do produto.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como treinar e selecionar os melhores modelos de previsão no Python?

Em previsão, há uma infinidade de modelos que podem ser usados. O processo de escolha do(s) modelo(s) deve ser empírico-científico, usando métodos que visem avaliar a generalização dos algoritmos para dados novos. Neste artigo, mostramos como implementar a metodologia de validação cruzada com algoritmos de machine learning no Python, exemplificando para a previsão do IPCA.

Como selecionar variáveis para modelos de previsão no Python?

Em oposição à crença popular, grande parte dos modelos de machine learning não produzem previsões magicamente. É papel do cientista de dados executar uma boa engenharia de variáveis para não cair no clássico problema de “garbage in, garbage out” (GIGO) em aprendizado de máquina. Neste sentido, aprender a fazer uma boa seleção de variáveis é fundamental e neste artigo exploramos algumas possibilidades práticas usando o Python.

Resultado IPCA-15 - Novembro/2024

A Análise Macro apresenta os resultados do IPCA-15 de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.