Obviously HFTs can't wait until the match occurs before jumping in the middle, but they can and do jump in the middle of a match separated by milliseconds. Granted, they're assuming risk by doing this, but the risk is low, especially given that they can also cancel in milliseconds if the market shifts.
I can't understand the point you're making here. Earlier, you suggested ALICE SELL @ $10, BOB BUY @ $10.05. Those orders can't rest in the book; the match engine will evict them immediately by executing the trade. The is no time interval between Bob's order and the trade execution.
Could you perhaps explain the specific scenario you're talking about here? Alice, Bob, and Mallory perhaps?
I know that they won't sit on the book. The entire point of HFT is to jump between BUY and SELL orders as they arrive, though. e.g. This could be the sequence.
12:00:00.000 - Alice - SELL $10.00
12:00:00.100 - Eve - BUY $10.00
12:00:00.200 - Eve - SELL $10.01
12:00:00.300 - Bob - BUY $10.05
(Eve could have issued her BUY order before Alice's order arrived, SELL after Bob's BUY, etc.)
If Eve stayed home for the day, Alice and Bob would have happily traded with each other and Alice probably wouldn't have minded the extra 200ms delay but would have appreciated the extra $0.05 per share. But instead Eve decided to jump in and extract a bit of money from the transaction. And again, there's nothing wrong with that. But I fail to see how Eve is adding any value to the market here. There was no lack of liquidity.
It may be helpful to think of Alice trying to unload ten different stocks each at $10, every day M-F.
With HFT, some trades will go according to your first scenario; others will go according to the scenario you responded to. On net, Alice sells all her stocks to Eve and gathers in $100 every day.
If Eve stays home, instead Alice unloads perhaps six of her stocks to Bob at $10.05 each, and is still holding on to four of them. She doesn't want to end the day with $60.30 and four stocks she doesn't want, so she unloads the remaining stocks to Chuck and nets $100.10. Except that Chuck takes Mondays off, so on Monday she might end up selling to Chris and only finish with $99.90.
So what Eve (HFT) really accomplishes here is she grabs 10 cents of Alice's potential profit on most days or 10 cents of Alice's loss on Monday. Alice is happy with this arrangement because she gets the certainty of getting her $100 each day for the minimum effort. Eve is happy because she's grabbed an average profit of 6 cents per day (40 cents for T-F, -10 cents for M) in exchange for taking on a little bit of risk.
The real loser in this scenario is Freida, who is trying to do the same thing as Eve but is a little bit slower.
If Eve stays home, and Alice places a standing limit sell order at $10.00, and Bob comes along with a limit buy at $10.05, Alice's is the standing order and will set the price of the trade. The trade will fill at $10.00, not $10.05.
Assuming no HFTs, maybe Alice could set min_price=9.9$, and still sell for $10.05 in the better scenario? It seems that HFT's kill alice's sell spread option, forcing her to sell at min_price?
Huh? If Alice places a limit sell at $9.90, Bob's limit buy at $10.05 order will execute at $9.90. The limit price of the standing order is the one that prices the trade.
Oh, thanks for correcting my misunderstanding. So in general, sell "min_price" really just means sell "price"? Or are there circumstances that it would sell above that price?
This comment demonstrated the fundamental point of your misunderstanding. Your ordering of events is not how it works. Eve doesn't "jump in the middle" What actually happens is this:
12:00:00.000 - Eve - BUY $10.00
12:00:00.000 - Eve - SELL $10.01
12:00:00.200 - Alice - SELL $10.00
12:00:00.300 - Bob - BUY $10.01
Eve was there before Alice & Bob. This is KEY to understanding what is going on here. Even is NOT jumping in the middle. Eve provided a service to both Alice & Bob and got paid for it.
Here's another way to think about it:
Alice wants the ability to sell her stock whenever she wants for a "correct" price. Right? That doesn't come for free. Someone has to figure out what the correct price is. That takes effort and costs money. Humans used to do this (they were called market makers). Now computers do it because they're better/faster/cheaper at it (just like they're better at a lot of things humans used to do).
They're also cheaper at it. The cost to Alice of getting to sell whenever she wants at a good/correct price has actually gone down from what it used to be. You can see this in the shrinking spreads. It used to be we only had price accuracy to a dime or a quarter. Now it's generally down to only a penny! Even though Eve is making money Alice is getting a way better deal than she used to before someone figured out how to program Eve to do it instead of the slow and expensive Harry the Human.