Forecasting the Bitcoin price using Holt-Winters Exponential Smoothing

Tim Stolte
Amdax Asset Management
8 min readJul 6, 2022

--

Introduction

Looking at the Bitcoin price chart belongs to any crypto fanatic’s daily routine. It’s often nothing more than just a glance, like checking an email inbox or refreshing a Twitter feed. Occasionally, however, one might engage in the daunting act of speculation. This would generally involve drawing an imaginary line on top of a historical price chart, aiming to capture some growth rate and extending that into the future. Many crypto analysts have made a habit of overcomplicating this exact approach. They also like to refer to it with a fancier name: linear time series regression.

The problem is not necessarily with the name. It is indeed some sort of linear regression, as it relates a variable of interest (the Bitcoin price) to some other variable (time). Regrettably though, such regressions are often used with very little regard for any implications¹ that the lack of statistical properties may have on the validity and interpretation of the estimation results. Using a regression to obtain a rough prediction of the Bitcoin price is a bit like using a shotgun to kill a fly. It gets the job done, but it also completely destroys the wall upon which the fly was minding its own business.

Used correctly, regressions can provide an analyst with indicators that gauge the accuracy of the estimates. But even if that’s the case, most people are not looking for confidence intervals with a width equal to that of the sun. I therefore firmly believe that regressions should not be used for long-term price predictions.

What should we use then? Well, a few weeks ago, I was approached by Will Clemente to peer review his team’s recently published Bitcoin User Adoption Report². The piece introduced a way to predict the evolution of the Bitcoin adoption using the historical adoption curves of major technologies. Their hypothesis is that a weighted average of these curves provides a reasonable guess from the point of 10% global adoption onwards. Before that 10% adoption is reached, the cumulative sum of net growth of entities is used to proxy for the actual number of people that are holding Bitcoin at any point in time. Future values of this metric are predicted using a very simple extrapolation. No roughly drawn lines on a chart, no exogenous factors in a linear regression, just basic exponential extrapolation. That seemed like a great idea…

Holt-Winters Exponential Smoothing

Exponential smoothing is a rather well-known and elegant solution for generalising data into a single formula, ready to use for forecasting. Besides its flexibility, I am exploiting the advantage that no statistics (i.e., stochastic components) are involved in this approach. Hence, the method doesn’t require us to make any assumptions apart from the specification itself.

Back in 1957 and 1960, C. E. Holt³ and P. R. Winters⁴ published two individual papers that together introduced a novel way of applying exponential smoothing. This newly found method broke down a time series into three different components: level, slope and seasonality. I will briefly discuss each component individually, building towards the final set of equations along the way.

Level: At any point t in time, the level of the time series equals the expected value of all future points. So our expectation of tomorrow’s value will be equal to the level, but also our expectation of the value one week or even one year from now. In general:

Main equation v1.0

where h denotes the number of points we are looking ahead in time. The |t means that t is our current timestep and all information up until that point is available to us. We also define an equation that describes how we obtain the level based on current and previous data:

Level equation v1.0

Hence, the current level (generalised expectation of future values) is a combination of the current value and the previous level.

Slope: The slope is a measure of how much the time series value changes from one timestep to another. We include this in our main equation using a growth factor g and the number of timesteps into the future h:

Main equation v2.0

The slope equation again follows from a linear combination, but this time of the level difference and the previous growth factor:

Slope equation v2.0

After introducing the slope component, we are required to adjust the level equation to account for the level difference:

Level equation v2.0

Seasonality: Seasonality adds the last level of complexity to our system of equations. It basically searches for a historical point in time that resembles the point that we aim to predict. For example, if we are forecasting a future value in January in a monthly time series, seasonality would allow us to incorporate specific information of last January. For weekly time series, we can think of looking back at the previous Monday if we are predicting a future Monday value.

In our case, we are looking for a 4-year seasonality. This would incorporate information on the Bitcoin halving cycle that is prominently present in the Bitcoin price series. In particular, I use a additive seasonality component, as I find that the seasonal variations of the last two cycles were more or less similar in magnitude. I will not go into detail on the differences between additive and multiplicative versions of the Holt-Winters method but refer to this article⁵ for a clear and concise description. Our final set of equations (along with seasonal adjustments in the main and level equations) looks like this:

In this system, m is denoted as the number of timesteps that make up one season. Note that the level, slope and seasonality component are all included in the main equation and that each component is described by a linear combination with parameters α, β and γ, which are parameters to be estimated.

Forecasting the Bitcoin price

In my analysis, I use monthly closing price for Bitcoin from December 2013 until June 2022. I have multiple reasons for this choice of data. Firstly, monthly data is a better choice for a long-term price prediction than weekly or daily data. Secondly, I feel that the dynamics of price or on-chain data before 2014 can be unrepresentative for the remainder of the data due to the lack of adoption and highly inconsistent consumer behaviour at the time. Lastly and probably most importantly, I like how the chart looks. My sample period contains two full halving cycles, and the price dynamics align with the assumptions in my Holt-Winters specification.

After applying the Holt-Winters method as described in the previous section, using the natural logarithm of the price as the variable of interest and m=48, we find the following smoothed time series:

This is often the point at which model advocates would have come up with an R² or some other performance measure to give an idea of how accurate their approximation is. Truth be told, I have no idea how good this smoothing algorithm is at this point. And any measure that one may come up with has little to no interpretation. The main reason for this is that we have used the information of the full sample period to fit our parameters to the data. In that case, we might as well have gone with an approach that sets our prediction equal to the actual value at each point in time, report an R² of 1 and call it a day.

Still, smoothing looks pretty satisfying. Let’s see what happens when we leave some data points out for out-of-sample predictions. We start by applying Holt-Winters to the data sample up until December 2021, use it to make a one-month-ahead forecast and then use that forecast in the next iteration to make another forecast. We repeat this process until we have forecasts for the first six months of 2022:

We find that both the predicted values are slightly different from the smoothed values that we have seen before. This is a direct consequence of ignoring the last six months in estimating our parameters. The predictions also appear to drop off quite aggressively, even though such a downward trend was not yet confirmed as of December 2021 (the monthly closing price was still around $46,000). Nevertheless, it turns out that this downturn was quickly justified as the price also experienced a sharp decrease.

Unfortunately, estimation in our current setup requires at least two full seasons, so we cannot enlarge our hold-out sample with the current sample period. Whether the Holt-Winters method statistically outperforms other approaches on an out-of-sample basis remains a question for future research.

A look into the future

What happens if we forecast values on a longer term, something like one cycle into the actual future? The figure below shows what that looks like. We observe a pattern very similar to the one we have seen in previous halving cycles, indicating that the seasonality component works its magic.

I must stress that these predictions are nothing more than educated guesses, and any confidence interval drawn in this chart would be statistically invalid. Of course, the further away the forecast, the more sceptical one should be about its accuracy. The limited number of data points also negatively impacts the robustness of the model. For instance, the current predictions find the next top at around $248,000 in December 2025. But if next month’s closing hits anywhere above $25,000 (we just closed June 2022 at $19,800), Bitcoin is bound break the $300,000 mark before 2026 according to Holt and Winters.

References

[1] Stolte, T. (2022). Stock-to-Flow: a philosophy, not a model. https://medium.com/amdax-asset-management/stock-to-flow-a-philosophy-not-a-model-7d22c2eb7fd0

[2] Blockware Intelligence Team (2022). Bitcoin User Adoption Report. https://newsletter.blockwareintelligence.com/p/bitcoin-user-adoption-report?s=r

[3] Holt, C. E. (1957). Forecasting seasonals and trends by exponentially weighted averages (ONR Memorandum №52). Carnegie Institute of Technology, Pittsburgh USA, 10.

[4] Winters, P. R. (1960). Forecasting sales by exponentially weighted moving averages. Management science, 6(3), 324–342.

[5] Ariton, L. (2021). A Thorough Introduction to Holt-Winters Forecasting. https://medium.com/analytics-vidhya/a-thorough-introduction-to-holt-winters-forecasting-c21810b8c0e6

--

--

Tim Stolte
Amdax Asset Management

Quantitative Researcher at Amdax. Master’s degree in Econometrics / Quantitative Finance.