The LGS-S2F Bitcoin price formula

QuantMario
8 min readMay 10, 2020

A Bitcoin Limited Growth Model based on a Smooth Stock-to-Flow conjecture

An analytical formula for the Bitcoin price which depends only on stock, flow and three model parameters is derived from a smooth, continuous approximation of the Bitcoin stock-to-flow.

Follow QuantMario on Twitter.

Bitcoin has scarcity programmed in its protocol [1]. The block reward gets divided by two every 210,000 blocks, and this has occurred only two times in history. And it’s happening again — May 11th, 2020. But what exactly changes on that day?

Approximately every ten minutes, a new block gets mined. The per-block reward for the bitcoin miners has been coded to be

where h is the height of the blockchain, and ‘//’ denotes integer division in Python syntax. The following plot visualizes the block reward as a function of the block height h. The blue step function goes one step down at every halving. Since this is a logarithmic plot, each step corresponds to the division by two, or is said to be a halving.

The orange curve, corresponding to the right-hand-side axis, is simply the cumulative sum over the block rewards. Because the block reward is the only source of bitcoins, this equals the total number of coins.

Now, what is stock-to-flow? Stock-to-flow proposes that things that are hard to increase in quantity, compared to their existing stock, are valuable. The most famous example is gold, which served for millennia as a hard currency for peoples all over the world.

PlanB has adapted the idea of value due to the scarcity of Bitcoin in his famous S2F model [2]. The existing stock of Bitcoin is the total number of all bitcoins. The flow is the current block reward, or the average thereof over, e.g., the past year. The S2F model has gained a lot of attention while it is an ongoing discussion about whether price and S2f are indeed non-spurious [3–6]. So far, the out-of-sample performance of the S2F model has not disappointed. The price has been well within the predicted limits. Other approaches to model the price evolution of Bitcoin are, e.g., [7], which is a purely time-based power-law model. Note that in this article, we use the stock-to-flow ratio as model underlying and then transform the model into a price formula.

In this article, I am going to improve on the existing S2F model.

I see mainly two things that need improvement. First, S2F assumes there is an unlimited amount of money in the world that can flow into Bitcoin. But there is not. The total value of all the property in the world is estimated to be around $217 trillion (measured in today’s worth of the dollar). The only possibility for the bitcoin price (in USD) to rise towards infinity is hyperinflation of the dollar. But in this scenario, it is the dollar pushing the BTC/USD falsely up and not the Bitcoin value that increases. In such a case, it would be better to measure the price of Bitcoin in other units, e.g., in units of gold. Thus, it is easy to see that the original S2F model will eventually collide with reality. And this might be sooner than you think:

After the fifth halving in about eight years from now, the original S2F model predicts the Bitcoin market capitalization to be higher than the value of all the property in the world: equities, real estate, fiat money, gold, etc. Sounds impossible? Right.

Which upper bound of the Bitcoin market capitalization do I suggest? None. I will leave it up to a model fit to decide which is the ultimate limit for the Bitcoin market value.

Compared to this major problem of the S2F model, my second point will sound like a plain beauty treatment. Well, it actually is. Remember the figure from above with the stepwise decreasing block reward?

I suggest to model on this curve instead:

Here we have replaced the block reward formula from above with the continuous function

Notice the standard float division instead of the integer division from before. In case you wonder about the number -0.471234: it’s necessary to keep the balance when adding up the flow, see this WolframAlpha link for details.

There are several reasons why replacing the step-function-like flow with a continuous function is reasonable. To begin with, why is the block reward not adjusted continuously in the first place? Only for practical reasons.

We are approximating the de-facto block reward function with a smooth one. And for what? The answer is, to model the bitcoin price based on stock-to-flow. So how exactly is the flow in stock-to-flow defined?

“A flow variable is measured over an interval of time.” [Wikipedia]

There is no universal truth of which interval of time is the right one. But for a purely deterministic and periodic case like Bitcoin — I think it’s most natural to take the flow over the time-interval of 210’000 blocks or approximately four years.

Again, given the deterministic nature of Bitcoin, and to anticipate questions like “Is the halving already priced in?”, I suggest the 210’000 block rolling average of the block reward to be centered. This, in turn, gives precisely the smooth flow approximation that I have presented above.

We now have all the ingredients ready to propose the actual model.

This is a limited growth power-law model. It has, as a model parameter, the upper bound c for the market cap (in units of $T). Other fitting parameters are a and b. Here, s2f corresponds to the smooth stock-to-flow, according to the formula form above.

Data

We use bitcoin price data from https://blockchain.info/ downloaded via the API from Quandl reaching May 1st, 2020. Moreover, I downloaded the actual historical block height with timestamps from http://www.bruijn.nu/. Data preparation included the calculation of the smooth-s2f on the historical data, and on the calculated extension beyond the last day in the historical sample.

Model fit

Below we see the historical bitcoin data (daily) on a Market Capitalization versus (smooth) stock-to-flow plot. The blue curve is the resulting fit of the model. The model fit is of the same quality as the original S2F, indicated by the r2 value. One exciting observation from the resulting fit parameters is that, given the historical data until today, the model predicts the upper bound of the bitcoin market cap to lie at about 81.0 +/-22.7 $T, given by fit parameter c. The other parameters are a=24.16+/-0.17 and b=0.377+/-0.02.

The gray dotted line in the plot is a linear fit to the smooth stock-to-flow for comparison. Note that the limited growth fit describes the data already better than the straight line at the current stage in time. The r2 value of the finite growth model is higher by 2%. So far, the discrepancy is tiny, but, more importantly, now is the time where the two models diverge.

Bitcoin price formula

Now we get to meet the real beauty of having adopted an analytical approximation of the bitcoin flow. We insert the flow in the model equation, together with the market cap, which is just price multiplied with stock. Solving for price p yields:

This is an actual formula for the bitcoin price as a function of stock s and block height h. The parameters a, b, c have been determined by fitting the model to the historical price data. The stock and block height of Bitcoin is known today for every point in the future, and thus, with this formula and with the model parameters, we can directly forecast the price of Bitcoin for any time.

The following diagram plots the bitcoin price formula, along with the daily historical prices.

The green bands are the one, two, and three sigma error bars on the price, which were obtained via error propagation of the standard errors from the model parameters (for the partial derivatives of each parameter, refer to WolframAlpha: parameters a, b, and c).

Predictions

“History doesn’t repeat itself but it often rhymes.” — Mark Twain

If the stock-to-flow ratio remains the main driver of the Bitcoin price, I expect the LGS-S2F model to stay valid, and one could expect to see the following:

  • The past three halving cycles have each seen the formation of a price bubble that exceeded the error bands of the LGS-S2F model for a short time. If this happens again, we can expect to see the price peak at 100 $K during the coming cycle.
  • The market cap of gold (around 10 $T) will be reached by 2035. This translates to almost half a million USD per bitcoin. Note that this is the year where the model value, i.e., the middle of the band reaches that market cap. We could see short-lived price peaks at that value already around 2030, after the fifth halving in 2028.
  • Eventually, the model predicts the market cap of Bitcoin to reach around 60–100 T$, which puts each bitcoin at 2.8–4.8 $M.

References

[1] https://bitcoin.org/bitcoin.pdf — Satoshi Nakamoto, 2008

[2] PlanB@100trillionUSD, Modeling Bitcoin Value with Scarcity, Mar 2019

[3] Nick Emblow, Falsifying Stock-to-Flow As a Model of Bitcoin Value, Aug 2019

[4] Marcel Burger, Reviewing “Modelling Bitcoin’s Value with Scarcity”, Sep 2019

[5] Manuel Andersch, Is Bitcoin outshining gold?, Sep 2019

[6] Nic Carter, Hasu@Hasufl, Visions of Bitcoin — How major Bitcoin narratives changed over time, Jul 2018

[7] Harold Christopher Burger, Bitcoin’s natural long-term power-law corridor of growth, Sep 2019

--

--