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.

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.
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.
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:
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:
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:
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.

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.
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.

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.

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.
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.