If you are participating in the Academia Datathon 2018, or just wanna be a crypto superhero forecasting cryptocurrency prices, this article was made just for you! It is a quick reference to tons of materials to get you started on the topic.
We first start with the tips for the Level 1 assignment.
If you want to learn:
- How to create an ARIMA model with Python and what an ARIMA model is;
- What Moving Average smoothing is and how to do it in Python;
- How to smooth time series in Python using the Kalman filter
- How to forecast time series with LSTM Recurrent Neural Networks in Python
Bitcoin Crystal Ball
To get started on univariate modeling (i.e. just for a single cryptocurrency in isolation), you can refer to the Bitcoin Historical Dataset published on Kaggle. We found some excellent contributions there, and picked the best:
- Bitcoin price prediction with ARIMA in Python
- Another Python implementation of ARIMA modeling of Bitcoin prices
- Bitcoin price forecasting in R by using Double exponential smoothing, Exponential Triple Smoothing, ARIMA and Bayesian Regression
- Predicting BTC Price Using Recurrent neural network (RNN) in Python
Here is another short example of forecasting Bitcoin prices with ARIMA in R.
An academic paper by two researchers from Universiti Utara Malaysia employing an ARIMA(2,1,2) model in Eviews can be read here.
Another short and informative article discussing Bitcoin prediction with ARIMA(1,1,0) can be found on the website catering to professional investors and traders SeekingAlpha.
Moving beyond pure autoregressive models, the author of this article predicts the Nem cryptocurrency price by building an ARIMAX model that uses Iota historical price combined with other macroeconomic covariates such as Google search frequency of the word “Nem price” and “Nem” subreddit subscription growth data. You can read further how to employ the Pytrends API, Yahoo Financials API and how to scrape redditmetrics.com.
In this academic paper, two researchers from MIT develop a model for predicting not the exact price/return of the Bitcoin, but rather the price state, i.e. increase, decrease or no change. They build simple, scalable and real-time algorithms that achieve a high return on average Bitcoin investment.
The page Medium.com hosts a collection of short articles called ‘Forecasting crypto using Artificial Intelligence’ that may give you some insight into various technical trading strategies applied to cryptocurrencies such as moving averages.
In this article on Steemit.com the author discusses several time series to which the price of Bitcoin may be correlated and builds simple ARIMAX models with each of them.
The ARIMA models try to forecast the conditional mean of the time- eries. Financial time series notoriously are characterized by heteroskedasticity or volatility clustering – a day with a big price change often is followed by another. To account for this, you might model the conditional variance by employing a GARCH model. Take a look at these articles covering the application of GARCH models to cryptocurrency time series:
- This academic paper compares several GARCH models and finds that the best model for Bitcoin is the AR-CGARCH model;
- This paper fits 12 GARCH models to each time series of 7 cryptocurrencies, and the authors find that IGARCH and GJRGARCH models provide the best fits.
- The authors of this paper compare several alternative distributions employed by the GARCH models and find that a heavy-tailed distribution performs better than the standard normal distrubition.
- This paper focuses on forecasting daily Bitcoin volatility in R using GARCH models with intraday data. The author has provided their code on Github.
This Msc thesis applies deep learning in predicting the Bitcoin price. The author finds that deep learning models such as the RNN and LSTM are evidently effective learners on training data with the LSTM more capable for recognising longer-term dependencies. Both models outperform an ARIMA model.
Two researchers from ETH construct a generative temporal mixture model of the Bitcoin volatility and trade order book data, which is able to outperform the current state-of-the-art machine learning and time-series statistical model.
Something more about Time-Series
You may also want to acquaint yourself with these excellent step-by-step guides on time-series forecasting:
- A comprehensive beginner’s guide to create a Time Series Forecast (with codes in Python);
- 7 methods to perform Time Series forecasting (with Python codes);
- Using LSTMs to forecast time-series in Python;
- Time Series Forecasting with Recurrent Neural Networks in R
Finally, if you prefer to have a solid theoretical foundation, take a look at these resources:
- an excellent introduction to econometrics applied to financial time series is the Introductory Econometrics for Finance textbook;
- Another good resource is the IMF edX course Macroeconomic forecasting that contains examples in Eviews;
- Forecasting Principles is a useful portal for all resources related to forecasting;
- Time Series Analysis and Forecasting: Novel Business Perspectives;
- A quick introduction to time series and forecasting in slides;
- An Introductory Study on Time Series Modeling and Forecasting is a short book on the topic
Delving deeper into Level 2, where you actually make money if your model is good, there are a lot less resources with the practical implementation of trading strategies on cryptocurrencies.
A good start is this Bitcoin trading strategy simulation in Python.
Building autonomous trading systems
Possible approaches for building autonomous trading systems are Trading robots (typically directed towards trading with one or two assets), Statistical arbitrage (utilizing pricing inefficiencies among several assets), Autonomous portfolio management (using dynamic optimization techniques to allocate capital among many assets).
Trading robots introduction:
- A quick introduction on Investopedia;
- Forex Automatic Trading Robots brief summary ;
- How to Code Your Own Algo Trading Robot on Investopedia
If you want to get an example of trading robots you should check the step by step article by Tom Whitbread – Create an Algorithm Trading Robot: The Basics of Writing An Expert Advisor in MQL4
Take the shortcut with these trading robot builders:
Intro to the Statistical arbitrage
To armor you with even deeper knowledge of the financial domain we suggest you to check the following links about the Statistical arbitrage introduction:
- What is arbitrage? – Investopedia definition;
- Another Investopedia article on the topic;
- The Wikipedia article;
- Arbitrage Strategies: Understanding Working of Statistical Arbitrage
Are you confused? These examples of Statistical arbitrage will help:
Congrats! Your level is already up and you are ready for the statistical arbitrage advanced examples:
- An academic paper called ‘A Multi – factor Adaptive Statistical Arbitrage Model’;
- Statistical Arbitrage in the U.S. Equities Market – another academic paper
You know what Investment Portfolio is or?
Don’t panic, we are at the very end of our knowledge sharing session. In order to be sure that you will have the whole picture and you will be ready for the wild crypto market we have to share the final portion of resources about the foundations of the Investment portfolio:
- What is portfolio management? – an Investopedia article;
- What is ‘Passive Management’? – another Investopedia article;
- What is ‘Dynamic Asset Allocation’? – yet another Investopedia article
Check these Investment portfolio further reads:
- Modern portfolio theory – a Wikipedia article;
- Keys to Successful Investing and Portfolio Management;
- What is Portfolio Management? – from the page of NYU Stern School of Business
Do you eager to learn more about Investment portfolio? Here is an advanced example:
We are so proud that you have reached the end of this learning journey!
… Wait a second – our AI radar tells us that you have a mission upcoming and the journey is just beginning. You have been developing super Data Science powers for a long time and it’s high time for you to reveal your true potential and show the global DSS community these superpowers you have been hiding during your time being just a student.
Hey, superhero, you already have the skills, the knowledge and the right resources to save the crypto market from massive disasters and wrong forecasts… Don’t wait anymore – apply what you are curious about and help the others to trade better!
The mission starts in just 5 days… The Bitcoin relies on you!