Forecasting the NIFTY 50 index up to 10 years ahead using ARIMA time series modelling and Monte Carlo simulations. Built on monthly OHLC data spanning 2003–2021.
The NIFTY 50 is India's benchmark stock market index — a weighted average of the 50 largest companies listed on the National Stock Exchange (NSE). It is one of the two primary indices used in India, alongside BSE SENSEX, and was launched on 22 April 1996.
├── Nifty_50_Future_Prediction.ipynb ← ARIMA model: 10-year price forecast
├── Nifty_MC_Algo.ipynb ← Monte Carlo simulation on Nifty 50
├── INFY_MC.ipynb ← Monte Carlo simulation on Infosys stock
├── Nifty_monthly_OHLC.xlsx ← Dataset: monthly OHLC (2003–Mar 2021)
└── README.md
- Loads monthly NIFTY 50 OHLC data from 2003 to March 2021
- Performs stationarity tests (ADF test)
- Fits an ARIMA model to the closing price series
- Forecasts NIFTY 50 price for the next 10 years
- Plots forecast with confidence intervals
- Simulates thousands of possible future price paths using Geometric Brownian Motion
- Estimates probability distribution of future NIFTY 50 prices
- Visualises best-case, worst-case, and expected price scenarios
- Applies the same Monte Carlo framework to Infosys (INFY) stock
- Compares individual stock volatility vs index behaviour
| File | Source | Period | Frequency |
|---|---|---|---|
Nifty_monthly_OHLC.xlsx |
Investing.com | 2003 – Mar 2021 | Monthly |
- Python — pandas, numpy, matplotlib, statsmodels
- ARIMA — statsmodels
ARIMAfor time series forecasting - Monte Carlo — Geometric Brownian Motion simulation
- Jupyter Notebook