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

Estimamos no Python uma regra de Taylor com mudança de regime para a Selic, com dados do Banco Central e da IFI. O tutorial compara especificações, confere a convergência e mostra a matriz de transição, a duração e as probabilidades dos regimes.
Selic trimestral com os períodos do regime ativo estimados por Markov Switching no Python

O modelo de Markov Switching permite estimar uma regra de política monetária cujos coeficientes mudam ao longo do tempo. Aplicado à Selic, ele responde a uma pergunta que a regressão comum não alcança: o Banco Central reagiu sempre da mesma forma à inflação esperada e à atividade, ou houve fases com comportamentos diferentes?

Neste tutorial, estimamos no Python uma regra de Taylor com mudança de regime para a Selic trimestral, de 2000 até o dado mais recente, com dados do Banco Central e da Instituição Fiscal Independente. Antes de interpretar os regimes, comparamos especificações, conferimos a convergência da estimação e calculamos quanto tempo cada regime dura.

Selic trimestral com os períodos do regime ativo estimados por Markov Switching no Python
As faixas marcam os trimestres com mais de 50% de probabilidade do regime ativo. Fontes: BCB e IFI.

Na figura acima, a linha é a Selic e as faixas marcam os trimestres em que o modelo atribui mais de 50% de probabilidade ao regime ativo, aquele em que a Selic responde com mais força às expectativas de inflação. As faixas vêm em blocos: 2003, de 2008 a 2011 e de 2017 a 2022. Ou seja, os regimes são fases longas, e não oscilações de um trimestre para o outro.

📩 Boletim AM

Receba análises e conteúdos sobre modelos estatísticos clássicos, econometria feita com hipóteses sérias e LLMs acessados em ambientes de trabalho reais, tudo aplicado à economia, ao mercado financeiro e à análise de dados.

Assinar o Boletim AM →

O que é um modelo de Markov Switching

Modelos de Markov Switching Regression (MSDR) são ferramentas estatísticas que permitem analisar séries temporais com mudanças abruptas no comportamento. Eles supõem que a série é gerada por um processo que alterna entre diferentes regimes, cada um com os seus próprios coeficientes.

O regime não é observado diretamente. O que observamos é a Selic, a inflação esperada e a atividade, e o regime precisa ser inferido a partir da relação entre essas variáveis. O modelo devolve, para cada trimestre, a probabilidade de cada regime.

A troca de regime segue uma cadeia de Markov, um processo em que o estado futuro depende apenas do estado atual. Na prática, a chance de a política monetária mudar de fase no próximo trimestre depende só da fase em que ela está agora.

Regime de política monetária: uma fase em que o banco central reage aos mesmos sinais com a mesma intensidade. Quando a intensidade muda de forma persistente, por exemplo depois de uma crise ou de uma troca de diretoria, dizemos que a política mudou de regime.

A regra de Taylor como ponto de partida

A regra de Taylor descreve como um banco central define os juros a partir de dois desvios: o da inflação em relação à meta e o da atividade em relação ao seu potencial. Detalhamos a versão linear da regra em Regra de Taylor para o Brasil. A versão que usamos olha para a frente e inclui a Selic do trimestre anterior:

it = μ + ρ · it−1 + β · (πet − π*t) + γ · ht + εt

Aqui it é a Selic, it−1 a Selic do trimestre anterior, πe − π* o desvio da inflação esperada em relação à meta, h o hiato do produto e ε o choque que a regra não explica.

O coeficiente ρ mede a suavização dos juros. O Copom muda a taxa aos poucos, em passos de 0,25 ou 0,50 ponto, e por isso a Selic de hoje carrega boa parte da Selic de ontem. Quanto mais perto de 1, mais gradual é o ajuste.

Como o ajuste é gradual, o efeito de um desvio persistente da inflação se acumula até chegar a β / (1 − ρ). Se esse número passa de 1, os juros sobem mais que a inflação esperada e o juro real aumenta. Essa condição é o princípio de Taylor.

O que o Markov Switching acrescenta

Na regra acima, os coeficientes valem para a amostra inteira. O Markov Switching deixa cada um depender do regime St, de modo que cada fase tem a sua própria regra de Taylor:

it = μSt + ρSt · it−1 + βSt · (πet − π*t) + γSt · ht + εt

A troca entre regimes é governada pela matriz de transição, que guarda a probabilidade de passar de um regime para outro de um trimestre para o seguinte:

pij = P(St = j | St−1 = i)    e    E[Di] = 1 / (1 − pii)

A segunda expressão é a duração esperada do regime i. Se a chance de continuar no regime a cada trimestre é 0,9, ele dura em média 10 trimestres. Com 0,5, apenas 2. A diagonal da matriz diz, portanto, se os regimes são fases longas ou ruído.

Os dados e as etapas do método

Usamos quatro séries trimestrais, coletadas e tratadas no Python:

  • Taxa Selic: a taxa básica de juros, definida pelo Copom. Usamos a Selic efetiva do último mês de cada trimestre, do SGS do Banco Central. A coleta pelo SGS está explicada em Coletando dados da SELIC com o Python.
  • Expectativa de inflação: a mediana das projeções do mercado para o IPCA do ano seguinte, colhida pelo Banco Central no Relatório Focus. Mostramos como baixar essas projeções em Como coletar dados do Boletim Focus com o Python.
  • Meta de inflação: a meta do Conselho Monetário Nacional (CMN) para o mesmo ano da expectativa. Desde 2025 ela é contínua, de 3%.
  • Hiato do produto: a distância percentual entre o PIB efetivo e o PIB potencial, estimada pela IFI. O conceito e as formas de estimá-lo estão em Medindo o Hiato do Produto do Brasil usando Python.

O desvio da expectativa é a mediana do Focus menos a meta do ano projetado. Um desvio positivo indica que o mercado espera inflação acima da meta, o que pela regra de Taylor pede juros mais altos. A relação entre esse desvio e a credibilidade do Banco Central é o tema de Analisando a ancoragem das expectativas de inflação no Python.

Selic, desvio das expectativas de IPCA em relação à meta e hiato do produto, dados trimestrais
As três variáveis da regra de Taylor, de 2000 a 2026. Fontes: BCB e IFI.

No nosso exemplo, a base reúne 105 trimestres, do segundo trimestre de 2000 ao segundo de 2026. O último trimestre é o último com hiato publicado pela IFI.

1. Coletar
Selic e meta pelo SGS, expectativas pelo Focus (python-bcb) e hiato pela planilha da IFI (pandas).
2. Trimestralizar
Selic do último mês, média do desvio no trimestre e junção das séries pela data.
3. Comparar
Quatro especificações, cada uma estimada a partir de 20 pontos de partida (statsmodels).
4. Interpretar
Coeficientes por regime, matriz de transição, duração e probabilidades (plotnine).

Quantos regimes? Escolhendo a especificação

Antes de ler qualquer coeficiente, precisamos decidir quantos regimes estimar e se a variância do choque muda entre eles. Comparamos a regra linear (um regime), dois regimes com variância fixa, dois regimes com variância que troca e três regimes com variância fixa.

Por que não usar o teste de razão de verossimilhança? Porque, sob a hipótese de um regime a menos, os parâmetros do regime extra não são identificados, e a estatística deixa de seguir a distribuição qui-quadrado. Por isso, combinamos critérios de informação com dois diagnósticos: a duração dos regimes e a estabilidade da estimação.

A convergência da estimação

A verossimilhança de um modelo de mudança de regime tem vários picos locais, e o otimizador pode parar num deles conforme o ponto de partida. Por isso, estimamos cada especificação 20 vezes, a partir de valores iniciais sorteados, e ficamos com a de maior log-verossimilhança.

Log-verossimilhança final de 20 pontos de partida para cada especificação do modelo Markov Switching
Cada ponto é o resultado final de uma partida do otimizador.

Com dois regimes e variância fixa, as partidas se concentram em poucos valores entre −136 e −135, e várias chegam ao máximo. Com três regimes, os pontos se espalham por vários picos locais: o resultado depende de onde o otimizador começa.

Com a variância que troca, a log-verossimilhança salta para perto de −23. Esse salto é o sinal de uma solução degenerada: um regime se encaixa exatamente em poucas observações, sua variância vai a zero e a verossimilhança cresce sem limite. Ela não descreve uma fase da política monetária.

Especificação Log-veross. AIC BIC Menor variância Menor duração
1 regime (MQO) −152,3 314,6 327,9 1,11 –
2 regimes, variância fixa −134,8 291,6 320,8 0,58 10,7 trim.
2 regimes, variância troca −23,0 69,9 101,8 0,00 4,0 trim.
3 regimes, variância fixa −103,7 245,5 295,9 0,17 2,7 trim.

Comparação das especificações. Na variância que troca, o otimizador não converge. Fonte: elaboração própria com dados do BCB e da IFI.

A tabela sustenta três decisões. Dois regimes melhoram bastante sobre um: o BIC cai de 327,9 para 320,8, sinal de que a regra linear deixa de fora uma mudança real na resposta da Selic. A variância que troca sai, pela degeneração.

Três regimes têm BIC menor, de 295,9, mas um dos regimes dura em média 2,7 trimestres e o máximo depende do ponto de partida. Um regime de menos de um ano dificilmente descreve uma fase do Copom. Ficamos com dois regimes e variância fixa, a especificação mais simples com estimação estável.

A regra de Taylor em cada regime

O modelo numera os regimes de forma arbitrária. Para dar nome a eles, chamamos de regime ativo aquele com o maior coeficiente do desvio das expectativas, e de regime inercial o outro.

Coeficiente Regime ativo Regime inercial
Constante (μ) 2,40 (p < 0,01) −1,92 (p < 0,01)
Selic defasada (ρ) 0,72 (p < 0,01) 1,08 (p < 0,01)
Desvio da expectativa (β) 2,17 (p < 0,01) 1,01 (p < 0,01)
Hiato do produto (γ) 0,29 (p < 0,01) 0,16 (p = 0,08)
Resposta de longo prazo à inflação, β / (1 − ρ) 7,8 não converge (ρ ≥ 1)

Regra de Taylor estimada por Markov Switching com dois regimes e variância fixa. Fonte: elaboração própria com dados do BCB e da IFI.

No regime ativo, a Selic reage mais. No nosso exemplo, cada ponto de desvio das expectativas está associado a 2,17 pontos a mais de Selic no próprio trimestre, e a Selic defasada pesa 0,72. A resposta de longo prazo à inflação fica em 7,8, bem acima de 1: o princípio de Taylor vale nesse regime.

No regime inercial, a Selic quase repete o trimestre anterior. O coeficiente da Selic defasada fica em 1,08, e o desvio das expectativas e o hiato movem a taxa em passos menores. É o regime das fases de juros estáveis, em que o Copom mantém a taxa por várias reuniões ou a muda aos poucos.

Esses coeficientes descrevem associações condicionais ao regime, e não o efeito causal de um choque. A Selic também afeta as expectativas e o hiato, e a regra estimada não separa os dois sentidos. Para isolar o efeito de um choque de juros, o caminho é um modelo estrutural, como em Como construir um Vetor Autoregressivo Estrutural (SVAR) no Python?

Matriz de transição e duração dos regimes

De \ Para Ativo Inercial Duração esperada
Ativo 0,906 0,094 10,7 trimestres
Inercial 0,051 0,949 19,5 trimestres

Cada linha soma 1. Duração esperada = 1 / (1 − probabilidade de permanecer).

No nosso exemplo, a chance de continuar no regime ativo de um trimestre para o seguinte é de 0,906, o que corresponde a 10,7 trimestres, cerca de dois anos e meio. O regime inercial é ainda mais persistente: 0,949 de permanência e 19,5 trimestres de duração esperada, perto de cinco anos.

Probabilidade filtrada e suavizada

Como o regime não é observado, o modelo devolve duas probabilidades para cada trimestre. A filtrada usa só os dados até aquele trimestre, como um analista faria em tempo real. A suavizada usa a amostra inteira e revisa cada trimestre à luz do que veio depois.

Probabilidades filtrada e suavizada do regime ativo da política monetária brasileira
Probabilidade do regime ativo, filtrada (tracejada) e suavizada (contínua). Fontes: BCB e IFI.

Na figura acima, as duas curvas contam a mesma história nos períodos longos e se separam perto das viradas. Em 2017, por exemplo, a suavizada já passa de 50% enquanto a filtrada ainda está abaixo de 20%. A filtrada precisa de alguns trimestres de dados novos para reconhecer a mudança.

Os três blocos do regime ativo coincidem com fases em que a Selic se moveu muito, para cima ou para baixo: a saída da crise de confiança de 2002, a crise financeira de 2008 com o ciclo de alta de 2010, e o ciclo de cortes até 2% na pandemia seguido da alta de 2021 e 2022. Entre eles ficam as fases em que a taxa parou por várias reuniões.

Aplicações práticas

  • Leitura de conjuntura: a probabilidade filtrada do regime ativo funciona como um termômetro de quanto o Banco Central está reagindo aos dados no momento.
  • Projeção de juros: uma regra de Taylor com regimes gera cenários de Selic condicionais à fase da política, em vez de uma única trajetória média.
  • Estratégia em renda fixa: saber se a política está num regime inercial ou ativo muda a leitura do risco de movimento da curva de juros nos próximos trimestres.
  • Avaliação de credibilidade: a resposta de longo prazo à inflação em cada regime mostra se o princípio de Taylor vale em todas as fases ou só em algumas.
  • Outros problemas com quebras: o mesmo método data recessões, regimes de inflação e fases de volatilidade no mercado financeiro.

Considerações finais

A política monetária brasileira não seguiu uma única regra de Taylor desde 2000. Com dois regimes, o Markov Switching separa uma fase ativa, em que a Selic responde com força às expectativas, de uma fase inercial, em que ela quase repete o trimestre anterior. Cada fase dura mais de dois anos em média.

A escolha da especificação faz parte do resultado. Comparar critérios de informação, conferir a convergência a partir de vários pontos de partida e olhar a duração dos regimes vem antes de interpretar qualquer coeficiente. No Python, todas essas etapas cabem num único fluxo, da coleta no Banco Central ao gráfico final, e o exercício roda de novo a cada trimestre sem retrabalho.

O mesmo caminho de coletar, tratar, comparar modelos e interpretar se repete em muitas áreas:

  • Economistas de bancos e consultorias: acompanhar a reação do Copom e projetar a Selic com cenários por regime.
  • Gestores de renda fixa: ligar a fase da política monetária ao posicionamento na curva de juros.
  • Analistas de risco: modelar quebras de comportamento em séries de mercado.
  • Pesquisadores e estudantes: testar hipóteses sobre a condução da política monetária com dados públicos.

Aprenda a analisar a política monetária com Python

Na Formação em Análise Macroeconômica, você aprende a coletar, tratar e modelar os dados de juros, inflação, atividade e expectativas que aparecem neste exercício. Quem quer acesso a todas as formações tem o AM Black, a assinatura anual da Análise Macro.

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

Referências: Hamilton, J. D. (1989). A new approach to the economic analysis of nonstationary time series and the business cycle. Econometrica, 57(2). Taylor, J. B. (1993). Discretion versus policy rules in practice. Carnegie-Rochester Conference Series on Public Policy, 39. Statsmodels, Markov switching dynamic regression models.

Leia também:

📩 Modelo, dado e ressalva — todo dia

Este exercício é um recorte. No Boletim AM eu mostro econometria aplicada o ano inteiro, e 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