Este projeto é um dashboard financeiro robusto, interativo e modular, desenvolvido em Python com Streamlit, para análise e acompanhamento de ativos do mercado financeiro brasileiro e internacional.
- Extração de dados: Scraping automatizado e fallback para Yahoo Finance (yfinance)
- Banco de dados: Persistência local via SQLite (pronto para migração para SQL Server)
- Gestão de portfólio: Cadastro, remoção e atualização automática de ativos
- Atualização automática de preços: Thread em background
- Indicador de mercado aberto/fechado (EUA): Com tempo até abertura/fechamento
- Gráficos interativos: Todos os gráficos com Plotly
- Métricas e análises avançadas:
- Retorno acumulado
- Volatilidade
- Drawdown
- Médias móveis
- RSI e MACD
- Correlação entre ativos (heatmap)
- Heatmap de retornos mensais
- Destaques do mercado: Métricas rápidas dos melhores e piores ativos
- Interface profissional: Layout limpo, responsivo e informativo
- Python 3.10+
- Streamlit
- Pandas
- Plotly
- SQLAlchemy
- SQLite (padrão, mas adaptável para SQL Server)
- yfinance
- Selenium (scraping)
- pytz
- Clone o repositório:
git clone https://github.com/BigLeno/streamlitPipeline.git
cd streamlitPipeline- Crie e ative um ambiente virtual (recomendado):
No Windows:
python -m venv env
.\env\Scripts\activateNo Linux/Mac:
python3 -m venv env
source env/bin/activate- Instale as dependências:
pip install -r requirements.txt- (Opcional) Instale o Chrome para uso do Selenium:
- Baixe o Chrome : https://www.google.com/intl/pt-BR/chrome/
streamlit run streamlit_app.pyO dashboard abrirá automaticamente no navegador padrão.
streamlit_app.py: Módulo principal do dashboardassets/: Módulos utilitários (scraping, banco, analytics, etc)requirements.txt: Dependências do projetohistoricos/: Arquivos de históricos baixados
- Scraping: Coleta de preços e históricos via Selenium, com fallback automático para yfinance em caso de erro
- Banco de dados: ORM SQLAlchemy, pronto para migrar para SQL Server (basta trocar a string de conexão)
- Atualização automática: Thread para atualização periódica dos preços
- Análises: Todas as métricas e gráficos são calculados em tempo real a partir dos dados históricos
- Interface: Streamlit + Plotly para visualização interativa e responsiva
- Para usar SQL Server, basta instalar o driver (ex:
pyodbc) e alterar a string de conexão no módulo de banco de dados. - O scraping pode exigir o ChromeDriver instalado e compatível com o navegador.
- O dashboard é modular e fácil de expandir com novas análises ou integrações.
BigLeno
Dúvidas ou sugestões? Abra uma issue ou entre em contato!