Desafio DIO + Santander 2025 • Ciência de Dados com Python
Este projeto envolve a construção de um pipeline de ETL para o mercado financeiro, aplicando os conceitos de ETL sobre dados reais de ações americanas, integrando também uma camada de Inteligência Artificial para geração de análises estratégicas.
1️⃣ Entrada do usuário (Ticker ou pergunta)
2️⃣ Camada de extração via API Alpha Vantage
3️⃣ Camada de transformação e tratamento dos dados
4️⃣ Camada de integração com IA (Gemini)
5️⃣ Camada de resposta ao usuário
Esse modelo garante escalabilidade, organização e separação de responsabilidades dentro do projeto.
O projeto consiste em um sistema que:
- Extrai dados financeiros de ações da bolsa americana via API da Alpha Vantage
- Realiza o tratamento e padronização desses dados
- Envia as informações tratadas para uma IA
- Retorna ao usuário uma análise automatizada e personalizada de longo prazo
- Disponibiliza também um assistente de investimentos interativo
O objetivo central é demonstrar, na prática, todas as etapas de um processo de ETL (Extract, Transform, Load), aplicadas em um cenário real de mercado financeiro, integrando:
- Coleta de dados reais
- Tratamento de dados
- Aplicação de Inteligência Artificial
- Entrega de valor direto ao usuário final
Ambiente e scripts
Versão alvo: 3.10+
Manipulação de dados
DataFrames para limpeza e transformação
Chamadas HTTP
Comunicação com Alpha Vantage
Notebook e documentação
Interface para experimentação e apresentação
Extração de dados financeiros
Documentação: https://www.alphavantage.co/documentation/
Motor de IA para análise
Documentação: https://ai.google.dev/gemini-api/docs/quickstart?hl=pt-br
- Aplicação prática de ETL em dados reais
- Integração entre mercado financeiro e IA
- Simulação de um ambiente próximo ao mercado profissional
- Desenvolvimento de um sistema interativo
- Projeto ideal para portfólio técnico em Ciência de Dados
O sistema possui dois modos de operação:
O usuário informa o código de uma ação americana (como AAPL, TSLA, MSFT) e o sistema executa:
- Extração dos dados via Alpha Vantage
- Tratamento e organização dos dados
- Envio dos dados para a IA
- Retorno de um resumo estratégico voltado ao longo prazo
O sistema também funciona como um assistente virtual, permitindo que o usuário tire dúvidas relacionadas a:
- Investimentos
- Finanças
- Ações
- Economia
Se a pergunta estiver fora desse tema, o sistema retorna uma mensagem de erro solicitando que o usuário refaça a pergunta dentro do contexto financeiro.
- Python instalado
- Acesso à internet
- Bibliotecas necessárias configuradas
- Chaves de API válidas
✅ Python 3.10 ou superior
O projeto exige que o usuário utilize suas próprias chaves gratuitas:
- Alpha Vantage: https://www.alphavantage.co/
- API de IA: Conforme a plataforma utilizada
O sistema opera através de um pipeline sequencial orquestrado pelo arquivo principal. Abaixo, detalhamos como os módulos interagem desde a inicialização até a entrega da análise.
graph TD
%% Inicialização e Configuração
Start([Início: python main.py]) --> Config[config.py: Carrega .env e API Keys]
Config --> Menu{Menu Principal}
%% Fluxo Opção 1: Análise de Ação
Menu -->|1. Analisar Ação| Input[/Input: Símbolo da Ação/]
Input --> Fetch[data_fetcher.py: Busca Dados<br/>na Alpha Vantage]
Fetch -->|Dados OK| Process[processing.py: Calcula<br/>Indicadores SMA/RSI]
Fetch -->|Erro| Menu
Process --> Vis[visualizer.py: Exibe<br/>Tabela e Gráficos]
Vis --> AI[ai_services.py: Gera<br/>Parecer com Gemini]
AI --> Menu
%% Fluxo Opção 2: Chat Financeiro
Menu -->|2. Assistente Financeiro| ChatInput[/Input: Pergunta do Usuário/]
ChatInput --> ChatValid[ai_services.py: Valida<br/>Tópico e Responde]
ChatValid --> Menu
%% Encerramento
Menu -->|3. Sair| End([Fim])
%% Estilização do Gráfico
style Start fill:#2ecc71,stroke:#27ae60,stroke-width:2px,color:#fff
style End fill:#e74c3c,stroke:#c0392b,stroke-width:2px,color:#fff
style Menu fill:#3498db,stroke:#2980b9,stroke-width:2px,color:#fff
style AI fill:#9b59b6,stroke:#8e44ad,stroke-width:2px,color:#fff
style ChatValid fill:#9b59b6,stroke:#8e44ad,stroke-width:2px,color:#fff
style Fetch fill:#f1c40f,stroke:#f39c12,stroke-width:2px,color:#2c3e50
style Config fill:#34495e,stroke:#2c3e50,stroke-width:2px,color:#fff
style Input fill:#e67e22,stroke:#d35400,stroke-width:2px,color:#fff
style ChatInput fill:#e67e22,stroke:#d35400,stroke-width:2px,color:#fff
O coração deste projeto está na aplicação prática do processo ETL (Extract, Transform, Load), que foi estruturado de forma clara, organizada e próxima de um ambiente real de dados no mercado financeiro.
Cada etapa foi pensada para garantir:
- Qualidade dos dados
- Confiabilidade das análises
- Integração eficiente com a Inteligência Artificial
A escolha da Alpha Vantage foi feita de forma estratégica para simular um cenário real de restrições de dados no mercado. No plano gratuito, a API apresenta as seguintes limitações:
- ✅ Acesso apenas a ações americanas
- ✅ Limite de 25 requisições por dia
- ✅ Periodicidade limitada para dados em tempo real
- ✅ Restrições em dados intradiários mais avançados
Essas limitações foram um fator decisivo para que a análise fosse direcionada exclusivamente para estratégias de longo prazo, garantindo coerência com a qualidade e disponibilidade dos dados.
Após a extração, os dados passam pela etapa mais crítica do projeto: a transformação dos dados. Esta fase é essencial para garantir que a IA receba informações limpas, organizadas e confiáveis.
As principais etapas de tratamento foram:
- ✅ Remoção de valores nulos ou inconsistentes
- ✅ Conversão correta dos tipos de dados (datas, preços, volumes)
- ✅ Padronização dos nomes das colunas
- ✅ Organização temporal dos registros
- ✅ Criação de estruturas adequadas para leitura da IA
- ✅ Filtragem de períodos relevantes para análise de longo prazo
A Inteligência Artificial depende diretamente da qualidade dos dados de entrada. Se os dados estiverem:
- Desorganizados
- Com tipos incorretos
- Com ruídos ou valores inválidos
➡️ A análise final também será comprometida.
Por isso, toda a transformação foi pensada para garantir que a IA consiga interpretar corretamente o comportamento do ativo ao longo do tempo, tornando a resposta final mais coerente e confiável.
Após a etapa de transformação, os dados tratados são carregados para a Inteligência Artificial (Gemini), que passa a receber um conjunto de informações estruturadas sobre a ação escolhida pelo usuário.
Nesse carregamento, a IA tem acesso a:
- Histórico de preços
- Variação ao longo do tempo
- Tendência geral do ativo
- Indicadores técnicos calculados a partir dos dados
Com base nessas informações, a IA gera uma análise em linguagem natural, voltada para estratégias de longo prazo, de forma clara e acessível ao usuário.
Durante a análise, alguns indicadores técnicos são utilizados como apoio para interpretar o comportamento da ação. Abaixo está uma explicação simplificada dos principais.
✅ RSI (Índice de Força Relativa)
O RSI é um indicador que mede a força do movimento de alta ou de queda de uma ação em um determinado período.
De forma simples:
-
Ele varia de 0 a 100
-
Indica se um ativo pode estar sobrecomprado ou sobrevendido
-
Quando o RSI está acima de 70: geralmente indica que a ação pode estar sobrecomprada
✅ Isso significa que muitos investidores compraram recentemente, e o preço pode estar temporariamente alto demais. -
Quando o RSI está abaixo de 30: geralmente indica que a ação pode estar sobrevendida
✅ Isso significa que muitos investidores venderam, e o preço pode estar temporariamente baixo demais.
No longo prazo, o RSI ajuda a:
- Identificar possíveis pontos de entrada mais seguros
- Evitar comprar um ativo quando ele já está muito esticado para cima
✅ Média Móvel
A média móvel é um indicador utilizado para suavizar as variações do preço ao longo do tempo. Em vez de olhar apenas o preço do dia, ela mostra o comportamento médio do ativo em um determinado período.
Ela é muito importante para:
- Identificar a tendência do ativo
- Entender se a ação está em um movimento de alta, de queda ou de lateralização
De forma geral:
- Quando o preço está acima da média móvel, o ativo tende a estar em uma tendência de alta
- Quando o preço está abaixo da média móvel, o ativo tende a estar em uma tendência de queda
No longo prazo, a média móvel ajuda a:
- Confirmar tendências
- Evitar decisões precipitadas baseadas em oscilações de curto prazo
A partir dessas informações, a IA consegue:
- Interpretar o momento do ativo
- Avaliar se ele está esticado para cima ou para baixo
- Identificar a tendência de longo prazo
- Gerar um resumo claro, educacional e útil para o usuário
Tudo isso é apresentado de forma acessível, mesmo para pessoas que nunca tiveram contato com investimentos antes.
Windows.PowerShell.2025-11-29.21-10-53.1.mp4
Este guia detalha o processo para configurar e executar o Consultor Financeiro AI em sua máquina.
Certifique-se de ter o Python 3 instalado em seu sistema operacional.
# Cria o ambiente virtual
python -m venv venv
# Ativação do ambiente (macOS/Linux)
source venv/bin/activate
# Ativação do ambiente (Windows)
venv\Scripts\activateInstale as dependências externas do projeto com o seguinte comando:
pip install pandas requests python-dotenv google-genai matplotlibO sistema requer duas chaves de API.
API Alpha Vantage: Obtenha sua chave no site da Alpha Vantage.
API Google Gemini: Obtenha sua chave de API do Gemini no Google AI Studio.
Crie um arquivo chamado .env no diretório raiz do projeto e insira as chaves obtidas, substituindo os valores de exemplo:
# Chave para buscar dados financeiros
API_KEY_ALPHA="SUA_CHAVE_ALPHA_VANTAGE_AQUI"
# Chave para o modelo de IA do Google Gemini
API_KEY_GEMINI="SUA_CHAVE_GEMINI_AQUI"Com o ambiente ativo e as chaves no lugar, execute o arquivo principal:
python main.py├── .git/
├── __pycache__/
├── .env
├── ai_services.py
├── config.py
├── data_fetcher.py
├── main.py
├── processing.py
├── README.md
└── visualizer.py| 👤 Nome: | Lucas Pimenta Barretto | |
| linkedin.com/in/lucaspimentabarretto | ||
| 💼 Portfólio | Data Science Portfolio |