Introducing the Bitcoin Price Z-Score

A simple indicator to visually assess Bitcoin price (ab)normality in its historical context

Nov 28, 2020 · 10 min read

This article first addresses the Market-Value-to-Realized-Value (MVRV) Z-Score, an existing Bitcoin price metric that inspired the author to develop the new indicator that is introduced in this article. After briefly describing an alternative version of the MVRV Z-Score, the new Bitcoin Price Z-Score is introduced. The Bitcoin Price Z-Score is a relatively simple indicator that can be used to visually assess to what extent the current-day Bitcoin price is (ab)normal in comparison to its own price history. Additionally, the indicator is used to visually compare Bitcoin’s price development since this year’s halving event with those of the previous 4-year halving cycles.

Update 15–12–2020: This indicator has been rebranded as ‘Bitcoin Price Temperature (BPT)’ and expanded upon by using it as a color-overlay on the regular price chart, making it an ideal ‘thermometer’ to visually assess to what extent current prices are (over)heated or (under)cooled based on a 4-year time window. Additonally, the concept of BPT Bands was added. The more detailed follow-up article is available here.

Market-Value-to-Realized-Value (MVRV) Z-Score

The Market-Value-to-Realized-Value (MVRV) ratio was introduced by David Puell and Murad Mahmudov in late 2018. The MVRV ratio compares Bitcoin’s current market value (the number of coins in existence times the price per coin) with its realized value, which is the value of all existing unspent transaction outputs (UTXO’s) at the time when they were last moved. A week later, Awe & Wonder proposed the MVRV Z-Score, an alternative version where the MVRV ratio was divided by the standard deviation of the realized value. As a result, the MVRV Z-Score is even more expressive than the original MVRV ratio, clearly exposing historical market tops and bottoms. A live version of the MVRV Z-Score is publicly available on by Philip Swift and on by Willy Woo.

While Awe & Wonder’s MVRV Z-Score is calculated using the appropriate formula, one can argue that it is not actually a Z-Score according to its formal definition. Traditionally, a Z-Score is calculated by subtracting the value of a variable with the population mean of that variable and then dividing that by the population standard deviation [z = (x — μ) / σ]. Awe & Wonder’s MVRV Z-Score uses the realized value as the population mean (μ) of the market value and its standard deviation as that of the population (σ). However, unlike for instance social or medical sciences that study large groups of humans, we don’t need to estimate the population mean and standard deviation, since we know Bitcoin’s actual full price and supply history and thus all of its past MVRV ratio values.

Therefore, an alternative way to calculate the MVRV Z-Score is to subtract the mean MVRV ratio of all previous values from each MVRV ratio in time, and then dividing it by the standard deviation of those historic values. The figure below illustrates the MVRV Z-Score version by Awe & Wonder (left figure) and the proposed alternative MVRV Z-Score version (right figure).

The original MVRV Z-Score by Awe & Wonder (left figure) describes how many standard deviations the market value differs from the realized value for any point in time. Since Bitcoin’s market value is almost always higher than its realized value, the original MVRV Z-Score is rarely negative. The proposed alternative (right figure) describes how many standard deviations each MVRV ratio value lies away from its own historical mean. As a result, the proposed alternative varies more between positive and negative values, and has a slightly different distribution than the original MVRV Z-Score.

However, is the proposed alternative also a more useful metric?

It would be if the actual MVRV ratio itself was the variable that the observer is interested in. However, that is not necessarily the case. For instance, the MVRV ratio at the time of writing is 0.09 standard deviations above its historical mean. This means that the difference between the current MVRV ratio and its own historical mean is slightly larger than is usually the case. While this clearly holds some potentially useful information about market behavior, it is arguably more useful to know to what extent the current market value is overheated or not — which is what the original MVRV Z-Score represented.

However, the relevance of the proposed alternative method to calculate the Z-Scores would be much more relevant if the actual Bitcoin price was used as the variable of interest — which is what the Bitcoin Price Z-Score is all about.

Bitcoin Price Z-Score

The Bitcoin Price Z-Score can be calculated for each point in time (“i”) by subtracting the mean Bitcoin price up to that time (“mean(price[0:i])”) from the respective price (“price[i]”), and then dividing it by the standard deviation of the Bitcoin price up to that time (sd(price[0:i]).

z[i] = (price[i] — mean(price[0:i])) / sd(price[0:i])

The Bitcon Price Z-Scores therefore represent the number of standard deviations that the price of any time point differs from its own historical mean. Perhaps a more simplistic way to think about this is to consider the mean price to be a moving average. A moving average is the mean value over the previous time period (e.g., 7 days, 200 days, 1 year, etc.), that changes as the time period that is used to calculate the mean (the ‘moving window’) changes. Since we’re using Bitcoin’s entire price history in this calculation, this version of the Bitcoin Price Z-Score essentially looks at the relative difference between a Bitcoin price and its ‘infinite moving average’.

The Bitcoin Price Z-Score therefore can be useful as an indicator to determine how (ab)normal the Bitcoin price is in comparison to its own price history. The further away from the mean (a Z-Score of 0) a value is, the more abnormal it is based on its price history. The figure below shows a time series plot of this ‘infinite moving average’ version of the Bitcoin Price Z-Score. The striped green (Z-Score 1), orange (6) and red (11) lines were placed by the author because they visually appear to be interesting from a technical analysis perspective, and are thus arbitrary.

Thanks to the applied Z-Scores, the relative price changes during the past market cycles have become quite comparable. The first cycle was a bit different to the later cycles due to Bitcoin’s immaturity and short price history, but the 2013 double tops and the late 2017 market top have very similar Z-Scores of 11 to 12. Based on this chart, the abnormality of the Bitcoin price increase at the 2017 top was similar to that of the first 2013 top.

At the same time, the current November 2020 price rush to the near all time high (ATH) prices of that same late 2017 top yielded a much lower (~4) Z-Score than during that actual 2017 top (~12). This chart therefore illustrates that the current near-ATH prices are much less abnormal now than those same prices were in late 2017. You can therefore argue that the chart also implicitly visualizes a Lindy effect in the Bitcoin price; the more time price spends at an increased price level, the more normal it becomes.

However, the gradually increasing bottoms are less ideal when you would also like to use this indicator to identify possible market bottoms. After December 22nd, 2011, the Bitcoin Price Z-Score actually never drops below 0 again, and the market bottoms of 2015 and 2018–2019 become slightly higher than the previous cycle every time so far.

Luckily, there’s a logical explanation and possible solution for this. Since we’re using all of Bitcoin’s previous price history as a comparison, that price history becomes longer at every time point, giving the previous values with lower prices more and more weight in the equation that we’re using here. As can be seen in the logarithmic price chart below, Bitcoin’s price also tends to move away from the ‘infinite moving average’ (red line) that we’re using here.

Unfortunately, this chart did spoil the solution to our problem; using a 4-year moving average window might be more appropriate. The Bitcoin software programmatically halves the new coin issuance that is given to miners as a reward for their efforts when a new blocks is found every 210.000 blocks (the striped vertical lines), which happens roughly every four years (210.000 blocks *10 minutes per block = 2.100.000 minutes, 2.100.000/60/24/7/52 = 4.00641 years). As a result, a periodically repeating supply shock is introduced, which has been followed up by a parabolic price increase every time so far.

Although it is tricky to conclude that that the halvings indeed caused these ~4-year cycles based on such a small sample (n=2.125), a good case can be made that it is more appropriate to use the 4-year moving average when calculating the Bitcoin Price Z-Score. The figure below therefore uses the same method as before to calculate the Z-Scores, but with a tweak: it uses the to-date-available data the first four years, and only uses the 4-year moving window data after that. The code that was used for this calculation (as well as all other analyses described in this article) are available on GitHub.

As expected, the market bottoms are now more comparable, with each cycle bottoming out around the 4-year moving average (a Z-Score of 0; the green line). The last time this version of the Bitcoin Price Z-Score was below zero was on March 16th, 2020, which was the day after the Covid19 global market panic, where Bitcoin’s price crashed by ~50% in two days. The 2017 market top is now slightly less abnormal in comparison to the 2013 double tops, but the 2011 market top is more similar to the others. Intuitively, these proportions seem to be more appropriate than those in the initial version.

As mentioned before, the colored lines in the chart were arbitrarily chosen because they appear to be related to previous market cycle tops. This chart and method have no predictive powers and there are no guarantees that the Bitcoin Price Z-Scores will necessarily reach any level again in the future. However, if you assume that the 4-year cycles will repeat, it is possible to calculate what current-day prices would be needed to reach those Z-Scores:

  • Yellow line (Z-Score 6): $38.220,88
  • Orange line (Z-Score 8): $50.961,17
  • Red line (Z-Score 11): $70.071,60

However, it is unrealistic to expect the Bitcoin price to move towards those levels overnight. If the Bitcoin price is indeed to reach those levels, a more likely scenario is that it gradually increases towards those levels, possibly with a parabolic rise to reach the actual market top like it did during the previous cycles. In such a scenario, these predicted price levels will also gradually increase over time and need to be recalculated using that future data.

Since the use of Z-Scores improves the comparability between the cycles and we assume that those 4-year cycles are related to the halving events, it might be interesting to assess to what extent the price developments of those cycles are indeed similar. To do so, the figure below overlays the price developments of the Bitcoin Price Z-Scores of each halving epoch.

The first epoch was clearly quite different from the others. Since Bitcoin’s inception on January 3rd, 2009, it took over 1.5 years before the first US dollar price was captured — at least in the freely available Coinmetrics Community data that was used here. Aside from the obvious fact that the newly-born Bitcoin network needed a bit of time to mature and develop an actual market, the lack of price history in those early days itself also provides a clear statistical reason why it was relatively hard to get high Z-Scores there. After four years (~1.5 years into the 2nd epoch), this is no longer an issue, since a 4-year moving window was used after that. Therefore, particularly the third and this fourth epoch will be optimally comparable.

The second, third, and so far this start of the fourth epoch are actually relatively similar. As can be seen in the chart, the current Z-Score (right end of the purple line) is really close to the Z-Scores of the 203 day post-halving Z-Scores of the previous two cycles. Bitcoin’s current price developments therefore appear to be in line with those of the previous cycles so far.

Update 15–12–2020: This indicator has been rebranded as ‘Bitcoin Price Temperature (BPT)’ and expanded upon by using it as a color-overlay on the regular price chart, making it an ideal ‘thermometer’ to visually assess to what extent current prices are (over)heated or (under)cooled based on a 4-year time window. Additonally, the concept of BPT Bands was added. The more detailed follow-up article is available here.

Follow Dilution-proof on Medium or Twitter to be notified of future updates.

Disclaimer: This article was written for entertainment purposes only and should not be taken as investment advice.

The indicators that were introduced in this article are free to be replicated, used and expanded opon by others, as long as the author of and/or the link to this article is referred to. The code used for the charts and analyses in this article are publicly available on GitHub.

The Startup

Get smarter at building your thing. Join The Startup’s +788K followers.

Sign up for Top 10 Stories

By The Startup

Get smarter at building your thing. Subscribe to receive The Startup's top 10 most read stories — delivered straight into your inbox, once a week. Take a look.

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +788K followers.


Written by

Bitcoin enthusiast interested in Bitcoinometrics, on-chain data, Austrian economics, privacy & self-sovereignty

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +788K followers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store