Dashboard Financeiro com IA e Shiny Python: Análise de Dados Abertos da CVM

Introdução

Analisar demonstrações financeiras de empresas de capital aberto é uma tarefa fundamental para investidores, economistas e analistas. No entanto, esse processo pode ser demorado e complexo, envolvendo a coleta de dados brutos, tratamento manual e a difícil tarefa de extrair insights relevantes de milhares de linhas em uma planilha. E se pudéssemos automatizar tudo isso em um dashboard interativo e ainda contar com um assistente de Inteligência Artificial para nos ajudar na interpretação?

Neste artigo, vamos mostrar o passo a passo de como construir uma poderosa ferramenta de análise financeira. Utilizaremos Python para coletar e tratar dados públicos da CVM, o framework Shiny for Python para criar um dashboard dinâmico e a IA Generativa do Google Gemini para gerar análises instantâneas.

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.

Quer obter o código e também aprender a como usar IA em Dados financeiros? Veja nosso curso Inteligência Artificial para Contadores e Administradores!

dashboard Dados Abertos CVM

Objetivo do Exercício

O objetivo é claro: transformar os dados brutos das Demonstrações Financeiras Padronizadas (DFP) das empresas listadas na bolsa brasileira em um dashboard interativo e inteligente. Com esta ferramenta, qualquer usuário poderá selecionar uma empresa, um período e um demonstrativo específico (Balanço Patrimonial, DRE ou DFC) e, além de visualizar os dados de forma organizada, poderá fazer perguntas em linguagem natural para obter uma análise resumida e focada nos pontos-chave, gerada por IA.

Como construir o Dashboard?

A construção de uma ferramenta tão completa pode ser dividida em cinco etapas lógicas, desde a obtenção dos dados até a integração da inteligência artificial.

1. Bibliotecas: As Ferramentas do Nosso Projeto

Para construir nossa aplicação, utilizamos um conjunto de bibliotecas Python robustas e especializadas. As principais foram:

  • Pandas: A espinha dorsal de toda a manipulação de dados, usada para ler, limpar, transformar e estruturar as informações financeiras.
  • Wget e ZipFile: Essenciais para a automação da coleta de dados, permitindo baixar os arquivos diretamente do portal da CVM e descompactá-los.
  • Shiny for Python: A biblioteca central para a criação do nosso dashboard. Com ela, construímos a interface do usuário (inputs, tabelas, layouts) e garantimos a reatividade, ou seja, a capacidade do dashboard de se atualizar automaticamente com base nas seleções do usuário.
  • Google Generative AI: O pacote que nos permite conectar nossa aplicação à API do Gemini, enviando os dados e os prompts do usuário para obter as análises geradas por IA.

2. Coleta de Dados: A Fonte Aberta da CVM (DFP)

A base de qualquer boa análise são dados de qualidade. Felizmente, a Comissão de Valores Mobiliários (CVM) disponibiliza um vasto acervo de informações em seu Portal de Dados Abertos. Para este projeto, focamos nos arquivos de Demonstrações Financeiras Padronizadas (DFP).

O processo de coleta foi automatizado da seguinte forma:

  1. Download do Cadastro: Primeiro, baixamos o arquivo cad_cia_aberta.csv, que contém informações de todas as companhias abertas. Filtramos este arquivo para obter uma lista de empresas ativas na bolsa, excluindo o setor financeiro para focar em empresas não-financeiras.
  2. Download dos Arquivos DFP: Em seguida, criamos uma rotina para baixar os arquivos anuais das DFPs, que são disponibilizados em formato .zip. Nosso script acessa o portal e baixa os dados para o período desejado (neste caso, de 2010 a 2022).
  3. Extração e Concatenação: Após o download, os arquivos são descompactados, e os dados de cada demonstrativo (Balanço Patrimonial Ativo, Passivo, DRE, etc.) de todos os anos são lidos e concatenados em arquivos únicos, preparando o terreno para a fase de tratamento.

3. Tratamento de Dados

Os dados brutos da CVM, embora completos, não estão prontos para visualização. A etapa de tratamento foi crucial e envolveu:

  • Filtragem de Contas: Selecionamos apenas as contas contábeis mais relevantes para uma análise macro, como “Ativo Total”, “Patrimônio Líquido”, “Receita de Venda” e “Lucro/Prejuízo do Período”.
  • Pivotagem da Tabela: Os dados originais vêm em formato “longo” (uma linha para cada conta). Nós os transformamos para o formato “largo” (ou “pivotado”), onde cada conta se torna uma coluna. Isso facilita a leitura e a análise.
  • Criação de Novas Métricas: Calculamos campos importantes que não vêm prontos, como o “Passivo Total”, subtraindo o Patrimônio Líquido do Passivo Total.
  • Limpeza e Formatação: Ajustamos os tipos de dados, principalmente as datas, para garantir que os filtros do dashboard funcionem corretamente.

4. Construção do Dashboard com Shiny Python

Com os dados limpos e estruturados, entramos na fase de visualização. O Shiny for Python se destaca por permitir a criação de dashboards web interativos usando apenas Python, sem a necessidade de escrever HTML, CSS ou JavaScript.

Os benefícios de construir um dashboard são imensos:

  • Democratização do Acesso: Transforma planilhas complexas em uma ferramenta intuitiva que qualquer pessoa da organização pode usar.
  • Tomada de Decisão Ágil: Permite a identificação de tendências, anomalias e padrões de forma visual e rápida.
  • Análise Dinâmica: O usuário pode explorar diferentes cenários (empresas, períodos) com apenas alguns cliques.

No nosso dashboard, implementamos:

  • Inputs Interativos: Caixas de seleção para o usuário escolher o demonstrativo e a empresa, além de um seletor de período.
  • Tabela Reativa: Uma tabela de dados que se atualiza instantaneamente com base nas seleções feitas, mostrando apenas as informações de interesse.
  • Layout Organizado: Utilizamos layout_columns para posicionar a tabela de dados e o assistente de IA lado a lado, criando uma experiência de usuário fluida.

5. Integração com a API do Gemini

Este é o grande diferencial do nosso projeto. A integração com uma IA Generativa como o Google Gemini eleva o dashboard de uma simples ferramenta de visualização para um verdadeiro assistente de análise.

O processo funciona da seguinte maneira:

  1. Prompt do Usuário: O usuário digita uma pergunta na caixa de texto do “AI Assistant”, como “Interprete o demonstrativo em 5 pontos-chaves”.
  2. Envio de Contexto para a IA: Nosso código pega a tabela de dados filtrada no momento, a converte para um formato de texto (markdown) e a envia para a API do Gemini junto com o prompt do usuário.
  3. Instrução de Sistema (Persona da IA): Para garantir respostas de alta qualidade, configuramos um system_instruction, dizendo ao Gemini para atuar como “um profissional experiente em contabilidade e análise de demonstrações financeiras”.
  4. Geração e Exibição da Resposta: O Gemini processa os dados e a pergunta, gera uma análise textual e a envia de volta para o nosso dashboard, que a exibe de forma clara e formatada para o usuário.

O resultado é uma análise concisa e especializada, gerada em segundos, que pode acelerar drasticamente o processo de interpretação de dados financeiros.

Quer aprender mais?

Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com as melhores ferramentas do mercado.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O papel da credibilidade do Banco Central na desinflação da economia

O objetivo deste trabalho é mensurar a credibilidade da política monetária brasileira através de diferentes métricas e verificar empiricamente se uma maior credibilidade contribui para a redução da inflação. Realizamos a modelagem econométrica usando o pacote {systemfit} disponível na linguagem. Ao fim, criamos um relatório reprodutível com a combinação Quarto + R.

Análise de Criptomoedas com Python

Aprenda a estruturar um pipeline de dados financeiros com Python. Ensinamos a construção de um dashboard automatizado para coleta, tratamento e visualização de criptomoedas via API.

Como Construir um Monitor de Política Monetária Automatizado com Python?

Descubra como transformar dados do Banco Central em inteligência de mercado com um Monitor de Política Monetária Automatizado. Neste artigo, exploramos o desenvolvimento de uma solução híbrida (Python + R) que integra análise de sentimento das atas do COPOM, cálculo da Regra de Taylor e monitoramento da taxa Selic. Aprenda a estruturar pipelines ETL eficientes e a visualizar insights econômicos em tempo real através de um dashboard interativo criado com Shiny, elevando o nível das suas decisões de investimento.

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.