nse-lstm-model / README.md
thoutam's picture
Update README with YAML metadata and enhance model card
254c125 verified
---
language:
- en
tags:
- finance
- stock-market
- lstm
- time-series
- prediction
- nse
- india
- technical-analysis
license: mit
datasets:
- nse-bhavcopy
metrics:
- mae
- mse
library_name: tensorflow
pipeline_tag: time-series-forecasting
---
# NSE LSTM Model - Indian Stock Market Prediction
## Overview
This is a comprehensive LSTM (Long Short-Term Memory) neural network model trained on **6.8 million records** across **3,622 symbols** from the National Stock Exchange (NSE) of India. The model covers data from 2004-2025 and provides stock price predictions based on technical indicators and historical patterns.
## Model Details
- **Architecture**: LSTM with Dropout layers
- **Input Shape**: (batch_size, 5, 25) - 5 days × 25 features
- **Output**: Single prediction value for next day's price
- **Training Data**: 6,795,445 records across 3,622 symbols
- **Features**: OHLCV data + 20 technical indicators
- **Model Size**: 0.23 MB
- **Parameters**: 16,289
## Features
- **Price Data**: OPEN, HIGH, LOW, CLOSE, VOLUME
- **Technical Indicators**:
- Moving Averages (5, 10, 20, 50 day)
- Bollinger Bands (20 day)
- RSI (14 day)
- MACD
- Volume indicators (OBV, VPT)
## Usage
### Python
```python
import tensorflow as tf
import pickle
import numpy as np
# Load model and scaler
model = tf.keras.models.load_model("nse_lstm_model.keras")
with open("nse_lstm_scaler.pkl", "rb") as f:
scaler = pickle.load(f)
# Prepare input data (5 days × 25 features)
input_data = np.random.randn(1, 5, 25) # Your normalized features here
# Make prediction
prediction = model.predict(input_data)
print(f"Predicted price change: {prediction[0][0]}")
```
### Input Data Format
Your input should be normalized data with shape (batch_size, 5, 25):
- **5**: Number of days (lookback period)
- **25**: Number of features (OHLCV + technical indicators)
### Output
The model outputs a single value representing the predicted price change/movement for the next day.
## Data Sources
- **NSE Bhavcopy**: Daily equity data from 2004-2025
- **Symbols**: 3,622 unique equity symbols
- **Frequency**: Daily data points
- **Coverage**: All major Indian stocks
## Performance
- **Training MAE**: 0.0216
- **Validation MAE**: 0.0217
- **Memory Efficient**: Processes large datasets with minimal memory usage
- **Fast Inference**: Optimized for real-time predictions
## License
MIT License - Free for commercial and research use.
## Citation
If you use this model in your research, please cite:
```
@software{nse_lstm_model,
title={NSE LSTM Model - Indian Stock Market Prediction},
author={Your Name},
year={2025},
url={https://huggingface.co/thoutam/nse-lstm-model}
}
```
## Support
For questions or issues, please open an issue on the Hugging Face repository.