Stock-to-Flow: a philosophy, not a model

Tim Stolte
Amdax Asset Management
7 min readMay 2, 2022

--

Ever since the Stock-to-Flow model was introduced by PlanB back in 2019, there has been quite some controversy on its validity. Those in favour put forward the well-founded scarcity argument and point at the historical accuracy of the estimates. Meanwhile, opponents argue that the underlying assumptions of the model do not adhere to econometric standards. For a quick overview of most points of critique on the model, I refer to this article by Eric Wall.

In a recent article in Bitcoin Magazine, an attempt was made to refute the arguments against the Stock-to-Flow model. The author, Harold Christopher Burger, summarized some alleged death blows and made an effort to explain why we should not consider them as such. Sadly, he did not succeed. Let’s take a closer look at two of his arguments.

“Only large changes in stock-to-flow are meaningful”

The Stock-to-Flow model is autocorrelated. That is beyond dispute for both supporters and opponents. This means that the errors terms (i.e. the difference between the estimated and the actual price) are dependent on previous values and one should look at the changes in both the stock-to-flow ratio and price instead of the raw values themselves. However, we find that changes in stock-to-flow have no significant effect on the changes in price.[1] The author then goes on to conclude that this does not matter, as large shocks and small shocks may affect the price differently. He poses the question of whether we must really expect that both small and large changes in stock-to-flow cause changes in price. The answer is yes. We must really expect that, and for one simple reason. The core assumption of the Stock-to-Flow model specification is that the independent variable (in our case the ratio of the circulating supply and the issuance) LINEARLY affects the dependent variable (in our case the price). If you assume otherwise, the model specification should reflect this and you should account for this non-linearity. Hence, this result actually invalidates the Stock-to-Flow model as it is currently specified.

Stock-to-Flow model specification

Could we then alter the equation to distinguish between the effects of large and small shocks in the stock-to-flow ratio? Sure. In fact, that is exactly what Sebastian Kripfganz did in his research by considering the mining reward as a separate parameter in the model. This mining reward is the sole driver behind the large shocks that take place during every bitcoin halving. He documents no statistically significant effect of this reward series in his equations, leading us to conclude that there is no evidence to support the statement that only large shocks in stock-to-flow are relevant.

[1] For the sake of brevity, these results are included in the Appendix.

“Cointegration is not a big thing”

Just from looking at the graphs, it is easy to see that both the stock-to-flow and price series do not have a long-run unconditional mean and variance and these statistical properties change over time. In statistics, we are then talking about non-stationarity. Non-stationary time series are characterised by persistent shocks. This means that such series do not necessarily return to their original level in case of a shock. According to econometric theory, one can only extract valuable information from a one-factor linear regression if both metrics are stationary or if both metrics are non-stationary AND there exists cointegration between the two. Cointegration is a complicated and abstract term. A short non-technical explanation for it would be the following: two non-stationary series are cointegrated if and only if, to some degree, at least one of the two series shows a desire to return to the other one. For a more detailed and intuitive illustration, one can consult the following piece.

Many sources (once again referring to this article) have proven that cointegration does not hold in the Stock-to-Flow model. Nevertheless, in the Bitcoin Magazine it is stated that that problem is overblown. Why? Well, firstly because cointegration is a concept that is not used outside of econometrics. Is that a valid argument? No, since linear regression models such as the Stock-to-Flow model are purely econometric. It should therefore always rely on the fundamental basics of econometrics. Secondly, the author calls upon the Turing Award-winning computer scientist Judea Pearl, who has claimed to have never heard of cointegration and has yet to find someone who can satisfactorily explain it to him. Now, I am not questioning the integrity and/or brilliance of an individual that is definitely smarter than myself, but saying that something is irrelevant just because a bright mind says so should definitely be deemed a fallacy. Especially because an entire field of study would consider the absence of cointegration a death blow to a model.

Conclusion: not a model

Being an econometrician by profession, I am compelled to reject the validity of the Stock-to-Flow specification. Admittedly, it is easy for me to discredit someone’s hard work and not come up with an alternative myself. Eric Wall gracefully avoided becoming the community’s buzzkill by advocating the rainbow chart after destroying Stock-to-Flow. I am not going to do that.

In all honesty, I believe that the pursuit for a long-term price model is pointless. There is no holy grail that can more or less accurately predict the bitcoin price for the coming months, let alone for the coming years. However, this does not mean that we cannot make predictions. The most careful among us will simply state that the best price prediction at any point in the future is the price of today. Others swear by the rainbow chart predictions, which are purely based on the assumption that we can generalise the historical growth rate of the price series and use it to predict future prices.

In the end, the rainbow model is not a valid linear regression on a causal variable, because time itself does not affect supply or demand. It is not a model, it is a philosophy. And whether you are willing to make the underlying assumptions determines whether you trust or distrust its predictions. The same goes for Stock-to-Flow. It may provide a reasonable guess of future price levels, but there is just no way of knowing how reasonable the guess is. For that you need statistics. Correct statistics.

Appendix

In my stock-to-flow analysis, I obtain daily price and stock-to-flow time series data from Glassnode. My sample period ranges from 1 August 2010 until 30 April 2022, yielding 4291 observations. I recognise that the original article considers monthly data from January 2009 until February 2019 and uses bitcoin’s total market value instead of price, but I assume that my choice of data will not result in any loss of generality. To those less familiar with statistics, you will find some definitions of all statistical terms used in this Appendix.

For the sake of replication, I estimate the following equation:

in which denotes the bitcoin price and denotes the stock-to-flow series. OLS estimation yields a coefficient β = 2.959. This coefficient, representing the effect of stock-to-flow on the price, is statistically significant at a 1% significance level. The R² of the estimation equals 0.914, which is more or less in line with the results of the original Stock-to-Flow article. The fitted values of the equation are plotted against the price in Figure 1. I would like to stress once more that no one should use this result to draw the conclusion that the price can be explained and/or predicted directly by the stock-to-flow metric. This equation cannot be considered an adequate econometric model.

For the analysis of a model that would not violate the necessary assumption of either stationary series or cointegrated non-stationary series, we consider the following equation:

Note that this equation differs from the previous one as we have taken the first difference of both the price and stock-to-flow series. After estimating the model, we find β = 0.012 with a corresponding p-value of 0.062. This p-value means that we do not reject the hypothesis that the changes in the stock-to-flow metric do not affect the changes in price. To use a little less technical terms, this p-value confirms that we cannot state that the changes in stock-to-flow have any effect on price changes. This is also supported by the R² of 0.001, implying that stock-to-flow shocks would only explain around 0.1% of the total variation in price differences over the full sample period. Figure 2 provides more insights into what such an R² looks like. The fitted values in green (practically the zero line) only cover the smallest of price changes.

As promised, a small overview of all statistical terms and their explanations:

  • OLS; short for Ordinary Least Squares, a method that is used to estimate the coefficients in a linear regression.
  • R²; the proportion of variation in the dependent variable (price) that is explained by the explanatory variable (stock-to-flow).
  • β; a model coefficient that measures the effect of one variable (in our case the stock-to-flow ratio) on another (in our case the price).
  • p-value; based on an estimated model coefficient (for instance β) and measures the likeliness of the “true coefficient” being equal to zero.
  • Significance level; how likely it must be for the “true coefficient” to be equal to zero before we assume otherwise, usually 5% (p-value of 0.05). If p-value < 0.05, we conclude that there is a significant effect.

--

--

Tim Stolte
Amdax Asset Management

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