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.
Here are summary statistics for bid-ask spreads for these two pairs.
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 Continue on blog.hodlbot.io