/ Tutorial

Understanding the 24 hour change percentage on cryptocurrency index websites

It may seem like a simple thing to comprehend but you might be surprised by the nuances in calculating the daily percentage change that we've all come to know and love in cryptocurrency.

Cryptocurrency indexes such as the most well known CoinMarketCap tell users what the day in cryptocurrency looks like by displaying the "24 hour change in price" in % format. The way this is done however, can be very misleading and often confusing. It can make some days look like the beginning of a huge bear market and others look like the beginning of an enormous bull market, while making some look like the price hasn't moved at all. All while the price isn't currently moving, at all. That is, you can see the price today stay completely solid at $100 and yet the percentage change over the 24 hour period will fluctuate wildly.

To understand what I mean, it's important to understand what they mean by the 24 hour rolling period. You see, crypto indexes were made like stock indexes and stock indexes have a % change since market open and that's what they show as the change for that day. This is possible because stock markets open at certain hours and then close for the day. Some days they aren't open at all. Cryptocurrency markets are open at all times, 24/7, so this type of calculation is not possible. There is no market open and market close.

So what do these indexes do? Well, they take the current time, let's say it's 12:00:00 on Tuesday, January 2nd and then they compare the price of Bitcoin to the price of Bitcoin yesterday at 12:00:00, which would be Monday, January 1st.

Let's do a thought experiment to look at how this can result in what I consider to be an extremely confusing and bizarre display of percentage change, particularly to someone who does not know how this works, which I'm willing to bet is the vast majority of people who view these websites.

For the purposes of this experiment, let's imagine that unlike CoinMarketCap, the price comparison is updating in real time (instead of every 5 minutes). Let's imagine that at 12:00:00 on Monday 1st, the price of Bitcoin is $100. Now, Monday is a turbulent day because it's Chinese New Year so people panic and from 12:00:00 to 12:01:00, that is, for 60 seconds, the price of Bitcoin plummets to $50. Then imagine from 12:01:00 to 12:02:00, the price goes back to $100 and it stays there. Now imagine it's 12:00:00 on Tuesday the 2nd. There's no Chinese New Year today, so the price stays at $100 the entire day. However, from 12:00:00 until 12:02:00, the price appears to fluctuate enormously if you're looking at the 24 hour percentage change. Don't see what I mean? Let's just go with the calculations.

  • Tuesday 2nd at 12:00:50, price is at $100, Monday at 12:00:50 price was at $60 during Chinese New Year sell off, current 24 hour change is 40% increase.
  • 12:01:00 comes around on Tuesday 2nd, price still at $100. Compared with Monday 1st at 12:01:00, price was at $50, now we're at 50% increase.
  • 12:02:00 comes around on Tuesday 2nd, price still at $100. Compared with Monday 1st at 12:02:00, price was back at $100, now we see 0% change in price.

So because the 24 hour percentage indicator is changing based on price movements yesterday, not based on price movements today, which is more along the lines of what I would intuit naturally and I think most people would too.

So what can we do about it? Well, we could propose setting a time which the market opens and closes at? When the day starts/ends. For example, we could say that every day starts at 00:00:00 UTC and that every percent change should be compared with 00:00:00 UTC on that day. We could also simply ask for more clarity in the display of these percentages so it's more intuitive to users to understand what's happening under the hood.

Either way, any change will require these cryptocurrency indexes to play ball. If we were to change to an open/close time, I don't think it's all that important that we pick UTC or anything like that, we could choose any time, as long as in the UI of the index it's made clear what the "open time" of the market was and how this is being used in the calculation of the percentage changed over 24 hour indication.