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

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

Este artigo apresenta um tutorial completo sobre como construir uma ferramenta de análise financeira de ponta. Utilizando Shiny for Python, demonstramos a automação da coleta de dados das Demonstrações Financeiras Padronizadas (DFP) da CVM e o tratamento dessas informações com Pandas. O ponto alto do projeto é a integração da IA Generativa do Google Gemini, que atua como um assistente de análise, interpretando os dados filtrados pelo usuário e fornecendo insights contábeis e financeiros em tempo real. O resultado é um dashboard dinâmico que democratiza a análise de dados complexos e acelera a tomada de decisão.

Econometria, ML ou IA para previsão da PMS?

Prever a Pesquisa Mensal de Serviços (PMS/IBGE) é um desafio por natureza: trata-se de uma série mensal, sujeita a volatilidade e choques que vão de fatores sazonais a mudanças estruturais no setor. Para enfrentar esse problema, realizamos um exercício de comparação entre três abordagens de modelagem: econometria tradicional (ARIMA), machine learning (XGBoost) e inteligência artificial (TimeGPT).

Econometria, ML ou IA para previsão da PMC?

A previsão de indicadores econômicos é uma tarefa crucial para governos, empresas e investidores. No Brasil, a Pesquisa Mensal de Comércio (PMC) do IBGE, que mede a variação percentual do volume de vendas no varejo, é um dos termômetros mais importantes da atividade econômica. Diante da crescente disponibilidade de ferramentas e técnicas, surge a pergunta: qual a melhor abordagem para prever a PMC? A econometria tradicional, o machine learning (ML) ou a inteligência artificial (IA) generativa?

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.