Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Carteira de Renda Passiva — Dashboard BTG

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.

Python Streamlit SQLite Plotly License: MIT

Visão Geral do dashboard

Telas adicionais em Carteira · Calendário · Protocolo do Troco. Todas as capturas usam dados fictícios dos templates config/*.exemplo.json.


Filosofia

  • 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)

Funcionalidades

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)

Indicadores calculados pelo sistema

  • 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 oportunidadeP/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

Stack

  • 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)

Estrutura

.
├── 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

Como rodar

Pré-requisitos

  • Python 3.11+
  • Windows / Linux / macOS (testado em Windows com PowerShell)

Setup

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.txt

Configuração inicial (opcional — populamento de seed)

Os 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.json

Subir o dashboard

streamlit run app.py

Abre em http://localhost:8501.

No Windows há também um atalho: dois cliques em iniciar.bat.


Privacidade dos dados

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.


Roadmap

  • 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

Licença

MIT — uso livre, sem garantia. Não é recomendação de investimento. Veja o disclaimer completo no arquivo LICENSE.

About

Dashboard pessoal em Streamlit para gestao de carteira de renda passiva (FIIs e dividendos), com tema BTG Pactual e indicadores DY/YOC/P-VP.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages