Índice de Tom das Atas do Copom com LLMs e Python

Este artigo apresenta um tutorial sobre como construir um Índice de Tom para as atas do Copom utilizando Grandes Modelos de Linguagem (LLMs) e Python. Mostramos o processo de coleta de dados via API do BCB, engenharia de prompt com o Google Gemini e calibração do índice via regressão linear para expressá-lo em unidades equivalentes à taxa Selic. O resultado é um indicador quantitativo que mede o sentimento (hawkish vs. dovish) da comunicação do Banco Central.
Gráfico de linha e pontos intitulado "Índice de Tom das Atas do Copom", cobrindo o período de 2020 a 2026. A linha vermelha contínua representa o índice de tom calibrado, expresso em pontos percentuais equivalentes à Selic. Os pontos em formato de diamante cinza marcam a variação real da taxa Selic em cada reunião. O gráfico demonstra a alta correlação entre o tom da ata e a decisão de juros, capturando o ciclo de aperto monetário de 2021-2022 e o ciclo de afrouxamento iniciado em 2023.

Dá para ler as atas do Copom com um modelo de linguagem e virar cada reunião em um número: um índice de tom que mede se a comunicação do Banco Central está mais hawkish (inclinada a subir juros) ou dovish (inclinada a cortar). Neste tutorial, montamos esse índice em Python com o Gemini do Google e o calibramos em pontos percentuais da própria Selic.

O ponto de partida é o texto das atas, denso e cheio de nuance, que analistas de mercado leem palavra por palavra para antecipar a Selic. O resultado é um indicador quantitativo que acompanha os ciclos de política monetária de 2020 a 2026, construído com dados públicos do Banco Central.

Índice de tom das atas do Copom calibrado em pontos da Selic, de 2020 a 2026, comparado à variação real da taxa
Índice de tom (linha laranja) frente à variação efetiva da Selic (losangos). Fonte: BCB/SGS; modelo Gemini.

A linha laranja é o tom das atas convertido em pontos da Selic; os losangos são a variação efetiva da taxa em cada reunião. As duas séries andam juntas nos grandes ciclos: a queda de 2020, o aperto de 2021-2022 e o novo aperto a partir de 2024.

Quer construir este índice?

O código completo em Python (coleta das atas e da Selic via API do BCB, pontuação de tom com o Gemini via LangChain e calibração OLS) vai para os assinantes do Boletim AM. Assine, é gratuito, e receba no seu e-mail o notebook pronto para rodar no Colab.

Assinar o Boletim AM e receber o código →

Por que ler o tom das atas do Copom

A comunicação de um banco central é, por si só, um instrumento de política monetária. A escolha de palavras como "cautela", "parcimônia" e "vigilância" sinaliza a direção futura dos juros antes mesmo de qualquer decisão de taxa.

Termos como hawkish e dovish resumem esse tom. Uma comunicação hawkish (do inglês hawk, falcão) trata a inflação como ameaça e prepara o terreno para juros mais altos; uma dovish (de dove, pomba) enfatiza a atividade fraca e abre espaço para cortes. Ler esse tom cedo é o que permite antecipar o rumo da Selic.

Métodos anteriores contavam palavras a partir de dicionários de termos hawkish e dovish, como o de Loughran e McDonald. Um modelo de linguagem vai além da contagem: interpreta contexto e semântica, o que aproxima a leitura automática da interpretação econômica que um analista faria.

Como o índice foi construído

O pipeline tem três etapas, todas em Python, do texto bruto ao indicador calibrado. Cada uma resolve um problema distinto: obter e enxugar o texto, extrair o tom e traduzir esse tom em unidades da Selic.

📄

1. Coleta e limpeza
Baixa as atas e a série da Selic pelas APIs do BCB e isola as seções de diagnóstico e riscos.
🤖

2. Score de tom (LLM)
O Gemini lê cada ata e devolve um score de -3 (dovish) a +3 (hawkish), em formato numérico garantido.
📐

3. Calibração OLS
Uma regressão traduz o score qualitativo em pontos percentuais equivalentes da Selic.

1. Coleta e limpeza dos dados

O primeiro passo baixa todas as atas do Copom desde a reunião 232 (agosto de 2020) e a série histórica da meta Selic, direto das APIs públicas do Banco Central. O texto vem em HTML, então uma limpeza remove tags, notas de rodapé e espaços excessivos, deixando texto puro para o modelo ler.

Nem toda a ata carrega o mesmo sinal. O diagnóstico da conjuntura (Seção A) e o balanço de riscos (Seção B) concentram a informação sobre o tom; as seções seguintes apenas anunciam a decisão já conhecida. O código isola A e B, o que reduz em cerca de metade o texto enviado ao modelo sem perder o que importa para o índice.

2. Score de tom com o Gemini

Esta é a etapa central. O modelo gemini-flash-lite-latest recebe a persona de um economista sênior do Banco Central e uma escala de pontuação de -3.0 (fortemente dovish) a +3.0 (fortemente hawkish). O prompt traz âncoras explícitas para cada faixa, o que mantém os scores consistentes entre atas com linguagem parecida.

Uma instrução é decisiva: avaliar apenas o tom implícito no texto e ignorar a decisão de taxa já anunciada na ata. Sem isso, o modelo tenderia a "ler a resposta" em vez de medir a comunicação. O foco fica na linguagem sobre inflação, na ancoragem de expectativas e na sinalização prospectiva.

Para o resultado ser utilizável, o modelo é forçado a devolver uma saída estruturada: um JSON com um único número, validado por um schema. Isso elimina a leitura frágil de texto livre e garante que cada ata vire um score numérico pronto para a próxima etapa.

3. Calibração em pontos da Selic

O score de -3 a +3 é qualitativo. Para dar-lhe significado econômico, uma regressão linear (OLS) liga o score bruto à variação efetiva da Selic em cada reunião. O índice calibrado passa a ser expresso em pontos percentuais equivalentes da taxa, na mesma unidade que o mercado acompanha.

Parâmetro da regressão Valor Leitura
β (sensibilidade) +0,38 p.p. cada ponto no score de tom equivale a ~0,38 p.p. de Selic
α (intercepto) -0,11 viés da taxa com tom neutro
0,386 o tom explica ~39% da variação da Selic entre reuniões

Calibração OLS do índice de tom sobre a variação da Selic (46 reuniões, 2020-2026). Fonte: BCB/SGS.

Um R² de 0,39 diz que o tom das atas, sozinho, dá conta de cerca de 39% do movimento da taxa entre reuniões. A decisão depende de outros fatores, mas a linguagem, isolada, já carrega sinal econômico mensurável.

O que os resultados revelam

O índice calibrado acompanha os ciclos de política monetária do período. O tom despenca para o campo dovish em 2020, sobe forte no aperto de 2021-2022, recua no início do ciclo de cortes e volta a subir a partir de 2024, no novo aperto.

Um segundo corte olha para a surpresa da comunicação. O gráfico abaixo mostra, para as reuniões mais recentes, o quanto o tom de cada ata se afastou da média histórica, em desvios padrão (z-score).

Surpresa de comunicação das atas do Copom em z-score nas reuniões recentes, indicando tom mais hawkish ou dovish que a média
Surpresa de comunicação (z-score) das atas recentes. Acima de zero: mais hawkish que a média; abaixo: mais dovish. Fonte: BCB; modelo Gemini.

Pontos acima de zero marcam uma comunicação mais hawkish que o usual; abaixo de zero, mais dovish. É a leitura que ajuda a identificar reuniões em que o Copom sinalizou uma mudança de rota, o tipo de sinal que costuma mexer com o mercado.

As ferramentas por trás

Logo do Python
Python — orquestra o pipeline inteiro, da coleta à visualização, com requests para as APIs e plotnine para os gráficos.
Logo do Google Gemini
Gemini (Google) — o modelo de linguagem que lê cada ata e devolve o score de tom.
LangChain — conecta o prompt ao modelo e garante a saída estruturada e as novas tentativas.
Logo do Banco Central do Brasil
Banco Central (BCB) — a fonte pública das atas do Copom e da série da meta Selic.

Considerações finais

Com algumas dezenas de linhas de Python e dados públicos, você reproduziu uma leitura que, até pouco tempo, dependia de horas de trabalho manual sobre o texto das atas. A comunicação do Copom virou um indicador quantitativo, na mesma unidade que o mercado usa para falar da Selic.

Python é a ferramenta certa para isso porque reúne, num só ambiente, a coleta via API, a chamada ao modelo de linguagem e a modelagem estatística. O mesmo caminho — coletar, tratar, extrair sinal e visualizar — se repete em quase todo problema de análise econômica e financeira. O que muda é a aplicação:

  • Analista de mercado: transforma comunicados e relatórios em indicadores de sentimento para antecipar decisões de juros.
  • Economista: mede de forma sistemática a comunicação de bancos centrais e testa seu poder preditivo sobre a política monetária.
  • Gestor e trader: monta sinais de tom para incorporar a leitura das atas em cenários e estratégias.
  • Risco: monitora surpresas de comunicação que podem antecipar mudanças de rota do comitê.

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

Você viu como funciona; aprenda a construir do zero

A Formação Do Zero à Análise de Dados Econômicos e Financeiros usando Python e IA ensina, sem pré-requisito, o caminho completo que este exercício usa: coletar dados públicos, aplicar modelos de linguagem e visualizar resultados em Python. 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:


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