This project focuses on the prediction of the prices of Bitcoin, the most in-demand crypto-currency of today’s world. We predict the prices accurately by gathering data available at coinmarketcap while taking various hyper-parameters into consideration which have affected the bitcoin prices until now.
The paper contains all details of algorithms used along with results, anaylisis and discussions om the topic.
-
Dataset has been downloaded using coinmarketcap API.
-
Dataset after Preprocessing
- Seasonal Decomposition of the Time-Series after order-1 differencing (to make it stationary)
- Correlation Plots
- Best Results (GARCH + SARIMAX) (RMSE: 154.32)
- Regression Models
- Linear Regression with various penalties
- Polynomial Regression
- Bayesian Regression
- ARIMA Models
- AR
- ARMA
- ARIMA
- SARIMAX
- SARIMAX + GARCH on the residuals of SARIMAX model
- VAR Model
- pandas
- numpy
- requests
- matplotlib
- statsmodels
- pmdarima
- arch
- pip install -r requirements.txt
OR
- pipenv install --ignore
- pipenv shell
- cd <PROJECT ROOT DIRECTORY>
- python <filename>.py
- auto-ARIMA.py: Runs automated gridsearch from pmdarima library, to find the best model parameters.
- AR.py, ARMA.py, ARIMA.py, SARIMAX.py use the above found best parameters to train the respective models as per their filenames.
- GARCH-SARIMAX.py runs SARIMAX models added with error of residuals from SARIMAX using GARCH.
- elasticnet.py runs Linear Regression with a combination of L1 and L2 penalty.
- bayesian.py runs BayesianRidge regression with optimal parameters.
- polyreg.py runs Linear Regression by adding polynomial features.
- var.py runs runs VAR model on the data.