Sentimento COPOM: Três IAs leram as atas...


Edição #196 | Newsletter Semanal da Análise Macro

Sentimento COPOM: medindo o tom da ata com três LLMs em paralelo

Fala, Reader, beleza por aí?

Último domingo do mês — dia de edição especial. Hoje quero te mostrar um projeto que construímos ao vivo, do zero, com o Claude Code na nossa última Imersão. Chama-se Sentimento COPOM.

A pergunta é simples: e se a gente pudesse medir o tom da ata do Copom? Não no olhômetro do economista de plantão. Em número. Calibrado. Reprodutível.

E há uma efeméride que torna o exercício ainda mais oportuno: o Copom completou 30 anos neste mês — foi criado em 20 de junho de 1996.

Comunicação de banco central, aliás, não é tema novo por aqui: foi exatamente sobre isso que defendi minha dissertação de mestrado, em 2015, com o ex-presidente do BC Gustavo Franco na banca.

Onze anos depois, o que mudou foi a ferramenta — hoje eu coloco três IAs para fazer essa leitura.

Joguei o problema para três LLMs em paralelo — Gemini, Claude e GPT — mesmo prompt, mesmos textos, mesma calibração.

E o resultado tem uma lição metodológica que vale para qualquer um usando IA em macro hoje. Bora destrinchar.

🎯 A pergunta — e a tese

A comunicação do BC é, ela mesma, instrumento de política monetária. Galípolo escolhe palavra a palavra. O mercado lê linha por linha. E a leitura é, na prática, subjetiva.

O exercício é converter essa leitura em índice quantitativo — uma nota de tom da ata. Para isso, peguei as atas desde a reunião 232 (ago/2020), recorte com regime de metas único e estrutura textual estável, seções A (conjuntura) e B (riscos).

Três provedores rodando em paralelo via LangChain, saída estruturada com Pydantic, scores calibrados por OLS contra a variação observada da Selic. Cache local, custo marginal ~0, reprocessar a amostra inteira sai por menos de US$ 1.

E a tese que emerge dos números:

Os três modelos concordam sobre a direção do tom (qual ata é mais hawkish, qual é mais dovish). Mas divergem sobre a intensidade com que essa direção vira variação da Selic. A escolha do provedor não é detalhe técnico — é decisão metodológica.

📊 Os números — três modelos, três réguas

Validação em três camadas: inferência in-sample (statsmodels.OLS, com SE, t, p, IC 95%), holdout nas últimas 6 reuniões e walk-forward com janela expansiva (treino mínimo de 20 atas). Os t-estatísticos vieram ≥ 3,6 para todos os modelos calibrados. Está tudo significante. A diferença está em quanto.

🥇 GPT-4.1-mini — líder out-of-sample

R² in-sample: ≈ 0,66

RMSE walk-forward: 0,357 p.p.

Ganho vs. baseline léxico: ~32%

Claude Haiku 4.5 — o sensível

R² in-sample: ≈ 0,43

β̂ (sensibilidade): +0,62 p.p. por unidade de score

Leitura: maior amplitude — mas não vira poder preditivo

Gemini Flash Lite — o conservador

R² in-sample: ≈ 0,35

β̂ (sensibilidade): +0,36 p.p. por unidade de score

Leitura: empata com Claude fora da amostra

Olha o que está acontecendo aqui. As correlações entre os scores brutos dos três modelos ficam entre 0,67 e 0,78 — eles concordam sobre qual ata é mais dura. Mas o β̂ calibrado vai de +0,36 a +0,62 p.p. por unidade de score. Mais de 70% de diferença na intensidade.

Em bom português: se você usar Claude, uma ata "+1 desvio de tom" vira +0,62 p.p. de Selic implícita. Se usar Gemini, vira +0,36. O mesmo texto. A mesma reunião. Réguas diferentes.

⚙️ Por que importa: a régua não é neutra

Para classificar virada de ciclo — saber se o Copom ficou mais hawkish ou mais dovish — qualquer um dos três serve. A correlação alta entre os scores garante isso.

Agora, para usar o índice como variável quantitativa — alimentar uma regra de Taylor, calibrar uma reação do mercado, comparar com forward guidance —, o provedor escolhido muda materialmente o resultado. Mesmo prompt, mesmos textos, leituras diferentes em p.p.

E tem um achado secundário que vale ouro: o modelo mais "sensível" no ajuste (Claude, β̂ alto, R² médio) não é o que melhor prevê fora da amostra. Quem ganha walk-forward é o GPT, com sensibilidade mais comedida e R² mais alto. Sensibilidade não compra poder preditivo. Validar fora-da-amostra é obrigatório.

Lição prática: a escolha do LLM em uma pipeline macro é uma decisão metodológica — comparável a escolher um deflator, um filtro HP ou uma janela de média móvel. Reporte o provedor. Reporte a versão. Valide fora da amostra. Sempre.

🛠️ Como foi feito — ao vivo, com Claude Code

O projeto inteiro foi construído na Imersão Claude Code da Análise Macro, do zero, em tela aberta. Stack:

  • Coletor automático das APIs do BCB — atas (PDF + texto) e Selic via SGS 432.
  • Três provedores em paralelo via LangChain, saída estruturada por Pydantic.
  • Cache local incremental — só processa ata nova, custo marginal ≈ 0.
  • Calibração e validação em statsmodels (OLS, walk-forward, holdout).
  • Paper reprodutível em Quarto + LaTeX, duas edições (auditável completa + edição do leitor).

Se você quer ver os slides públicos do projeto, estão aqui: vitorwilher.github.io/anthropic-academy-cursos/projetos/sentimento-copom.

🧠 Insight final

A IA não substitui o economista lendo a ata do Copom. Ela instrumenta essa leitura — transforma o subjetivo em série temporal auditável, comparável reunião a reunião, calibrada em unidade que o macroeconomista entende (p.p. da Selic).

Mas o exercício revela uma coisa que, sinceramente, eu não esperava com essa nitidez: três modelos de fronteira, mesmo prompt, mesmos textos — concordam na direção, divergem na intensidade. A "régua de IA" tem precisão de provedor. Não é bug. É a natureza do instrumento. E quem usar LLM como sensor macro sem reportar o provedor, a versão e a validação out-of-sample está, na prática, escondendo um grau de liberdade do leitor.

É o tipo de descoberta que só aparece quando você roda os três em paralelo. E é exatamente por isso que vale a pena construir essas coisas no detalhe.

📎 Material da semana

📄 Working paper completo — abstract, metodologia, tabelas de regressão e PDF para download, no portfólio.

📊 Slides do projeto — a apresentação do Sentimento COPOM, construído ao vivo na Imersão Claude Code.

📄 Resumo da semana (PDF) — o digest das newsletters de IA da semana.

🎧 Ouça em podcast — o resumo da semana em áudio.

Um abraço,

Vítor Wilher
Análise Macro

A verdade está nos dados.

Boletim AM

Receba todo domingo à noite em seu e-mail nossa newsletter com exercícios reais de análise de dados econômicos e financeiros, envolvendo muito estatística, econometria, machine learning e inteligência artificial em R e Python. Tudo o que você precisa saber para estar antenado no mundo dos dados!

Read more from Boletim AM

EDIÇÃO #195 | NEWSLETTER SEMANAL DA ANÁLISE MACRO Quanto custa sua Inteligência Artificial? Fala, Reader, beleza por aí? Domingo, fim de tarde, e eu começo com uma pergunta meio chata. Pega o ChatGPT Pro no topo, US$ 200 por mês. Quanto custa, de verdade, entregar isso pra você? A resposta apareceu essa semana num estudo da SemiAnalysis. Em uso agêntico maximizado, o plano de US$ 200 pode custar até US$ 14.000 por usuário à OpenAI em compute. O Claude Max equivalente, da Anthropic, custa...

EDIÇÃO #194 | NEWSLETTER SEMANAL DA ANÁLISE MACRO Mais inteligência artificial, mais juros? Fala, Reader, tudo bem por aí? Finalzinho de domingo, o time do Ancelotti te decepcionou (de novo), então nos resta voltar à realidade... Hoje eu queria compartilhar com você um pensamento que o meu agente de IA (de notícias) está me trazendo há algumas semanas e eu ainda não dei muita bola... A promessa inicial da IA era simples: seria um choque positivo de produtividade, derrubaria custos, e portanto...

Edição #193 | Newsletter Semanal da Análise Macro O PIB não está vendo a IA Fala, Reader, tudo certo por aí? Domingo, fim de tarde, semana fechando — e duas notícias aparentemente desconexas ficaram batendo na minha cabeça desde quarta. Uma é um working paper do Peterson Institute mostrando que a economia de IA dos EUA cresceu mais de 2.500% ao ano em 2024 e 2025 — e é praticamente invisível no PIB oficial. A outra é o S-1 confidencial da Anthropic, protocolado na SEC dia 1º de junho, a um...