Bitcoin Price Forecasting Using Model with Experts Opinions

One of the main goals in the Bitcoin analytics is price forecasting. There are many factors which influence the price dynamics. The most important factors are: the interaction between supply and demand, attractiveness for investors, financial and macroeconomics indicators, technical indicators such as difficulty, how many blocks were created recently, etc. A very important impact on the cryptocurrency price has trends in social networks and search engines. Using these factors, one can create a regression model with good fitting of bitcoin price on the historical data. To perform price forecasting, we need to know these factors values in the future. In this challenge, we can use quantified opinions of experts for whom the prediction of these factors is a simpler problem than predicting target variable – bitcoin price. To work out a regression model for bitcoin price, we loaded appropriate time series from Quandl, Yahoo Finance and Google Trend services. For the modeling, we used Python with packages pandas, numpy, scipy, matplotlib, seaborn , sklearn, quandl, pystan . Using Linear regression with Lasso regularization and features normalization, we found the important factors which form the bitcoin price. The following picture shows the bitcoin price and predicted values on the historical data:

Here are the coefficients of the factors in the regression model:

Here are some time series for factors:

For probabilistic approach, which makes it possible to get risk assessments, one can use Bayesian inference approach. To take into account extreme values, we can describe the bitcoin price using distributions with fat tails, e.g. Student’s distribution. For Bayesian modeling, we used Stan software with pystan python package. The following figure shows the probability distribution functions for regression coefficients for important factors:

Let us consider the forecasting of bitcoin price using experts’ opinion. Suppose we have two experts who have the opinions about such factors as Difficulty and Google Trend. We suppose the other factors the same as at the end of historical data.  Suppose an expert can predict the most probable, minimum and maximum percent of change for the factor under study. Expert’s opinion can be approximated by triangular distribution. Suppose that experts made their prediction as the following:


Expert 1: min=10%; mode=15%; max=30%. Expert 2: min=15%; mode=30%; max=50%;

Google Trend:

Expert 1:min=0%;mode=10%;max=25%. Expert 2:min=-25%;mode=45%; max=55%;

These experts’ opinions can be described by the following probability density functions:

Using Mote-Carlo approach, we can also take into account the confidence for each expert. Suppose Expert 1 is more precise in 70% of predictions and Expert 2 is more precise in 30%. The values of confidence can be found on the validation set if we have multiple experts’ prediction or these values can be set up by experts moderator. Having probability density functions for regression coefficients and density functions of experts’ opinions for impact factors, we can receive a probability density function (PDF) for the forecasted bitcoin price which is shown on the figure:

Having PDF for bitcoin, we can find the most probable value for the forecasted price and Value at Risk (VaR) which is important for assessment of different types of risks.

Bitcoin Price Forecasting Using Model with Experts Opinions