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