My Authors
Read all threads
1/n Since @100trillionUSD posted his article, a lot of critical new developments in the #Bitcoin Stock-to-Flow (S2F) modeling unfolded. The discussion is a bit complex & scattered, so I'll attempt to summarize recent events in a (hopefully) easy-to-understand) way.

A thread. 👇
2/n If you'd like a brief history of the evolution of the #Bitcoin S2F model before we dive into the matter at hand, this thread will get you up to speed:

3/n The discussion at hand was spurred by @100trillionUSD's latest article that introduced the 'Bitcoin Stock-to-Flow Cross Asset Model' (S2FX), but the discussion we're about to highlight itself is actually not about that model, but about its predecessors.
4/n What he did (slightly simplified) for the S2FX model was use a clustering algorithm to basically splice #Bitcoin into 4 assets with the idea that it underwent phase transitions. He then used those with silver & gold as datapoints for the S2FX model.

5/n Since #Bitcoin's S2F is programmed in and time-dependent (see x-axis in figure), the S2F data used in the original S2F model is a 'time series'.

Wiki: "A time series is a series of data points indexed (or listed or graphed) in time order." - en.wikipedia.org/wiki/Time_seri…
6/n ... but since the datapoints used in the S2FX model are not indexed in time order but S2F values from separate assets are used as predictor variables (see x-axis in figure), time is no longer part of the equation and and the data is thus not a time series.
7/n Why is this relevant? Because for @btconometrics & @BurgerCryptoAM that tried to falsify the S2F model mid-2019, the concept that glued everything together and turned them from septics into supporters only applies to time series.

Deep-dive-material:
8/n When @100trillionUSD published his original S2F article in March 2019, the fact that his model based on just S2F explained almost 95% of Bitcoin's price was what triggered a lot of skepticism - it sounded too good to be true.

medium.com/@100trillionUS…
9/n A common problem in time series is that two variables are trending upwards or downwards at the same time, but are completely unrelated. The website tylervigen.com/spurious-corre… has a lot of fun examples of that.

Could the relation between #Bitcoin's S2F & price also be spurious?
10/n In time series, this can be assessed by testing for cointegration.

... what? 🤔

Wikipedia: "Cointegration is a statistical property of a collection of time series variables." - en.wikipedia.org/wiki/Cointegra…

In #Bitcoin's S2F model, both S2F & price are time series variables.
11/n In @btconometrics's first piece, he used a test called the 'Johansen Test' to find that #Bitcoin's S2F and were cointegrated, and thus the relation between S2F & price that @100trillionUSD found was in fact not coincidental. A staggering finding!

medium.com/@btconometrics…
12/n Shortly after, @BurgerCryptoAM replicated this finding using a different combination of tests. At this point, two independent quants had not been able to falsify the S2F model and thus more or less validated the model, after which it really took off.

medium.com/burgercrypto-c…
13/n A month ago, @BurgerCryptoAM posted a new framework for statistical testing that inspired @btconometrics to revise his original methods. Using these, he again concluded that S2F & price are cointegrated.

For a full summary of that, see this thread:
14/ Lets expand on the concept of 'stationarity' - that is what the current discussion I'm about to highlight is all about.

"A stationary process has the property that the mean, variance and autocorrelation structure do not change over time." - itl.nist.gov/div898/handboo…
15/n Let's look at an example.

The top chart is a stationary process; the values fluctuate around 0 in a relatively 'stable band'.

The below chart is not a stationary process; the values drift away from zero at fluctuating paces.
16/n In @btconometrics' first article he used two statistical tests to find that both #Bitcoin price and S2F are non-stationary. Since both are non-stationary, he could use the Johansen test. The framework that @BurgerCryptoAM later shared confirmed this:

17/n However, the framework-article that @BurgerCryptoAM shared also discussed that time series can have a 'structural break' that reminded him quite a lot of the #Bitcoin halvening that doubles its S2F every 210.000 blocks. Luckily, a new test to account for that was included.
18/n Using this test that could account for 1 structural break, @btconometrics concluded that while #Bitcoin's price is clearly non-stationary, its S2F ratio actually is - which means the Johansen test shouldn't have been used to test for cointegration.

19/n Using the ARDL-model that @BurgerCryptoAM's framework-article suggested, @btconometrics once again concluded that S2F & price are cointegrated, and was able to create an ARDL-based S2F model for #Bitcoin.

20/n ...and now for the new information. Yesterday, @moneymanolis invited @Kripfganz (who created the statistical package that @btconometrics used) to chime in. Tldr; if S2F is indeed stationary ("I(0)"), there can be no cointegration with price.

21/n So, is this indeed the end of the #Bitcoin S2F and price cointegration discussion? And if so, what does that mean for the S2F model overall?
22/n If the cointegration test (tweet 11) is falsified, it means that there is no proof that the relation between #Bitcoin S2F & price that @100trillionUSD originally identified is not spurious. That doesn't mean that it IS spurious, just that we don't know if it is or isn't. 🤷‍♂️
23/n In the end, the remaining quest for cointegration comes down to the following: Is S2F a stationary or a non-stationary variable? Simply put:

If it is stationary ("I(0)"): No cointegration.

If it is non-stationery ("I(1)"): Cointegration.

No pressure. No pressure at all.
24/n One of the things to look at is how exactly the S2F parameter should be composed.

E.g., with daily data, the S2F ratio doubles within a single day, creating an abrupt jump in the model-price like we saw in the earlier versions of the S2F charts that @100trillionUSD shared.
25/n According to @moneymanolis, the abrupt change in S2F should be seen as a structural break, suggesting @btconometrics' choice to account for it (tweet 18) was appropriate.

However; with a larger window (e.g. 1 year like is used for gold), S2F becomes more non-stationary.
26/n As an example for this 'smoothening out', @digitalikNet's website shows 2 versions of the S2F variable with different smoothening. The purple line uses a 10-day window, the blue one a 1-year window.
27/n Other charts like those from @glassnode, @PositiveCrypto and @hamal03 also use a smoothened S2F parameter in their visualizations.

Using it in a graph is one thing, but using it in your data-analysis can be tricky, as @BurgerCryptoAM also points out:
28/n That's why I personally think it's very important to base the choice on how to operationalize the S2F parameter on deductive reasoning, preferably based on existing literature. (Ideally, even a priori.)

29/n Besides the discussion on the S2F parameter, @btconometrics also found another test that can account for two structural breaks; in #Bitcoin's case both the 2012 and 2016 halvening. I personally expect that test to conclude stationarity again.

30/n If these tests can account for just one or two structural breaks, I wonder if what we're testing right now is fundamentally appropriate, since #Bitcoin has ~30 more halvenings to go. Won't we always end up with the conclusion that it is non-stationary at some point?
31/n While I was writing this thread, @BurgerCryptoAM was actually already working on the next steps:

Looks like the fat lady hasn't sung yet. Grab a chair, grab some 🍿 and follow the guys mentioned in this thread to see where this goes next.
...and the interpretation of that update:
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Dilution-proof

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!