|
|
--- |
|
|
--- |
|
|
language: en |
|
|
tags: |
|
|
- time-series |
|
|
- forecasting |
|
|
- lstm |
|
|
- arima |
|
|
- stock-market |
|
|
license: mit |
|
|
datasets: |
|
|
- yahoo-finance |
|
|
metrics: |
|
|
- rmse |
|
|
- mape |
|
|
--- |
|
|
|
|
|
# LSTM Stock Price Forecasting |
|
|
|
|
|
This repository contains an **LSTM model** trained on stock closing prices and compared with a traditional ARIMA baseline. |
|
|
The goal is to forecast future stock values and evaluate which approach generalizes better. |
|
|
|
|
|
--- |
|
|
|
|
|
## Dataset |
|
|
- **Source:** Yahoo Finance |
|
|
- **Ticker:** Apple Inc. (AAPL) |
|
|
- **Period:** 2015β2023 |
|
|
- **Feature Used:** Daily closing price |
|
|
|
|
|
--- |
|
|
|
|
|
## Models Implemented |
|
|
- **ARIMA (Auto ARIMA)** β traditional statistical time-series forecasting |
|
|
- **LSTM** β deep learning recurrent neural network for sequential data |
|
|
|
|
|
--- |
|
|
|
|
|
## Evaluation Results |
|
|
|
|
|
| Model | RMSE | MAPE | |
|
|
|-------|-----------|----------| |
|
|
| ARIMA | 15.7959 | 0.0857 | |
|
|
| LSTM | 5.8747 | 0.0305 | |
|
|
|
|
|
**Conclusion:** LSTM significantly outperforms ARIMA with lower RMSE and MAPE, showing its ability to capture nonlinear patterns in stock prices. Under a single split, LSTM significantly outperforms ARIMA. |
|
|
|
|
|
--- |
|
|
|
|
|
### Rolling Window Evaluation |
|
|
| Model | RMSE (avg) | MAPE (avg) | |
|
|
|-------|------------|------------| |
|
|
| ARIMA (Rolling Window) | 3.448 | 0.0304 | |
|
|
| LSTM (Rolling Window) | 23.282 | 0.1869 | |
|
|
|
|
|
Under rolling window evaluation, **ARIMA outperforms LSTM**, showing better stability and adaptability across multiple forecasting horizons. |
|
|
|
|
|
|
|
|
--- |
|
|
## ARIMA vs LSTM Forecasts |
|
|
|
|
|
**ARIMA Forecast:** |
|
|
 |
|
|
|
|
|
**LSTM Forecast:** |
|
|
 |
|
|
|
|
|
## Deployment |
|
|
- Model hosted on **Hugging Face Hub** |
|
|
- Repository: `Jalal10/DataSynthis_ML_JobTask` |
|
|
- Includes model weights (`lstm_stock_model.h5`) and usage instructions |
|
|
|
|
|
--- |
|
|
|
|
|
## Usage |
|
|
|
|
|
```python |
|
|
from huggingface_hub import hf_hub_download |
|
|
import tensorflow as tf |
|
|
|
|
|
# Download model |
|
|
model_path = hf_hub_download(repo_id="Jalal10/DataSynthis_ML_JobTask", filename="lstm_stock_model.h5") |
|
|
|
|
|
# Load model |
|
|
model = tf.keras.models.load_model(model_path) |
|
|
|