General Info
Methodology
Liquidity Book

Press Kit
Widgets

Authors
Changelog

Privacy Policy

How We Calculate Prices and Volumes on COIN360

We collect data from 25 verified exchanges to define the price and the volume of each cryptocurrency: Bitmex, Binance, OKEX, Huobi Global, HitBTC, Bithumb, Coinbase Pro, Upbit, Bitfinex, Kraken, Bitstamp, Liquid, bitFlyer, Gate.io, Coinone, BitTrex, Gemini, Poloniex, Exmo, itBit, CEX.IO, Korbit, IDEX, DSX, Huobi (HBUS) to further calculate with the help of our algorithm.

The calculated data is updated about every 8 seconds. See below for an example of how we calculate aggregated price and volume on COIN360.

Introduction

The initial data for the calculation is the price of the last transaction, the minimum and maximum price in the past 24 hours, the current trade volume in base currency and quote currency calculated in the last 24 hours for each pair on all exchanges. For the i-th couple on the e-th exchange:

picture of COIN360 widget
Price of the last transaction
Minimum price in the past 24h
Maximum price in the past 24h
Current trade volume (base)
Current trade volume (quote)

In some cases, an exchange doesn’t provide volume in terms of quote currency for pairs, so we can calculate it using the following formula:

Let's take EOS/ETH pair as an example:

Step 1 What We Do First

A list of unique trading pairs is collected from all exchanges

ETH/USDT
XRP/ETH
XML/BTC
XMR/USDT
NEO/USDT
300+

Step 2 Price & Volume Calculations

1. Price calculation:
For each unique pair, the weighted average price is calculated across all exchanges. The price of the i-th pair:

For example, suppose that there are two exchanges which trade this pair (using numbers from the Introduction):

* We round the numbers in the examples. In reality, we calculate with maximum precision.

2. Volume calculation
We calculate the volume in base currency for each unique pair as the sum of volumes in the base currency and quote currency for this pair across all exchanges:

Let's take EOS/ETH pair as an example (using numbers from the Introduction):

Step 3 Calculated Price of Each Coin

We calculate the price for each coin and for this, all pairs that contain this coin are selected, regardless of whether the pair is direct or inverse. Which is to say, the calculated coin can be the quotation currency for another coin.

1. The inverse pairs are converted into direct. The price for reverse trading pairs is recalculated:

Let's take EOS/ETH pair as an example (using numbers from Step 2):

2. We calculate the volume in the new base currency for the pair, converted from the inverse:

3. Quotes of pairs
Quotes of pairs not quoted in USD are converted to USD:

4. If the quote currency is not fiat currency, then in the further calculation of prices, only the pairs for which the quote currency is: "EOS", "XMR", "DASH", "XRP", "BTG", "OMG", "BCH", "USDT", "TUSD", "ETH", "BTC", "LTC", "NEO", "ETC" are counted. For them we recalculate the weighted average price of the pair from quoted currency to USD, using the quote currency to USD calculated at the previous iteration:

Let’s consider the pairings of ETH/GBP and ETH/EOS as examples:

So, after reducing all pairs and converting them into prices in USD, the weighted average price for each coin is calculated in USD for all pairs where this coin is found. Weighting takes place according to previously calculated accumulated volumes in pairs. X — the number of pairs where the coin occurs:

Lets take ETH/USD as an example (using numbers from the preceding steps):

This price will be used at the next iteration to convert the quote currency price to USD.
And the required amount in USD for each coin:

Footnotes

  • If the first attempt at the algorithm is performed after a cold start, then pairs whose quote currency is different from USD are not taken into account.
  • An internal verification of the compliance of volumes in the base currency and quote currency is carried out for each exchange, for each pair (in the case of transfer to the exchange of volume in two currencies). If the pair fails the test, it is not used for further calculations.
  • Prices that have not been updated for 24 hours are not used in further pair calculations.
  • Pairs excluded in paragraph 3 for calculating the price are not excluded in calculating the volume.