Regimes da Política Monetária Brasileira com Markov Switching no Python

Introdução

Este exercício explora a dinâmica da política monetária brasileira através de um modelo de Markov Switching no Python. O objetivo é identificar diferentes regimes de política monetária e como eles influenciam a taxa Selic, a meta de inflação e o hiato do produto.

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

O que é Markov Switching Regression Models

Modelos de Markov Switching Regression (MSDR) são ferramentas estatísticas que permitem analisar séries temporais com mudanças abruptas no comportamento. Esses modelos assumem que a série temporal é gerada por um processo que muda entre diferentes regimes, e que a probabilidade de transição entre esses regimes é governada por uma cadeia de Markov.

Uma cadeia de Markov é um processo estocástico que descreve a evolução de um sistema ao longo do tempo. Em uma cadeia de Markov, o estado futuro do sistema depende apenas do estado atual, e não de estados anteriores.

Em modelos de Markov Switching, a mudança de regime é modelada por uma cadeia de Markov. Isso significa que a probabilidade de transição para um determinado regime depende apenas do regime atual, e não de regimes anteriores.

Dados Utilizados no Exercício

Vamos nos basear em uma Regra de Taylor Forward-looking. Os dados utilizados neste exercício incluem:

  • Taxa Selic: A taxa de juros básica da economia brasileira, definida pelo Comitê de Política Monetária (Copom) do Banco Central do Brasil.
  • Meta de Inflação: A meta de inflação definida pelo Conselho Monetário Nacional (CMN).
  • Expectativa de Inflação: A expectativa de inflação do mercado para o IPCA, medida pela pesquisa Focus do Banco Central do Brasil.
  • Hiato do Produto: A diferença entre o produto potencial e o produto real da economia brasileira, medida pelo IFI.

A periodiciodade dos dados são trimestrais em compreendem o período de 2001Q3 até 2024Q4.

Modelo Markov Switching

O modelo utilizado neste exercício é um modelo de Markov Switching Regression com mudança de intercepto. O modelo assume que a taxa Selic é influenciada por três variáveis:

  • Taxa Selic defasada em um trimestre: Reflete a inércia da política monetária.
  • Desvio da expectativa de inflação em relação à meta: Reflete a resposta da política monetária à inflação.
  • Hiato do produto: Reflete a resposta da política monetária ao ciclo econômico.

Esse modelo também assume que a taxa Selic é influenciada por dois regimes de política monetária:

  • Regime 0: Um regime de política monetária restritiva, com um intercepto positivo e uma forte dependência da taxa Selic defasada.
  • Regime 1: Um regime de política monetária mais expansiva, com um intercepto negativo e uma menor dependência da taxa Selic defasada.

Estimamos por máxima verossimilhança, e os resultados são utilizados para analisar a dinâmica da política monetária brasileira.

Regra de Taylor com Markov Switching

O exemplo modela a taxa Selic como ruído em torno de um intercepto constante, mas onde o intercepto muda durante diferentes regimes. Também é adicionado variáveis independentes, conforme uma Regra de Taylor Forward-looking: Taxa Selic defasada em 1 trimestre, desvio da expetativa de inflação 4 trimestres à frente em relação a meta e o Hiato do Produto.

    \[r_t = \mu_{S_t} + r_{t-1} \beta_{S_t} + (\Pi^e_{t,t+4} - \Pi_{meta_{t+4}}) \beta_{S_t} + h_{t} \beta_{S_t} + \varepsilon_t \qquad \varepsilon_t \sim N(0, \sigma^2)\]

onde S_t \in \{0, 1\} e as transições dos regimes são

    \[\begin{split} P(S_t = s_t | S_{t-1} = s_{t-1}) = \begin{bmatrix} p_{00} & p_{10} \\ 1 - p_{00} & 1 - p_{10} \end{bmatrix}\end{split}\]

Estimaremos os parâmetros deste modelo por máxima verossimilhança.

Código
                        Markov Switching Model Results                        
==============================================================================
Dep. Variable:                  Selic   No. Observations:                   93
Model:               MarkovRegression   Log Likelihood                -150.784
Date:                Tue, 01 Apr 2025   AIC                            323.569
Time:                        09:13:36   BIC                            351.427
Sample:                    10-01-2001   HQIC                           334.817
                         - 10-01-2024                                         
Covariance Type:               approx                                         
                             Regime 0 parameters                              
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
const          4.3317      1.100      3.937      0.000       2.175       6.488
x1             0.6490      0.076      8.593      0.000       0.501       0.797
x2             0.0762      0.871      0.088      0.930      -1.631       1.783
x3             0.0047      0.284      0.017      0.987      -0.553       0.562
                             Regime 1 parameters                              
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
const         -0.2899      0.424     -0.683      0.494      -1.121       0.542
x1             1.0364      0.035     29.865      0.000       0.968       1.104
x2             0.2240      0.326      0.687      0.492      -0.415       0.863
x3             0.1842      0.073      2.514      0.012       0.041       0.328
                           Non-switching parameters                           
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
sigma2         1.2207      0.194      6.297      0.000       0.841       1.601
                         Regime transition parameters                         
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
p[0->0]        0.7776      0.169      4.609      0.000       0.447       1.108
p[1->0]        0.0624      0.044      1.415      0.157      -0.024       0.149
==============================================================================

Warnings:
[1] Covariance matrix calculated using numerical (complex-step) differentiation.

Regimes Identificados

  • Regime 0: Caracterizado por uma constante positiva (4.33) e um coeficiente significativo da defasagem da Selic (0.649, p < 0.01), indicando persistência na taxa de juros. As outras variáveis não são estatisticamente significativas.
  • Regime 1: A constante negativa (-0.29) sugere um patamar menor de juros, mas não é estatisticamente significativa. A defasagem da Selic tem coeficiente alto (1.036, p < 0.01), indicando forte dependência da Selic anterior. O hiato do produto tem impacto positivo e significativo (0.184, p = 0.012).

Transições Entre Regimes

  • p(0→0) = 0.7776 → Probabilidade de permanecer no regime 0 é alta.
  • p(1→0) = 0.0624 → Baixa chance de transição do regime 1 para o regime 0.

Interpretação Econômica

  • Regime 0 pode estar associado a períodos de juros altos e persistência da política monetária.
  • Regime 1 sugere um ciclo mais instável, onde o hiato do produto influencia a taxa Selic.
  • O impacto do desvio das expectativas de inflação não foi significativo em nenhum regime.

Plotamos as probabilidades filtradas e suavizadas da política monetária restritiva. Filtrada refere-se a uma estimativa da probabilidade no tempo t com base nos dados até e incluindo o tempo t (mas excluindo os tempos t+1, \ldots, T). Suavizada refere-se a uma estimativa da probabilidade no tempo t usando todos os dados da amostra.Análise de Regimes de Política Monetária: Modelo Markov Switching

Considerações

O modelo é útil para compreender os diferentes regimes da política monetária brasileira. No entanto, os resultados obtidos não foram suficientes para confirmar a explicação das variáveis selecionadas. As probabilidades geradas, quando comparadas com os padrões aceitos em modelos tradicionais, não sustentaram a necessidade de uma política monetária expansiva durante os períodos de alta inflação, sugerindo o contrário. Isso indica a necessidade de explorar novas especificações e abordagens para aprimorar os resultados.

Quer aprender mais?

Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.

Referência:
Statsmodels. (n.d.). Markov Switching Regression Example. Recuperado de https://www.statsmodels.org/dev/examples/notebooks/generated/markov_regression.html

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Regimes da Política Monetária Brasileira com Markov Switching no Python

Este exercício analisa a política monetária brasileira utilizando modelos de Markov Switching Regression. O objetivo é identificar diferentes regimes de política monetária e como eles influenciam a taxa Selic, a meta de inflação e o hiato do produto. Usamos a linguagem de programação Python para o processo de coleta, tratamento, análise e modelagem dos dados.

Como criar janelas móveis de séries temporais usando o Python

Janelas Móveis/Deslizantes, ou Rolling Windows, são termos frequentes na análise de séries temporais. Mas o que são e como aplicá-las no Python? Neste tutorial, mostramos como essa ferramenta é essencial para a análise de dados utilizando como exemplo a correlação móvel de ações brasileiras.

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.