nse-lstm-model / README.md
thoutam's picture
Update README with YAML metadata and enhance model card
254c125 verified
metadata
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

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.