Skip to content

thiagompta/portfolio-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 Portfolio Tracker

Dashboard interativo de análise de ações construído com Python, Streamlit e Plotly.

✨ Funcionalidades

Módulo Recursos
Análise de Ativo Gráfico de preço + MM20, candlestick, volume, KPIs de retorno, fundamentos, risco
Comparação de Carteira Evolução normalizada (base 100), tabela comparativa, matriz de correlação

🏗️ Arquitetura

stock_dashboard/
│
├── main.py                  # Entry point e roteamento de páginas
│
├── models/
│   └── stock.py             # Dataclasses: StockInfo, StockMetrics, PortfolioPosition
│
├── services/
│   ├── market_data.py       # I/O com yfinance (cache de 10 min)
│   └── metrics.py           # Cálculos financeiros puros (sem I/O)
│
├── ui/
│   ├── stock_view.py        # Página de análise individual
│   └── portfolio_view.py    # Página de comparação de carteira
│
└── utils/
    └── formatting.py        # Formatação de moeda, %, números grandes

Princípios de design:

  • Separação de responsabilidades: I/O, cálculo e UI em camadas distintas
  • Tipagem com dataclasses: modelos explícitos em vez de dicionários soltos
  • Cache inteligente: @st.cache_data(ttl=600) evita requisições repetidas
  • Funções puras em metrics.py: fáceis de testar e reutilizar

🚀 Como Rodar

# 1. Clone ou baixe o projeto
cd stock_dashboard

# 2. Crie um ambiente virtual
python -m venv .venv
source .venv/bin/activate        # Linux/Mac
# .venv\Scripts\activate         # Windows

# 3. Instale as dependências
pip install -r requirements.txt

# 4. Execute
streamlit run main.py

O dashboard abrirá automaticamente em http://localhost:8501.

📊 Tickers suportados

  • Ações EUA: AAPL, MSFT, GOOGL, TSLA
  • Ações BR: PETR4.SA, VALE3.SA, ITUB4.SA
  • Cripto: BTC-USD, ETH-USD, SOL-USD
  • ETFs: SPY, QQQ, BOVA11.SA

🔧 Possíveis melhorias

  • Autenticação com login
  • Persistência de carteiras no banco de dados
  • Alertas de preço por e-mail
  • Previsão de preços com ML (Prophet / LSTM)
  • Deploy no Streamlit Cloud

📦 Dependências principais

Lib Uso
streamlit Interface web interativa
yfinance Dados de mercado (Yahoo Finance)
plotly Gráficos interativos
pandas Manipulação de séries temporais
numpy Cálculos numéricos

Disclaimer: Este projeto é apenas educacional e não constitui recomendação de investimento.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages