February 8, 2023

Falsifying Stock-to-Flow Ratio as a Bitcoin Cost Model

In this article, the author tries to answer the question: is there a relationship between the ratio of stocks to growth (Stock-to-Flow, or S2F) and costbitcoin. He checks the proposed PlanB double logarithmic model for statistical reliability, based on the least squares method, for the invariance in time of each of its variables and for possible false dependencies. The Vector Error Correction Model (VECM) was created and tested on the basis of the initial model of the ratio of stocks to growth. Although some of these models are superior to the original from the point of view of the Akaike information criterion, they all cannot refute the hypothesis that the ratio of stocks to growth is an important and uncomplicated predictor of the price of bitcoin.


The scientific method is complicated for most people. It is counterintuitive, and therefore can lead to conclusions that do not reflect the views of the authors. In order to understand this method, it is necessary to understand and accept its fundamental idea: make mistakes normally. This should be taught at school. If we are afraid to make a mistake, we can never offer anything new. The history of scientific discoveries is full of happy coincidences. Random finds and discoveries can be just as (or even more) important than what they were working on at that moment. Ideas may be erroneous or unconvincing, but what is discovered in the process of testing them creates the foundation for followers.

According to the great philosopher of science KarlPopper, testing a hypothesis for its fallacy is the only reliable way to add weight to the argument that it is true [1]. If rigorous multiple tests cannot prove that the hypothesis is erroneous, then with each such test the likelihood that it is true increases. This concept is called the falsifiability (or potential disproof) of the theory. In this article, I will try to falsify the Bitcoin price determination model based on the Stock-to-Flow coefficient described in PlanB's article “Modeling Bitcoin Price Based on Its Shortage” [2].

Problem definition

To falsify a hypothesis, you must first establish what it consists of:

Zero Hypothesis (H0): Bitcoin value is a function of its Stock-to-Flow coefficient

Alternative hypothesis (H1): Bitcoin value is not a function of its Stock-to-Flow coefficient

PlanB in his article [2] decided to check H0,correlating Regular Least Squares Regression (OLS) on the natural logarithm of Bitcoin's market capitalization and the natural logarithm of the Stock-to-Flow coefficient. The author did not present any concomitant diagnostics, nor any specific reason for the logarithmic transformation of both variables, except for the idea that the double logarithmic model can be expressed as a power dependence. Being non-stationary, this model does not take into account the possibility of establishing false dependencies.


In today's article, we will look at this model,we will diagnose normal regression and determine whether the transformation of the logarithm was necessary or appropriate (or both), and also examine possible interfering factors (confounders), interactions, and sensitivity.

Another issue we are exploring isnon-stationary problem. Stationarity (invariance in time) is a prerequisite for most statistical models. This refers to the idea that if a trend relative to time is absent in average values ​​(or variance), then it is absent at any moment in time.

In addition to stationarity analysis, we are also exploring the possibility of cointegration.


Traditionally, the calculated value of a statistical parameter is indicated by a “header” above the symbol. Here we will use [] instead; estimated value β = [β]. The 4 × 4 matrix will be represented as [r1c1, r1c2 r2c1, r2c2], etc. To denote indexed elements, we will use the @ symbol - for example, for the 10th position in the vector X, X is usually used with the subscript 10. Instead, we will write [email protected]

Ordinary Least Squares (OLS)

Regular least squares regression is a method of finding a linear relationship between two or more variables.

First, let's define a linear model as some function X, which is equal to Y with some error.

Y = βX + ε

where Y is a dependent variable, X is an independent variable, ε Is the magnitude of the error, and β - multiplier X. OLS task is to print the value β so as to minimize ε.

In order to derive a reliable calculated value [β], it is necessary to observe some basic conditions:

  1. The presence of a linear relationship between dependent and independent variables
  2. Homoskedasticity (i.e. constant variance) of errors
  3. The average value of the error distribution is usually zero
  4. Lack of autocorrelation of errors (that is, they do not correlate with the sequence of errors taken with a time shift)


We begin by considering the ratios of market capitalization and S2F coefficient that were not transformed into a scatter diagram (data from source [4]).

Fig. 1 - The ratio of market capitalization to stock-to-flow ratio. The data is too scarce to be able to establish a relationship.

Figure 1 clearly shows sufficient reason fortaking the logarithm of market value: the range of values ​​is too large. When taking the logarithm of the market value (but not S2F) and re-plotting the chart, we get a familiar pattern (Figure 2).

Fig. 2 - the ratio of the logarithm of market capitalization and the coefficient S2F. A distinct logarithmic pattern arises.

Taking the logarithm of the coefficient S2F and constructing a diagram already with it, we get an obvious linear pattern identified by the author of the source [2] (PlanB) in Figure 3.

Fig. 3 - the ratio of the logarithms of market capitalization and the coefficient S2F. There is an obvious linear relationship.

This confirms the correct choice of the double logarithm as the only option that results in a well-visible linear relationship.

An alternative transformation was finding the square root of both parameters. The resulting pattern is shown in Figure 4.

Fig. 4 is a conversion result by calculating the square root of market capitalization and S2F.

Obviously, double logarithm is the most suitable transformation to satisfy the first condition, linearity.

Thus, preliminary analysis does not refute H0.

The results of the double logarithmic regression are shown in Figure 5 below, where [β] = [3.4, 3.7] (95% confidence interval).

Fig. 5 - results for double logarithmic regression.

Using this model, we can now determine the residuals [ε] and calculated values ​​[Y], and also check compliance with other conditions.


Subject to the condition for the constancy of variance inthe error value (i.e., homoskedasticity), the error for each value of the predicted value fluctuates arbitrarily around zero. Therefore, the graph of the relationship between the residual value and the estimated value (Fig. 6) is a simple but effective way to graphically verify that this condition is met. Figure 6 shows a certain pattern, rather than random scattering, which indicates the variability of the variance in the magnitude of the error (i.e., heteroskedasticity).

Fig. 6 is a graph of the ratio of residual value to estimated. With a constant variance of the error, the pattern would not be observed. The presence of a pattern indicates a possible problem.

A consequence of such heteroskedasticity is a greater dispersion and, consequently, lower accuracy of the calculated coefficient values ​​[β]. In addition, it leads to greater than it should be, the significance of p-values, since the OLS method does not reveal increased variance. Therefore, to calculate t- and F-values, we use an underestimated dispersion value, leading to a higher significance. It also affects the 95% confidence interval for [β], which is also a function of variance (through standard error).

You can safely continue at this point.regression, aware of the existence of these problems. There are ways to deal with them - for example, taking bootstrap samples or a robust dispersion estimate.

Fig. 7 - The effect of heteroskedasticity is shown in robust evaluation.

As can be seen in Figure 7, despite a smallan increase in variance (see extended confidence interval), by and large, the present heteroskedasticity does not in fact have such a detrimental effect.

At this stage, we cannot refute H0 due to heteroskedasticity.

Normal error distribution

Satisfaction of the condition that the error indistributed with an average value of zero is not as important as satisfying the conditions of linearity or homoskedasticity. With non-normal distribution, but not distorted residuals, confidence intervals will be overly optimistic. If the residuals are distorted, then the final result may be distorted. However, as can be seen from Figures 8 and 9, the residues are within normal limits. The average value seems to be approximately equal to zero, and although a formal test would probably refute the normal distribution hypothesis, the residuals correspond to the normal distribution curve to a sufficient extent so that confidence intervals are not affected.

Fig. 8 is a histogram of the error with the (normal) normal distribution curve superimposed on it.

Fig. 9 is a graph with normal quantiles of the error value. The closer the dots to the line, the better the normal fit.

Strength (Leverage)

Leverage here is a concept according to whichnot all data points in a regression make an equal contribution to the estimation of coefficients. Some high impact points can significantly change the coefficient depending on whether they are present or not. In Figure 10 it is clearly seen that in the early stages (March, April and May 2010) there are several questionable points. This is not surprising, and PlanB in his article [2] mentioned that collecting data for an early period was fraught with certain difficulties.

Fig. 10 - impact force and squared normalized residues.

If we restart the regression without these points (suppose there is some kind of error in them), then since we know about the problem of heteroskedasticity, we need to use robust estimates.

Fig. 11 - the removal of points with a high impact force significantly changed the calculated value [β] and improved the value of the Akaike information criterion (AIC).

Figure 11 shows that the removal of these removal of these three points significantly changes the calculated [β] and the value of the Akaike information criterion is significantly reduced, which suggests that the model is the best, despite the lower R².

OLS Summary

Basic diagnostics point to a few small and fixable problems with the original least squares. At this stage, we cannot refute H0.


A stationary process is called a process with a general order of 0(e.g. I (0)). The non-stationary process is I (1) and more. The calculation of the integral in this context is rather “for the poor,” the sum of the differences with a time shift. I (1) means that when subtracting the first lag from each value in the series, an I (0) process is obtained. It is fairly well known that regression over non-stationary time series can lead to the identification of false relationships.

Figures 12 and 13 below show that we cannotdisprove the null hypothesis of the extended Dickey-Fuller test (ADF). The null hypothesis of the ADF test is that the data are non-stationary, that is, it cannot be argued that the data is stationary.

Fig. 12 - extended Dickey-Fuller test for a unit root on ln (cost).

Fig. 13 is an extended Dickey-Fuller test for a unit root on ln (S2F).

The Kwiatkowski-Phillips-Schmidt-Shin test (KPSS) is an additional stationarity test for ADF tests. The null hypothesis of KPSS is that data are stationary. As can be seen in Figures 14 and 15, we can refute the stationarity for most lags in both variables.

Fig. 14 and 15 - KPSS test against the null hypothesis of stationarity.

KPSS tests prove that these two series, outsideall doubt are unsteady. And there is some problem. If the series is not stationary at least relative to the trend, then the OLS method can identify false dependencies. The only thing we could do was take the difference between the logarithm and the monthly value of each variable and rebuild our least squares. However, due to the fact that this question is quite widespread in econometric circles, we have a much more reliable framework called cointegration.


Cointegration is a way to deal with a couple(or more) processes I (1) and determine whether there is a relationship between them and what it consists of. To illustrate cointegration, a simplified example of a drunkard and his dog is often given [3]. Imagine a drunk man heading home, walking a dog on a leash. A drunkard sways in an unpredictable way along the entire width of the road. The dog is also moving rather chaotically: he sniffs the trees, barks, digs something with his paws - such a restless little dog. However, the dog’s range of motion will be limited by the length of the leash held by the drunkard. That is, it can be argued that at any point on the drunkard’s route, the dog will be within the length of the leash from him. (Of course, we cannot predict in which direction from the drunkard she will be at each moment of time, but she will be within the leash.) This is a very simplified metaphor for cointegration - the dog and its owner move together.

Compare this with the correlation: let's say a stray dog ​​follows a drunkard’s dog for 95% of their journey, and then runs away with a bark the other way behind a passing car. The correlation between the routes of a stray dog ​​and a drunkard would be very strong (literally R²: 95%), however, like many random connections of a drunkard, this ratio would mean nothing at all - it cannot be used to predict the location of a drunkard, since for some A fragment of the path, the forecast based on these data will be correct, but for some parts it will be completely inaccurate.

In order to find the location of a drunkard, we first need to understand which lag order specification should be used in our model.

Fig. 16 is a specification of a delay order. The minimum AIC value used to determine.

Here we determine the delay order most suitable for the study by choosing the minimum AIC value of order 2.

Next, we need to determine the presence of a cointegrating relationship. The Johansen framework [5, 6, 7] gives us excellent tools for this.

Fig. 17 - Johansen cointegration test.

The results presented in Figure 17 give us reason to assert that there is at least one cointegrating equation between ln (cost) and ln (S2F).

We define our VECM as:

Δ[email protected] = αβ`[email protected]+ Σ (Γ @ iΔ[email protected]) + v + δt + ε @ t

Fig. 18 - information about all equations of the model.

Fig. 19 - calculated values ​​of short-term parameters and their statistics.

Fig. 20 is a cointegrating equation for the model.

Fig. 21 - Akaike information criterion for VECM.

In the figures above, we have the following calculated values:

  • [α] = [-0.14, 0.03]
  • [β] = [1, -4.31],
  • [v] = [0.03, 0.2] and
  • [Γ] = [0.196, -0.095 -0.318, -0.122].

In general, the result indicates that the modelfits well. The coefficient ln (S2F) in the cointegration equation is statistically significant, as well as the correction parameters. The adjustment parameters indicate that if the forecasts from the cointegration equation are positive, then ln (cost) is below its equilibrium value, since the coefficient on ln (cost) in the cointegration equation is negative. The estimated value of the coefficient [D ln (cost)] L. ce1 is -0.14.

So if the value of bitcoin is toosmall, it quickly rises back to the level of correspondence ln (S2F). The estimated coefficient [D ln (S2F)] L. ce1, equal to 0.028, implies that at too low a cost for bitcoin, it is adjusted to an equilibrium level.

Fig. 22 is a predicted cointegration equation.

The figure above shows that the result of the cointegration equation tends to tend to zero. Although formally it may be unsteady, it definitely tends to be stationary.

From the Stata software user guide:

Accompanying matrix for VECM with K endogenous(intrasystem) variables and r cointegration equations has Kr eigenvalues. If the process is stable, then the modules of the remaining eigenvalues ​​of r are strictly less than one. Since there is no common distribution for eigenvalues, it can be difficult to determine whether they are too close to unity.

Fig. 23 - roots of the accompanying matrix.

Graphic representation of eigenvaluesshows that none of the remaining eigenvalues ​​is close to the edge of the unit circle. Checking the stability of our model does not indicate its fallacy.

Fig. 24 - impulse response function.

The above figure indicates that the orthogonalized jump to the value of the S2F coefficient has a constant impact on the value of bitcoin.

And in this place we will draw a line. The ratio of stocks to growth is not a random variable. This is a function with a known value in time. There will be no jumps in S2F values ​​- its cost can be calculated with accuracy in advance. However, this model provides very convincing evidence that there is a fundamental, unreliable relationship between the value of the S2F coefficient and the value of bitcoin.


In this study, we did not take into account anyinterfering factors (confounders). Given the above evidence, it is unlikely that any confounders could have a significant impact on our conclusion - we cannot refute H0. we can not argue that there is no relationship between the ratio of reserves to growth and the value of bitcoin. If this were so, there would be no cointegration equation.


Although some of the models presented here are withthe points of view of the information criterion, Akaike are superior to the original PlanB model, they all can not refute the hypothesis that the ratio of stocks to growth is an important and uncomplicated predictor of the price of bitcoin.

To illustrate, back to the drunkard metaphorfrom the example above: if we compare the cost of bitcoin with a drunkard, then the Stock-to-Flow coefficient is not the dog that he leads on a leash, but rather the road along which he goes. A drunkard will stagger along the entire width of the road, sometimes he will slip, miss corners or even cut off some corners, but in general he will keep to the road home.

That is, in short, Bitcoin is a drunkard, and the ratio of reserves to growth is the road it goes on.

Quoted Materials

  1. Karl Popper, The Logic of Scientific Research (1959)
  2. https://bitnovosti.com/2019/04/03/modelirovanie-tseny-bitkojna-ishodya-iz-ego-defitsitnosti/
  3. Murray, M. (1994). A Drunk and Her Dog: An Illustration of Cointegration and Error Correction. The American Statistician, 48(1), 37–39. doi: 10.2307 / 2685084
  4. https://github.com/100trillionUSD/bitcoin
  5. Johansen, S. 1988. Statistical analysis of cointegration vectors. Journal of Economic Dynamics and Control 12: 231–254.
  6. Johansen, S. 1991. Estimation and hypothesis testing of cointegration vectors in Gaussian vector autoregressive models. Econometrica 59: 1551-1580.
  7. Johansen, S. 1995. Likelihood-Based Inference in Cointegrated Vector Autoregressive Models. Oxford: Oxford University Press.
  8. Becketti, S. 2013. Introduction to Time Series Using Stata. College Station, TX: Stata Press.


  • For all analyzes, Stata 14 software was used.
  • The article does not contain financial recommendations.