I’ve previous written about auction markets and the order book and order types. Now I want to dig in at a very fine grained level and look at how the exchange matcher decides which orders to match together. This may seem like a painfully detailed topic, but it turns out to have a fairly major impact on the profitability of short term traders.
As you my recall, the order book consists of people willing to sell at progressively higher price, and people willing to sell at progressively lower price. By definition, there is no overlap in price between these two groups. If there was, the exchange matcher would instantly pair those orders and a trade would take place. This quiescent state of the market can be understood via a depth of market, or DOM, window such as this example taken from the ES futures contract:
Now, if you look at this example order book, you’ll see that you can buy up to 771 contracts of ES at a price of 1208.50 (yes, this example is a couple of months old). Were you to do exactly that and buy 771 contracts at market, your order would be paired with the numerous other orders sitting in the book that collectively make up that 771 contracts of available liquidity. You wouldn’t just do business with one person, you’d do business simultaneously with lots of other people who wanted to sell at that price.
But what happens if, instead of buying everything available, you buy only a single contract? Who does your order get paired with?
The first thing to note is that you, as the buyer, do not care who the seller is. Since ES contracts are fungible due to being guaranteed by the CME, it doesn’t make one bit of difference who you do business with. Nor will you likely ever know who your counterparty was due to the anonymity of digital exchanges. But to the sellers it makes a big difference. One seller will have gotten his order executed (or if it’s bigger than one contract, partially executed). In trader terminology this is called having your order “filled” or “getting a fill”. The other sellers will not get filled. Depending on subsequent order flow, the remaining sellers may eventually get their orders filled. But they may not – there may not be any more buyers at that price.
If we start with the rather obvious assumption that people with orders in the order book put them there because they want to get filled, then it follows that the guy who got filled first has some sort of advantage. He’s already gotten what he wants. The others who didn’t get filled may or may not get what they want in the future. Of course we can’t rule out the possibility that our assumption is wrong and people are putting orders in the book that they don’t actually want filled. That practice is sometimes called “painting the order book” and while it’s interesting to talk about, it’s not the normal state of affairs in ES or most other markets. For now we can safely ignore it.
So if the guy who got filled benefited compared to other sellers, it’s reasonable to ask by how much in dollar terms. The answer is hard to quantify, but it’s a much bigger deal than you might think. Here’s a thought experiment: what if one ES market participant always got filled before the competition at a given price? How much would this right be worth?
If you had this magical power, the correct trading strategy to take advantage of it goes something like this:
- enter a buy limit order at market best bid and a sell limit order at market best ask
- wait for someone to fill one of your orders (this is where you always get to go first)
- if either of these orders gets filled, don’t re-enter it until the opposite order is also filled
- when both get filled, replace the pair with two new orders
- if market best bid or ask moves, move your order(s)
Now on the surface this might seem like conventional market marking, and at some level it is. But when you always get filled, it becomes much more profitable than standard market making. The best situation is that both a buyer and a seller come along without price moving from current bid/ask. Every time that happens, you capture one tick of profit. Even if a large amount of one-sided orders arrive and move price, the situation is not that bad. If price moves only one tick, you simply break even. It’s only when price moves more than one tick without any back and forth order flow that it’s possible to lose money if you get filled first.
In a market with lots of back and forth order flow, wide ticks, and very solid market making like we see in ES, the right to cut in line in terms of who gets filled would thus be worth hundreds if not thousands of ticks per day (and thus thousands or 10s of thousands of dollars per contract) with almost no risk. In other words, getting to go first is a utter gold mine. As you might imagine, getting filled last would be completely horrible – you’d never get filled unless price was only one contract away from moving against you. Being at the back of the line sucks.
Wait, what line? What I haven’t explained thus far is how the market actually decides who gets filled. In practice there are several common policies:
- FIFO: at a given price, non-marketable orders are filled in the order they arrived, older orders first. Thus orders are “First In, First Out”. Hence the above reference to standing in line.
- Proportional and/or Random: Fills are allocated to non-marketable orders in the book in proportion to the size of those orders. Fractional assignments are handled randomly or via a special rule (perhaps FIFO). Alternately, all fills can be allocated randomly, which acts a lot like proportional allocation.
- Market Maker First: Some markets have designated market makers who are allowed to cut in line. Within the MM pool, assignment may be FIFO or proportional. The remaining fills are assigned to non-MMs, and again assignment may be FIFO or proportional.
- Customer Chooses: in non-anonymous markets like live trading pits, the market taking participant may get to choose to do business with the market marker of their preference.
Each exchange (and sometimes specific product/market) implements one of these policies. The exchange rules (usually on their website) will tell you what the policy is. In general, large markets (for example, ES, bond futures etc.) will be FIFO. Stocks, it can depend on what exchange you choose to use. Both the NYSE and NASDAQ have special rules that put them more or less in the “market maker first” bin, although the mechanics are somewhat complicated. The same is true for many small futures markets.
In general, as a trader, you only want to engage in market making behavior in markets where the allocation is either FIFO or proportional, or where you are a designated market maker/specialist. It’s stupid to put yourself in a situation where you’re always at the back of the line.
In the context of a FIFO market, you may want to adjust your trading strategy to take into account the size of the orders already in the book at a given price. If there is a very large order at a given price, you don’t typically want to add your own order at the same price (and behind it in the FIFO queue). If you do so, you’re voluntarily putting yourself at the back of a very long line. Instead what you want to do is put your order one tick better price wise than the big one (if you don’t think price will trade through it) or some amount past it (if you think price will trade through). Placing your order like this either gives you a fill you wouldn’t otherwise get or gives you a better price assuming you’re correct about how price will behave around the big order.
Seeing how the market reacts around large orders can also help you read and predict price action. If price appears to be unable to trade through a large order, that’s a good sign it’s about to head the opposite direction. In contrast, if price trades through a large order on high volume, that’s a sign of strong continued movement. Similarly, if price approaches a large order and that order is pulled, that’s a sign that price is likely to continue in that direction (and that someone was painting the order book). These rules are far from ironclad, but they are useful.