📈 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 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


📄 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

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using henriquebap/stock-predictor-lstm 1