Dashboard pessoal em Streamlit para gestão de uma carteira focada em renda passiva mensal (FIIs, Fiagros e ações pagadoras de dividendos), com identidade visual inspirada no app do BTG Pactual.
Projeto pessoal de portfólio. Construído como ferramenta real de gestão, com foco em decisões objetivas, livres de emoção e orientadas a yield.
Telas adicionais em Carteira · Calendário · Protocolo do Troco. Todas as capturas usam dados fictícios dos templates
config/*.exemplo.json.
- Foco exclusivo em renda mensal previsível, ignorando oscilação de curto prazo
- Sem day trade, COE novo, cripto ou produtos sem liquidez
- "Protocolo do Troco": no fim do mês, somar tudo que entrou e reinvestir no ativo com melhor score (P/VP descontado + DY alto)
- Operação 100% via home broker (BTG Pactual)
- Decisões matemáticas, baseadas em P/VP, DY anualizado e Yield on Cost (YOC)
| Página | O que faz |
|---|---|
| Visão Geral | KPIs (patrimônio, renda mensal, yield), camadas de proteção em donut, "Bola de neve" histórica de proventos, gap para a meta |
| Minha Carteira | CRUD de ativos, lançamento manual de aportes com filtro por período, importação de extratos B3 (Movimentação / Negociação em Excel), configuração de patrimônio e meta |
| Calendário de Recebimentos | Projeção dia a dia dos rendimentos do mês, separados por categoria (FII, Fiagro, Legado, COE Cupom, COE Vencimento) |
| Projeção de Renda | Simulador "quando bato a meta de renda mensal" considerando aportes médios e reinvestimento de proventos |
| Protocolo do Troco | Soma proventos do período e mostra o Radar de Oportunidades com diagnóstico (🟢 COMPRA FORTE / 🟡 NEUTRO / 🔴 ÁGIO) por P/VP × DY |
| Legados e Vencimentos | Gestão de COEs, CRIs e CRAs com alertas automáticos de vencimento (< 30 dias) |
- DY anualizado — soma dos últimos 12 meses de proventos / preço atual (via yfinance)
- YOC anualizado — proventos anualizados / preço médio de aquisição
- Score de oportunidade —
P/VP × 0.6 − DY × 0.4(menor = melhor compra) - Camadas de proteção — alocação atual vs alvo (Papel CDI / Tijolo / Híbrido)
- Reconciliação automática entre patrimônio declarado e calculado
- Streamlit — UI multi-página com
st.navigation(roteador programático) - Plotly — gráficos (donut de alocação, barras empilhadas no calendário, linha de projeção)
- Pandas — manipulação de dados e Styler condicional nas tabelas
- yfinance — cotações ao vivo da B3 e histórico de dividendos
- openpyxl — parser dos extratos Excel da Área do Investidor B3
- SQLite — persistência local (banco fica em
data/carteira.sqlite, fora do Git)
.
├── app.py Roteador puro com st.navigation
├── requirements.txt
├── LICENSE
├── README.md
├── iniciar.bat Atalho Windows para subir o dashboard
│
├── .streamlit/
│ └── config.toml Tema BTG Pactual (dark mode, azul + turquesa)
│
├── config/
│ ├── carteira.exemplo.json Template de seed (ativos)
│ └── eventos.exemplo.json Template de seed (COEs, CRIs, calendário)
│
├── data/
│ └── .gitkeep Banco SQLite gerado no 1º run (fora do Git)
│
├── pages/
│ ├── visao_geral.py ┐
│ ├── carteira.py │ Dashboards
│ ├── calendario.py ┘
│ ├── projecao.py ┐
│ ├── troco.py │ Estratégia
│ └── legados.py ┘
│
└── src/
├── coletor.py yfinance (cotações, DY, P/VP)
├── indicadores.py DY, YOC, totalizadores, projeção
├── persistencia.py Camada SQLite + migrações de schema
├── importador_b3.py Parser dos Excel da B3
├── calendario.py Builder do calendário mensal
├── camadas.py Mapeamento ticker → camada de proteção
├── formato.py Formatação BR (1.234,56 / dd/mm/yyyy)
└── ui.py Tema, paleta de cores e CSS BTG
- Python 3.11+
- Windows / Linux / macOS (testado em Windows com PowerShell)
git clone https://github.com/brunoinnacio/Carteira_de_investimentos_IA.git
cd Carteira_de_investimentos_IA
python -m venv .venv
.\.venv\Scripts\Activate.ps1 # Linux/Mac: source .venv/bin/activate
pip install -r requirements.txtOs arquivos com dados pessoais reais (config/carteira.json, config/eventos.json)
não são versionados. Você pode rodar com o sistema vazio e cadastrar tudo pela
UI, ou copiar os templates de exemplo para iniciar com algo:
copy config\carteira.exemplo.json config\carteira.json
copy config\eventos.exemplo.json config\eventos.jsonstreamlit run app.pyAbre em http://localhost:8501.
No Windows há também um atalho: dois cliques em iniciar.bat.
Todo o estado da carteira (posições, aportes, proventos) é persistido em um
banco SQLite local dentro de data/. Esse arquivo está no .gitignore
e nunca sai da sua máquina. Cotações vêm do Yahoo Finance via
yfinance — não há envio de dados para servidores externos.
- Histórico mensal de patrimônio (linha do tempo da curva de evolução real)
- Alertas por e-mail / Telegram para vencimentos < 7 dias
- Exportação para PDF do relatório mensal pós Protocolo do Troco
- Comparação setorial (CDI / IFIX / IBOV) na página de Projeção
- Backtest do score P/VP × DY contra realocações reais
- Containerização (Docker) para deploy próprio em VPS
MIT — uso livre, sem garantia. Não é recomendação de investimento.
Veja o disclaimer completo no arquivo LICENSE.
