-
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, investpy
or 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
*.csv
files present in the./Datasets/
directory consists of the corresponding datasets, those./Datasets/*.csv
files are exported from pandas dataframes which are created as a result of accessing the data fromquandle
,yahoo
, andinvestpy
websites/libraries usingDataFrame.to_csv()
method. -
investpy
is 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 usingpip
package 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.arima
submodule then first uninstall the older version ofstatsmodels
library and current installation ofpmdarima
and then again installpmdarima
, no need to installstatsmodels
library aspmdarima
has a dependency onstatsmodels
which gets automatically installed during thepmdarima
installation 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}
}