-
The goal of Time Series Analysis and Forecasting is to deal with the class of data science problems where the primary values of interest are a sequence of data points measured over a period of time or recorded over regular intervals of time or which are equally spaced in time and we want to forecast either a single measurement (univariate) or multiple measurements (multi-variate) using the time-series models.
-
This study forecasts the index close values and volatility dynamics of S&P BSE SENSEX of Bombay Stock Exchange (BSE) and S&P-500 of New York Stock Exchange (NYSE).
-
To achieve the objectives, the study uses descriptive statistics, statistical tests including Augmented Dickey-Fuller for checking the stationarity of the underlying time series data before modeling. The developed models forecasts daily close values for the S&P BSE SENSEX and S&P-500 financial time-series data using the ARIMA model and a suite of time series models provided by a Prophet library developed by Facebook especially for forecasting time series data in the Python programming language.
- The project is inspired by the Kaggle Notebook titled A Modern Time Series Tutorial by Rohan Rao.
- The financial time series datasets are collected using either the libraries such as
quandl, investpyor by Yahoo Finance website.
| Sr. No | Dataset Name | Time Period | Source of Dataset |
|---|---|---|---|
| 1 | S&P BSE SENSEX | 2000-2020 | Refer sensex_data_2001_2020.csv file in ./Datasets/ directory |
| 2 | S&P-500 | 2000-2020 | Refer S&P-500-Price-Action-Historical-Prices-Dataset.csv file in ./Datasets/ directory |
| 3 | India VIX | 2008-2020 | Refer india_vix_data_2008_2020.csv file in ./Datasets/ directory |
| 4 | CBOE VIX | 1990-2020 | Refer cboe_data_1990_2020.csv file in the ./Datasets/ directory |
-
Although the
*.csvfiles present in the./Datasets/directory consists of the corresponding datasets, those./Datasets/*.csvfiles are exported from pandas dataframes which are created as a result of accessing the data fromquandle,yahoo, andinvestpywebsites/libraries usingDataFrame.to_csv()method. -
investpyis a really good library which most people don't know about and it provides financial time series data for almost all the indexed financial products/assets which belong to different asset classes which are covered by https://www.investing.com/ website.
-
3.1 Dependencies
The project has dependencies on the following libraries so make sure you have installed those libraries usingpippackage manager using commandpython3 -m pip install -r requirements.txt.
1.quandl
2.investpy
3.yfinance
4.pmdarima
5.fbprophet
If you get any error regardingauto_arima()method ofpmdadrima.arimasubmodule then first uninstall the older version ofstatsmodelslibrary and current installation ofpmdarimaand then again installpmdarima, no need to installstatsmodelslibrary aspmdarimahas a dependency onstatsmodelswhich gets automatically installed during thepmdarimainstallation process. -
3.2 Execution Steps
-
To execute the jupyter notebook click on
badge/shield and do remember that the runtime is around 3 Hrs if you want to run all the cells again.
-
If you have some problems while executing the Google Colab notebook then consider executing it directly through the following Google Drive link.
Google Drive Link: Forecasting S&P BSE SENSEX and S&P-500 Using ARIMA and Prophet.
-
NOTE: For project explaination, refer the presentation.
@inproceedings{9788127,
title = {Forecasting India S&P BSE SENSEX and USA S&P-500 Benchmark Indices Using SARIMAX and Facebook Prophet Library},
author = {Sharma, Suraj Prakash and R., Jeyanthi and Deepa, K.},
year = 2022,
booktitle = {2022 6th International Conference on Intelligent Computing and Control Systems (ICICCS)},
volume = {},
number = {},
pages = {1523--1530},
doi = {10.1109/ICICCS53718.2022.9788127}
}


