Comparing Order Books Across Venues After Trading Fees
Summary
The document explains how to compare prices across exchanges when maker and taker fees differ. The effective price depends on whether a trader adds liquidity or consumes it. For a buyer, maker fees adjust the bid being posted, while taker fees adjust the ask being crossed; sellers apply the corresponding sign change because fees reduce their proceeds. These adjustments provide separate fee-aware rankings for passive and aggressive execution.
The answer emphasizes that ranking bids by maker-adjusted price alone does not establish where a resting order is most likely to fill. Other venues’ taker-adjusted prices affect where incoming market orders will trade. It proposes comparing price improvements on both the maker and taker sides, then estimating fill likelihood from observed market-order activity. Historical order-book states or real-time observations can inform that estimate. The discussion is conceptual: it gives no worked numerical comparison for the supplied books and leaves out factors such as latency, market impact, and venue-specific execution rules.
Key ideas
- Fee-adjusted prices must be calculated separately for liquidity provision and consumption.
- A buyer adds fees to the price paid, while a seller accounts for fees as reduced proceeds.
- A better maker-adjusted bid does not guarantee that incoming orders will reach it.
- Passive execution decisions should account for taker incentives on competing venues and estimated fill probability.
- Fill rates can be estimated from historical order-book conditions or monitored in real time.
Tags
Full text
# Translating Order books accounting for fees
# Translating Order books accounting for fees
I am trying to understand how fee structure plays into how I should best execute a trade.
Say there are two exchanges with the following order book:
Exchange A:
Bid Qty | Bid Price | Ask Price | Ask Qty
```
60 | 7189.5 | 7190.0 |90
4 | 7189.0 | 7190.5 |90
1 | 7188.5 | 7191.0 |90
4 | 7188.0 | 7191.5 |90
12 | 7187.5 | 7192.0 |90
```
Exchange B:
Bid Qty | Bid Price | Ask Price | Ask Qty
```
106 | 7197.5 | 7197.9 |186
405 | 7196.8 | 7198.1 |190
2 | 7196.4 | 7198.7 |100
2 | 7185.3 | 7199.2 |9
15 | 71838 | 7199.5 |19
```
Lets now say that exchange A has a maker rebate of 2.5BPS (ie -0.025%) and a taker fee of 7.5BPS (+0.075%)
Exchange B has a maker fee of 2BPS (ie +0.025%) and a taker fee of 5.0BPS (+0.05%)
Is there any way to translate them to in a way normalise the order books for fees to see where its best to execute a trade all else being equal.
I might have missed a bunch of info that is necessary. Happy to add to this once they come to light.
## Answer by lehalle (score 1)
https://quant.stackexchange.com/a/49888
When fees are not symmetric, to take fees into account on orderbook needs to know if you want to provide or consume liquidity: you have in fact two different views (ie two ranking) on the same orderbook:
Say you are a buyer, and do the calculation for the first limit only. $P^B(i)$ and $P^A(i)$ are respectively the prices at the bid and ask on venue $i$, where marker fees (ie for liquidity providers) are $f^m(i)$ and taker fees (for liquidity consumers / removers) $f^t(i)$. Remember that for rebates, you have to put a minus sign in the fees.
- if you you want to provide liquidity, you have to compare $$P^B(i)\cdot(1+f^m(i))\stackrel{?}{\lt} P^B(j)\cdot(1+f^m(j)),$$
- if you want to consume liquidity the game is taking place at the ask: compare $$P^A(i)\cdot(1+f^t(i))\stackrel{?}{\lt} P^A(j)\cdot(1+f^t(j))$$ (you add fees to the price because you are buying, hence you will spend more money; for a seller you will get less money, so you have to put a minus sign in front of the fees).
But the reasoning cannot stop at this point:
- For liquidity consumption, it is simple: just go to the cheapest venue.
- But for liquidity provision, you need to account for the probability to obtain a transaction.
Say for instance that the best bid of venue $i$, once fees are taken into account, is cheapest than the the best bid of venue $j$, even that it is equal to the second bid of venue $j$. How can you be sure that consumers (ie seller) will not go to venue $j$ first? since the fees are not the same, the order can be inverted for them: it may be more attractive for consumers on venue $j$... In such a case you will wait on venue $i$, expecting a better net price, but nobody will ever come to trade there with you...
To avoid this configuration, the price improvement to wait on venue $i$, ie $$\Delta P^m(i|j):=P^B(j)\cdot(1+f^m(j)) - P^B(i)\cdot(1+f^m(i))$$should have the same sign as the price improvement to come and consume on this venue, ie $$\Delta P^t(i|j):=P^B(i)\cdot(1-f^t(i))- P^B(j)\cdot(1-f^t(j)).$$
This is somehow a theoretical equilibrium, thus you can have a look at the rate at which market orders are consuming your side, at your price limit to assess the probability to obtain e transaction. You can do this on a long term historical basis (estimating the Markov chain of rates given the state of the orderbook on several days), or in real-time.
For details have a look at Market Microstructure in Practice (1st or 2nd edition).Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.