Very interesting read, although like most things HFT it just all seems so ridiculous. Why aren't exchanges just rate limited so everyone gets the same execution time? Because I have better execution time I get to profit? I don't see how that adds any value to anything...
> Why aren't exchanges just rate limited so everyone gets the same execution time?
Why would they rate limit them? Better yet: why do you think it’s better for the market that everyone is put on even footing?
> Because I have better execution time I get to profit?
Yes. Just like better information allows you to profit. Advantages exist in the world. Do you think better execution is trivial to develop?
> I don't see how that adds any value to anything...
HFT is fundamentally the same process as market making, but faster. Market making brings buyers and sellers together to exchange securities; doing this process faster improves liquidity, which in turn improves price discovery, which makes the market more efficient overall.
Just because you cannot see the value doesn’t mean it’s not there.
Market-making is bridging a gap in time between when the seller was in market and when the buyer will be in market. If I need to race another HFT by 10 µs, I'm not routing society's capital in a more productive direction, I'm not even enabling a trade that wasn't already destined to happen.
You need to prioritize orders in the market by some objective metric. You want a metric that rewards good behavior and punishes behaviors you don't want, for the market as a whole, not just any one participant.
Almost all markets now prioritize on price. An incoming sell order will interact with the highest priced bids first, and an incoming buy order will interact with the lowest priced offers first. Think that's common sense? In the pit days, markets were sometimes prioritized based on whether the guy was your cousin or if your dads were fishing buddies. Better price? Oops, didn't see you, pal.
But say 15 traders all want to buy at the best price. Who gets filled when a seller comes in with a market order? You could:
1. Prioritize equally: Give everyone bidding an equal piece. Fair's fair.
2. Prioritize by size: Bid more contracts at the price and get a bigger piece. You wanted it more than anyone else.
3. Prioritize by time: First to bid at the price gets filled first, then second, and so on.
Over years many ideas have been tried and nearly all markets worldwide have settled on 3 or some variant of it, why? Batching orders together as in 1 encourages people to split their interest into many small orders. It also discourages traders from sticking their neck out to make the best price first. Why bid alone when you can wait for others to bid with you? Likewise with 2, traders will try to game the system by placing very large orders and are rarely willing to improve prices.
So we end up with 3 which causes some speed jockeying in return for forcing traders to bid their true values right away to undercut on price, to everyone else's benefit. In return, they get rewarded with trading first.
As someone not in the industry, I don't understand why anyone should use a market order. I don't even see what the downside would be to outlawing it or why professionals would ever use it. Particularly ever since the publicization of "flash crashes".
Furthermore when I place a limit order close to the market I almost always see the price move away immediately, and I can't help wonder if somehow it's being manipulated to try to get me to chase it. If I log off and wait, it frequently gets executed after a few minutes.
I was chagrined to find that a limit order I placed yesterday was partially executed. Of course I should have made it "all-or-none".
People say the market keeps getting more efficient due to high speed trading, but to me there's something lacking in the definition of efficiency. If "the market" isn't stable enough for a reasonable human reaction time, that's worse, not better.
My thoughts aren't well organized right now, but basically I feel like there's something about the ignorant raging that one reads about HFT that points to a real, but subtle problem.
Edit: Look at it this way: I don't have liquidity, unless I am willing to place a market order. But the market is a leaky abstraction - I'm potentially hanging myself out to dry with a market order. On the other hand, with a limit order, I do not have liquidity because other people trade faster than me. As I described, I tried to sell a certain amount and it ended up taking 15 minutes and only executing 1/5th. So an efficient, liquid market that is supposed to be _better_ seems _worse_ from my perspective.
If you want to fill a limit order similar to a market order but with limits you should cross the market, not rest near it.
The reason professionals might use a market order even knowing about flash crashes is that there are certain positions where not filling has virtually unlimited risk regardless of fill price. Hedging option positions for instance.
I think the continuous price/time priority limit order book is flawed, but the least bad option out there, similar to democracy. Speed will still matter in batch auctions if other continuous exchanges trade correlated products--the only way to prevent that is to force all trading to happen worldwide on the batch auction exchange, leading to monopoly rents for the exchange operator. Is it better to have high fees without arbitrage than extremely low fees and tiny arbitrages where fast traders are netting fractions of a basis point? It's not clear to me.
Also lots of liquidity in ETFs and other derivative products is provided based on being able to hedge quickly in other tickers with high probability. If I'm making a market in XLF (S&P Financials ETF), but my orders to hedge in BAC, GS, MS, C, ... all get held up in a batch auction, that's extra risk. I can't make a tight spread, large size market in the ETF since the price of the basket components can drift away after I get a fill.
Budish also argues that arbitrages aren't competed away. It's true that arbitrageurs will never eliminate arbitrages, only make them last for shorter periods of time. However, natural market participants can change their behavior to eliminate them, and they have.
If everyone trading S&P 500 futures also traded SPY with orders that arrived simultaneously, fewer arbitrages would exist to be exploited. You don't even need to be fast to do this, just precise with timing. This kind of routing is very common in equities markets and it's a big part of why many early HFT scalping models no longer work regardless of how fast you are.
Frequent batch auctions may lead to unintended consequences. You end up with a deadline and there are information arbitrages and latency games in playing as close as possible to the deadline. Markets don't exist in isolation as the real world really does exist in the real world.
That’s not the point. Step away from the idea of one market maker intermediating a trade between a buyer and a seller who would otherwise miss each other. Conceptually, automated market making improves liquidity by enhancing price discovery. The markets become more liquid because prices become more efficient, and prices become more efficient because buy and sell opinions are much more rapidly absorbed into the market.
The faster the market makers trade, the tighter the feedback loop from buy and sell signals in the orderbook becomes, and the smaller the spread between competing prices.
I don't think routing society's capital in a productive direction is seen as a necessary criterion for allowing two parties to make a trade between themselves.