HodlBot     About     Posts

Bid-Ask Spreads on the Binance Exchange

This piece is the second of a three-piece series. We’re covering bid-ask spreads in this one. The first and third pieces cover order-book depth and slippage, respectively.

Recall that an order book is just an electronic list of bids and asks for an asset, organized by price level. A bid refers to the highest amount of price you are willing to pay for an asset. An ask refers to the lowest amount of money you are willing to sell your asset for.

The gap between the highest price someone is willing to pay for an asset, and the lowest price someone is willing to sell it for, is known as the bid-ask spread.

Fetching Order Book Data from Binance

In order to analyze bid-ask spreads on Binance, we need to first fetch order book data. Luckily, we can do that through Binance’s API. The only downside is that there is no way to get historical order book data. You have to get it live.

Order books can be highly volatile, especially with pairs that have inconsistent trading volumes. So rather than looking at one snapshot, I’ve written a script to gather order book every hour, for the last week.

I’ve formatted it in JSON and uploaded the raw data here.

Bid-Ask Spread

Here’s what the distribution of bid-ask spread was for BTC/USDT, the #1 traded pair on Binance, compared to ZRX/BTC, the #50 traded pair on Binance.

Bid ask spread distribution BTC/USD vs. ZRX/BTC on Binance

Here are summary statistics for bid-ask spreads for these two pairs.

Bid ask spread summary statistics BTC/USD vs. ZRX/BTC on Binance

Again, you can find summary statistics for the bid-ask spread for every coin in the Google Drive link here.

Bid-Ask Spread vs. Trading Volume

It’s a commonly held belief, that the bid-ask spread should decrease as trading volume increases.

To verify this, we’re going to calculate the average daily trading volume for each pair on Binance. To keep the data consistent with the order books, we’re going to use the exact same time period.

Average daily volume in USD across Binance top pairs

Average daily volume in USD

After merging the two datasets, I ran a simple linear regression with mean bid-ask spreads Y-axis, and the logarithmic transformation of trading volume on the X-axis.

Relationship between bid-ask spread and trading volume on Binance

On Binance, you can see up to 1.5% bid-ask spread for pairs with low trading volume. Heavily traded pairs are mostly under 0.4%

Here’s the exact same graph, but with different colours outlining trading volume by quartile.

Relationship between bid-ask spread and trading volume on Binance segmented by trading volume quartile

Only the most heavily traded pairs tend low bid-ask spreads. Even high-volume trading pairs at the 75th percentile can have up to bid-ask spreads of 1.25%.

Next Steps — Bid-Ask Spreads & Slippage

Bid-ask spreads are based on the order book. Order book depth can be highly volatile, especially with pairs that have inconsistent trading volumes. If you’re interested in a deeper dive on what order book depth looks like on Binance, check out the first article

Stay tuned for the next article, where we’ll dig into slippage.

Why do I care about Binance bid-ask spreads so much?

I quit my job recently to start HodlBot.

HodlBot is a tool that helps investors diversify their portfolios and automate their trading strategies. It works on top of Binance.

I’m currently indexing the entire cryptocurrency market via the HODL 30, a portfolio that is comprised of the top 30 coins by market cap.

If you don’t want to index, you can also create a custom portfolio and let HodlBot rebalance it for you.

To get started all you need is a

  1. Binance Account
  2. $50 in any cryptocurrency

If you want to know how HodlBot indexes the market and completes rebalancing, check out the blog I wrote here.


Email New Posts