Analisando o sentimento da política monetária com IA usando Python

Será que existe algo nas entrelinhas das atas de política monetária do Banco Central, além da decisão sobre a taxa de juros em si? Entender sobre os fatores que levaram os diretores a decidirem o nível da taxa de juros e sobre o que esperar para o futuro é importante, mas pode ser ainda mais relevante a compreensão sobre como, em que tom e com qual sentimento estes fatores foram discutidos.

Como dizem por aí, as palavras carregam sentimentos e, assim sendo, cabe aos analistas de política monetária investigar qual sentimento que as atas de política monetária carregam. Existem diversas formas de quantificar o sentimento de um texto, algumas são simples, outras são sofisticadas e outras são obscuras. Em geral, o objetivo é o mesmo: o texto expressa um sentimento positivo, negativo ou neutro?

Aprenda a coletar, processar e analisar dados na formação de Do Zero à Análise de Dados com Python.

Neste exercício, aplicamos a técnica de análise de sentimentos para as atas de política monetária no Brasil utilizando uma abordagem obscura, ou seja, através de modelos de inteligência artificial (IA) chamados de Modelos de Linguagem Grande (LLM, no inglês). A abordagem é obscura pois, ao contrário de outros exercícios com o mesmo objetivo, aqui não há muito controle sobre os resultados que são obtidos. Por outro lado, resultados podem ser obtidos sem muito esforço, o que é uma grande vantagem.

Com o objetivo de quantificar o sentimento das últimas 30 atas do COPOM, utilizamos o modelo LLM da Google, chamado Gemini, para construir um índice de 0 a 100 com o sentimento das atas — sendo 0 igual a sentimento negativo, 50 igual a sentimento neutro e 100 igual a sentimento positivo. Todo o procedimento é feito através do Python, permitindo a automatização da coleta de dados, processamento, engenharia de prompt e comunicação com a API.

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.

Passo 01: bibliotecas de Python

Para quantificar o sentimento da política monetária com IA, utilizaremos as seguintes bibliotecas no Python:

  • os para gerenciar chave de token da API do Google.
  • json para ler arquivos das atas do COPOM no formato JSON.
  • requests para fazer a comunicação com a API do Banco Central.
  • langchain_community para processar e armazenar as atas do COPOM.
  • langchain_google_genai para usar a API do modelo Gemini (Google).
  • langchain para estruturar a engenharia de prompt com os textos das atas do COPOM.
  • pandas para trabalhar com dados tabulares.
  • plotnine para gerar visualizações gráficas de dados.

Certifique-se de ter todas as bibliotecas instaladas.

Passo 02: autenticação na API do Google

Para utilizar o modelo de inteligência artificial Gemini, é necessário obter uma chave de token na plataforma Google AI Studio (veja mais informações aqui).

Com a chave de token em mãos, defina uma variável de ambiente com nome GOOGLE_API_KEY para armazenar a chave.

Atenção: a utilização da API do Google pode acarretar custos. Verifique o site da empresa para mais informações.

Passo 03: atas de política monetária do COPOM

Para analisar o sentimento das atas de política monetária do COPOM, é preciso fazer um processamento de dados, que envolve as seguintes etapas:

  • Definir quais atas serão analisadas (aqui utilizamos como amostra a partir da ata nº 232).
  • Importar a ata para o Python utilizando a API do Banco Central.
  • Extrair o conteúdo da ata em formato de texto e salvar metadados relevantes.

Passo 04: engenharia de prompt

Para que o modelo de inteligência artificial quantifique o sentimento da política monetária, é fundamental definir uma instrução clara sobre o que e como deve ser feito. Esse procedimento é feito seguindo estas etapas:

  • Definir qual modelo será utilizado e com quais configurações (aqui utilizamos o Gemini Pro com temperatura igual a zero).
  • Instruir o modelo de inteligência artificial a quantificar o sentimento do texto e retornar em um índice entre 0 e 100.
    Você é um cientista de dados experiente em machine learning e em NLP, dominando as técnicas de análise de sentimentos. Sua tarefa é analisar o sentimento do texto a seguir. Retorne o sentimento do texto em um índice de 0 a 100, sendo 0 o sentimento mais negativo, 100 o sentimento mais positivo e 50 o sentimento neutro:
    “{DOCUMENTO}”
    Índice:
  • Combinar a instrução, o texto da ata e as definições do modelo.

Passo 05: análise de sentimento da política monetária

Por fim, utilizamos as definições acima para obter a análise de sentimento da política monetária histórica para a amostra selecionada de atas do COPOM, conforme exposto no gráfico abaixo:

Conclusão

Análise de sentimentos é uma técnica de Processamento de Linguagem Natural (PLN) que serve para revelar o sentimento contido em um texto. Neste exercício, aplicamos esta técnica para analisar as atas das reuniões do COPOM, revelando o que os diretores de política monetária discutem nas entrelinhas. Utilizando um modelo de Inteligência Artificial através do Python, produzimos ao final um índice de 0 a 100 para sintetizar a análise histórica.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Deploy de modelos com Python + Shinylive + GitHub gastando ZERO reais

Colocar modelos em produção pode ser um grande desafio. Lidar com custos monetários, infraestrutura operacional e complexidades de códigos e ferramentas pode acabar matando potenciais projetos. Uma solução que elimina todos estes obstáculos é a recém lançada Shinylive. Neste artigo mostramos um exemplo com um modelo de previsão para o preço do petróleo Brent.

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

Criando um Dashboard de análise de Ações no Python

Um Dashboard é um painel de controle que consolida uma variedade de informações sobre um determinado objeto de estudo em um ou mais painéis. Ele simplifica significativamente o processo de análise de dados, oferecendo uma visão global e fácil de entender. Uma maneira simples de construir um Dashboard para acompanhar uma ação específica é utilizando duas ferramentas: Quarto e Python. Neste post, mostramos o resultado da criação de um Dashboard de Ação.

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.