forecasting-india-and-usa-benchmark-indices-using-arima-and-prophet

This repository provides a novel approach about how can we use the ARIMA time series model and a suite of models provided by Prophet library (open-sourced by Facebook) to forecast financial time series data i.e. S&P BSE SENSEX and S&P-500.

https://github.com/strikersps/forecasting-india-and-usa-benchmark-indices-using-arima-and-prophet

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: ieee.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

arima-model prophet-facebook stock-market timeseries-analysis timeseries-forecasting
Last synced: 9 months ago · JSON representation ·

Repository

This repository provides a novel approach about how can we use the ARIMA time series model and a suite of models provided by Prophet library (open-sourced by Facebook) to forecast financial time series data i.e. S&P BSE SENSEX and S&P-500.

Basic Info
  • Host: GitHub
  • Owner: strikersps
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 25.1 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
arima-model prophet-facebook stock-market timeseries-analysis timeseries-forecasting
Created about 5 years ago · Last pushed almost 4 years ago
Metadata Files
Readme License Citation

README.md

Forecasting India S&P BSE SENSEX and USA S&P-500 Using ARIMA and Prophet

forthebadge made-with-python Repo-Size

Open In Colab

GitHub contributors Issues-Badge Stars-Badge Fork-Badge

Dalal Street and Wall Street Photo

1. Introduction

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

SARIMAX-Prophet-Daily-Close-Predictions-SENSEX SARIMAX-Prophet-Daily-Close-Predictions-S&P-500

Summary of SARIMAX and Prophet Model Performance

2. Datasets

  • 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 from quandle, yahoo, and investpy websites/libraries using DataFrame.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. How to Execute

  • 3.1 Dependencies
    The project has dependencies on the following libraries so make sure you have installed those libraries using pip package manager using command python3 -m pip install -r requirements.txt.

    1. quandl
    2. investpy
    3. yfinance
    4. pmdarima
    5. fbprophet
      If you get any error regarding auto_arima() method of pmdadrima.arima submodule then first uninstall the older version of statsmodels library and current installation of pmdarima and then again install pmdarima, no need to install statsmodels library as pmdarima has a dependency on statsmodels which gets automatically installed during the pmdarima installation process.
    6. 3.2 Execution Steps
  • To execute the jupyter notebook click on Open In Collab badge/shield and do remember that the runtime is around 3 Hrs if you want to run all the cells again.

NOTE: For project explaination, refer the presentation.

4. Publications Based on the Work

  1. S. P. Sharma, J. R. and K. Deepa, "Forecasting India S&P BSE SENSEX and USA S&P-500 Benchmark Indices Using SARIMAX and Facebook Prophet Library," 2022 6th International Conference on Intelligent Computing and Control Systems (ICICCS), 2022, pp. 1523-1530, doi: 10.1109/ICICCS53718.2022.9788127.

bibtex @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} }

NOTE: To cite our work, please add the above block of code into your *.bib file in the latex environment and if you want to cite this repository, then please copy the respective style information (APA or BibTex) provided under cite this repository option as shown in the tutorial: https://github.blog/wp-content/uploads/2021/08/GitHub-citation-demo.gif
GNU General Public License v3.0

License-Badge

Owner

  • Name: Suraj Sharma
  • Login: strikersps
  • Kind: user
  • Location: Bangalore, Karnataka, India
  • Company: Software Engineer, CommScope

I am a Data Scientist and Software Developer. I love programming, writing, and playing soccer.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Sharma"
  given-names: "Suraj"
title: "Forecasting India S&P BSE SENSEX and USA S&P-500 Benchmark Indices Using ARIMA and Prophet"
version: 1.0.0
date-released: 2022-08-16
doi: 10.1109/ICICCS53718.2022.9788127
url: "https://github.com/strikersps/Forecasting-India-and-USA-Benchmark-Indices-Using-ARIMA-and-Prophet"

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • fbprophet *
  • investpy *
  • pmdarima *
  • quandl *
  • yfinance *