Is a price you see the price you get?

Finery Markets
7 min readFeb 22, 2022

--

We have analysed the market data in January and February 2022 that we extracted from centralized exchanges such as Binance, Bitstamp, Coinbase, and Kraken as well as from Finery Markets which is the execution venue for OTC liquidity providers. The two weeks of data show that bid-ask spreads are more stable around sharp price movements on Finery Markets than on observed centralized exchanges.

TL;DR

  • If you are interested in better prices for trading, you need to pay special attention to the bid-ask spread dynamics
  • The average values of spreads are not always helpful, what is important is the values around “events” when the price of an asset changes dramatically and many market participants try to execute their orders whether it is opening a speculative position, rebalancing an investment portfolio or another trading strategy
  • On exchanges, there is a positive correlation between a change in price over a short period of time and the value of a bid-ask spread, as observed on BTC/EUR pair. Whether the Bitcoin price goes up or down, it does not matter. The OTC market does not reflect this, for the spreads there tend to stable
  • For real-time spreads and historical charts, have a look at FM Pulse which is a dashboard comparing the spreads for a specified volume across selected centralized exchanges

Measuring spread dynamics

Event

Financial markets can be both a calm sea as well as a stormy sea. Usually, there are some triggers that cause market instability and increased volatility when the price changes drastically. It might be a release of economic data and statistics, it might be political news or news about a lawsuit against the issuer of a financial instrument. Bitcoin price is allegedly manipulated by whales, as rumours say. As data analysts, we do not want to trace the triggers, our aim is to analyse time series and identify those events when the price of Bitcoin (namely, BTC/EUR) has dropped and spiked significantly.

An “event” is a case of a significant change of the Bitcoin price.

Delta

We detect events using the following algorithm: calculate Delta, which is the percentage change between min and max midprice over a certain period (N):

Delta = ABS{(max min)/(min(t)<max(t) ? min : max)}, where

  • max is the maximum midprice over N minutes;
  • min is the minimum midprice over N minutes;
  • N is the duration of an event and can be either 1, 5 or 15 minutes;
  • t is time.

Let’s have a look at how the bid-ask spread corresponds to the Delta.

Midprice and Delta over the observed period (BTC/EUR, Binance, N=5)
A data sample showing Delta and Spread (BTC/EUR, Binance, N=5)

As visual comparison might be deceiving, we have calculated the correlation between the Delta and the spread change.

Scatter plot Delta vs. Spread (BTC/EUR, Binance, N=5)

In most cases, the correlation across centralized exchanges tends to be above 0.5 while OTC liquidity presented on Finery Markets is different: the price spikes seems to be uncorrelated with the change in the spread value.

Correlation of Delta and Spread across selected venues (BTC/EUR, N=5)

To finalize the definition of an event, we need to identify its duration. We have compared three values: 1, 5, and 15 minutes. The following charts show that the optimal value of the observable period seems to be 5 minutes, as it is the time that the market needs to calm down with bid-ask spreads returning to their normal values.

A data sample showing Delta and Spread (BTC/EUR, Binance, N=1 (left) and N=15 (right))

Normal spread

Our aim is to determine whether the behaviour of the spread during the event is meaningfully different from its normal value. The normal spread is calculated as the average spread value during T hours prior to the event. (NB: it might be the case that T includes prior event(s)). We have tried T=30 minutes, 1 hour and 2 hours. It has been found out to be that T=2 hours gives the highest correlation between the Delta and the change in spread.

To deal with outliers, we calculate the median value of the spread (not the average one):

Spread before event = Median spread T hours before

Spread delta = Spread during event / Spread before event 1

Then we build the distribution of the Spread delta (in per cent) for each time point (number of bars = 100). If Spread delta = 1, the spread has increased by 100%, or by 2 times; if the Spread delta = 0, the spread has not changed in comparison to the normal spread prior to an event.

The distribution of the Spread delta on Binance and Kraken (BTC/EUR, N=5); OY is a log scale.

In contrast to centralized exchanges, the distribution of the Spread delta on Finery Markets looks much more symmetric. It is also important to note that Finery Markets allows crossed markets when the bid price is higher than the ask price, and the value of a spread is negative.

The distribution of the Spread delta on Finery Markets (BTC/EUR, N=5); OY is a log scale.

Spread dynamics during events

We filter out the data to build the distribution of events only if Delta is bigger than X where X = 0.5%, 1%, 1.5%, or 2%. As an example, we have drawn some charts that clearly show that during events the distribution of Spread delta on centralized exchanges has a very fat right tail. It means that during events spreads tend to significantly increase.

The distribution of the Spread delta on selected exchanges when the midprice changes by >1% (BTC/EUR, N=5)

In contrast, the spreads on Finery Markets appear to be impacted to a small extent and the distribution seems to be symmetrical even during price shifts. This is a positive sign for institutional investors who value the stability and predictability of order execution.

The distribution of the Spread delta on Finery Markets when the midprice changes by >1% (BTC/EUR, N=5)

There are tables with detailed statistics for deeper research. The definition of terms:

  • count — number of events given a specified X
  • mean — the average value of the Spread delta
  • std — the standard deviation of the Spread delta
  • min — the minimum value of the Spread delta
  • 25%, 50%, 75% — Percentiles of the Spread delta
  • max — the maximum value of the Spread delta
Statistics on Delta spread distribution (from top left to bottom right X=0.5%, 1%, 1.5%, 2%)

Methodology

Data

We have dumped market data roughly every 30 seconds via WebSockets API connecting directly to the aforementioned crypto exchanges.

As some exchanges limit the number of levels of the order book, it might be the case that the required cumulative volume is not present in the dumped data. In this case, we do not calculate our liquidity metrics. However, during the observed period, there were no such cases.

Period

The dumped period: 2022–01–16 00:00 – 2022–02–02 21:01UTC

Liquidity metrics

  1. Midprice = [the weighted average price of 1 BTC for sale + the weighted average price of 1 BTC for purchase] / 2
  2. Bid-ask spread = [the weighted average ask price of 1 BTC – the weighted average bid price of 1 BTC] / the weighted average ask price of 1 BTC

About the authors: Ilia Drozdov, CFA, has a master degree in financial economics and is a co-founder of a fintech startup Finery Markets. Vladislav Yakushenko is a Python developer and data analyst with a degree from ITMO University.

Finery Markets is the first global crypto-native Multi-Dealer Platform that provides firm liquidity and lower costs of order execution. For more information visit our website and follow us on Twitter or LinkedIn.

--

--

Finery Markets
Finery Markets

Written by Finery Markets

Finery Markets is a leading crypto ECN and a trading SaaS provider for digital assets. Serving clients since 2019.

No responses yet