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

Resultado PNADc Trimestral - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PNADc Trimestral do 3º trimestre de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Análise exploratória para modelagem preditiva no Python

Antes de desenvolver bons modelos preditivos é necessário organizar e conhecer muito bem os dados. Neste artigo, damos algumas dicas de recursos, como gráficos, análises e estatísticas, que podem ser usados para melhorar o entendimento sobre os dados usando Python.

Como usar modelos do Sklearn para previsão? Uma introdução ao Skforecast

Prever séries temporais é uma tarefa frequente em diversas áreas, porém exige conhecimento e ferramentas específicas. Os modelos de machine learning do Sklearn são populadores, porém são difíceis de aplicar em estruturas temporais de dados. Neste sentido, introduzimos a biblioteca Skforecast, que integra os modelos do Sklearn e a previsão de séries temporais de forma simples.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.