📈 Stock Price Predictor - LSTM Models
Tech Challenge Fase 4 - FIAP Pós-Tech ML Engineering
🎯 Overview
Este repositório contém modelos LSTM treinados para previsão de preços de ações do mercado americano.
Principais Características
- 🧠 Arquitetura: LSTM Bidirecional com Attention
- 📊 9 Ações: AAPL, GOOGL, MSFT, AMZN, META, NVDA, TSLA, JPM, V
- 📅 Dados: Janeiro 2021 - Dezembro 2024 (pós-COVID)
- 🎯 MAPE Médio: ~7% (excelente para previsões financeiras)
📊 Performance dos Modelos
Tabela de Métricas
| Símbolo | Empresa | MAPE | R² | Acurácia Dir. | Avaliação |
|---|---|---|---|---|---|
| MSFT | Microsoft | 3.47% ⭐ | 0.83 | 54.0% | Excelente |
| V | Visa | 3.72% ⭐ | -0.77 | 50.0% | Excelente |
| TSLA | Tesla | 5.61% | 0.88 | 46.6% | Muito Bom |
| GOOGL | Alphabet | 7.36% | 0.85 | 55.7% | Muito Bom |
| NVDA | NVIDIA | 7.50% | 0.81 | 46.0% | Muito Bom |
| META | Meta | 7.60% | 0.42 | 55.7% | Bom |
| AAPL | Apple | 8.28% | 0.04 | 52.3% | Bom |
| JPM | JPMorgan | 10.42% | -0.28 | 49.4% | Aceitável |
| AMZN | Amazon | 11.61% | -1.32 | 51.7% | Aceitável |
Interpretação
- MAPE < 5%: Excelente (MSFT, V)
- MAPE 5-10%: Bom (TSLA, GOOGL, NVDA, META, AAPL)
- R² > 0.8: Modelo captura bem a variância (TSLA, GOOGL, MSFT, NVDA)
🏗️ Arquitetura do Modelo
Features de Entrada (16)
| Categoria | Features |
|---|---|
| Preços | open, high, low, close |
| Volume | volume, volume_ma_7 |
| Médias Móveis | ma_7, ma_30, ma_90 |
| Volatilidade | volatility_7, volatility_30 |
| Momentum | momentum, roc_7, roc_30 |
| Variação | price_change, pct_change |
📁 Arquivos Disponíveis
Modelos (.pth)
| Arquivo | Tamanho | Descrição |
|---|---|---|
| ~3.3 MB | Modelo Apple | |
| ~3.3 MB | Modelo Alphabet | |
| ~3.3 MB | Modelo Microsoft | |
| ~3.3 MB | Modelo Amazon | |
| ~3.3 MB | Modelo Meta | |
| ~3.3 MB | Modelo NVIDIA | |
| ~3.3 MB | Modelo Tesla | |
| ~3.3 MB | Modelo JPMorgan | |
| ~3.3 MB | Modelo Visa |
Preprocessors (.pkl)
| Arquivo | Descrição |
|---|---|
| MinMaxScaler para cada símbolo |
Metadata (.json)
| Arquivo | Descrição |
|---|---|
| Hiperparâmetros e métricas |
🚀 Como Usar
Instalação
Requirement already satisfied: torch in ./venv/lib/python3.14/site-packages (2.9.1) Requirement already satisfied: huggingface_hub in ./venv/lib/python3.14/site-packages (1.1.7) Requirement already satisfied: scikit-learn in ./venv/lib/python3.14/site-packages (1.7.2) Requirement already satisfied: pandas in ./venv/lib/python3.14/site-packages (2.3.3) Requirement already satisfied: numpy in ./venv/lib/python3.14/site-packages (2.3.5) Requirement already satisfied: filelock in ./venv/lib/python3.14/site-packages (from torch) (3.20.0) Requirement already satisfied: typing-extensions>=4.10.0 in ./venv/lib/python3.14/site-packages (from torch) (4.15.0) Requirement already satisfied: setuptools in ./venv/lib/python3.14/site-packages (from torch) (80.9.0) Requirement already satisfied: sympy>=1.13.3 in ./venv/lib/python3.14/site-packages (from torch) (1.14.0) Requirement already satisfied: networkx>=2.5.1 in ./venv/lib/python3.14/site-packages (from torch) (3.6) Requirement already satisfied: jinja2 in ./venv/lib/python3.14/site-packages (from torch) (3.1.6) Requirement already satisfied: fsspec>=0.8.5 in ./venv/lib/python3.14/site-packages (from torch) (2025.10.0) Requirement already satisfied: hf-xet<2.0.0,>=1.2.0 in ./venv/lib/python3.14/site-packages (from huggingface_hub) (1.2.0) Requirement already satisfied: httpx<1,>=0.23.0 in ./venv/lib/python3.14/site-packages (from huggingface_hub) (0.28.1) Requirement already satisfied: packaging>=20.9 in ./venv/lib/python3.14/site-packages (from huggingface_hub) (25.0) Requirement already satisfied: pyyaml>=5.1 in ./venv/lib/python3.14/site-packages (from huggingface_hub) (6.0.3) Requirement already satisfied: shellingham in ./venv/lib/python3.14/site-packages (from huggingface_hub) (1.5.4) Requirement already satisfied: tqdm>=4.42.1 in ./venv/lib/python3.14/site-packages (from huggingface_hub) (4.67.1) Requirement already satisfied: typer-slim in ./venv/lib/python3.14/site-packages (from huggingface_hub) (0.20.0) Requirement already satisfied: anyio in ./venv/lib/python3.14/site-packages (from httpx<1,>=0.23.0->huggingface_hub) (4.12.0) Requirement already satisfied: certifi in ./venv/lib/python3.14/site-packages (from httpx<1,>=0.23.0->huggingface_hub) (2025.11.12) Requirement already satisfied: httpcore==1.* in ./venv/lib/python3.14/site-packages (from httpx<1,>=0.23.0->huggingface_hub) (1.0.9) Requirement already satisfied: idna in ./venv/lib/python3.14/site-packages (from httpx<1,>=0.23.0->huggingface_hub) (3.11) Requirement already satisfied: h11>=0.16 in ./venv/lib/python3.14/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->huggingface_hub) (0.16.0) Requirement already satisfied: scipy>=1.8.0 in ./venv/lib/python3.14/site-packages (from scikit-learn) (1.16.3) Requirement already satisfied: joblib>=1.2.0 in ./venv/lib/python3.14/site-packages (from scikit-learn) (1.5.2) Requirement already satisfied: threadpoolctl>=3.1.0 in ./venv/lib/python3.14/site-packages (from scikit-learn) (3.6.0) Requirement already satisfied: python-dateutil>=2.8.2 in ./venv/lib/python3.14/site-packages (from pandas) (2.9.0.post0) Requirement already satisfied: pytz>=2020.1 in ./venv/lib/python3.14/site-packages (from pandas) (2025.2) Requirement already satisfied: tzdata>=2022.7 in ./venv/lib/python3.14/site-packages (from pandas) (2025.2) Requirement already satisfied: six>=1.5 in ./venv/lib/python3.14/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0) Requirement already satisfied: mpmath<1.4,>=1.1.0 in ./venv/lib/python3.14/site-packages (from sympy>=1.13.3->torch) (1.3.0) Requirement already satisfied: MarkupSafe>=2.0 in ./venv/lib/python3.14/site-packages (from jinja2->torch) (3.0.3) Requirement already satisfied: click>=8.0.0 in ./venv/lib/python3.14/site-packages (from typer-slim->huggingface_hub) (8.3.1)
Download e Uso
Fazer Previsão
📊 Treinamento
Configuração
Por que dados pós-COVID?
O crash de Março de 2020 foi um evento atípico que criava vieses nos modelos. Treinar com dados a partir de 2021 resultou em:
- MAPE: 17% → 7% (59% de melhoria)
- R² positivo: 1/3 → 6/9
- Acurácia direcional: Média de 52%
🔗 Links
- Código Fonte: GitHub - previsao_acoes
- API Demo: Railway (em produção)
- Documentação: no repositório
📄 Licença
MIT License - Uso livre para fins educacionais e comerciais.
👥 Autores
Tech Challenge Fase 4 - FIAP Pós-Tech ML Engineering
📈 Métricas Visuais
Última atualização: Dezembro 2024