But US markets have some special Reg-NMS rules that glue together things across exchanges. Being from Europe I'm not so familiar with it, but I understand it causes some interesting games to be played.
If you want to actually understand how the market works, there's a fair bit more reading to do.
"A single market to trade. All stocks for Microsoft (MSFT), are traded on the NASDAQ exchange. All stocks for Ford (F) are on the NYSE."
MSFT and F both traded on 16 difference stock exchanges, not to mention countless "dark pools", each with their own book of bids and offers. But there's a national best bid-offer (NBBO) that all exchanges must respect, so it can behave like a single market. That's what Reg-NMS is about. The benefits of having several exchanges competing each other, while trying to retain the benefits of single market. This is also where HFT enters the picture with latency arbitrage and other trading strategies when prices on those markets get out of sync.
20 years ago, you could say that MSFT only trades on NASDAQ, but that hasn't been true since Reg NMS came into effect in 2005. Each stock has a primary listing market that controls things like halts and opening/closing auctions, but the stock can be traded on any exchange, each with its own dynamics.
- Michael Lewis really only got one side of the story - that of Brad Katsuyama, who had a vested interest in casting HFT players in a bad light to promote his own business - building the new exchange IEX.
- Brad also blamed HFTs for systems at RBC failing to make massive trades like they used to. There was nothing nefarious here - RBC had just fallen behind the time in technology, like trying to send a Fax in a world where everyone already uses Email. If Brad, or RBC, or RBC software engineers picked up the phone and called any of the exchanges, they would probably gladly update them on the industry and save them all the work of re-discovering it themselves.
- The claims about front-running are completely false. Front running would mean that a market maker somehow knows someone's orders at two different exchanges and somehow is able to "get in front of the line" or even know that those orders belong to the same person. This would mean the exchanges leak information or allow certain users "ahead of the queue". None of this is true. What Michael Lewis called front-running, was HFT firms reducing their risk on other exchanges when they would get traded against on one exchange. They did this without any knowledge that Brad Katsuyama was on the other end, or that he was just late trying to make the same trade at another exchange at a later time. There are no guarantees that you can make the same trade at different exchanges - the same rules apply to everybody.
- Unsurprisingly, IEX as an exchange is no different from others, in that they need market makers (a.k.a. HFTs) to provide liquidity on their exchange. I wrote the code for the FIX gateways to connect our firm to IEX, and it was all business as usual.
"Front running" as defined by the SEC has a more narrow definition. It basically means that you have a customer that has placed an order for XYZ and you aware of the order, but you placed your own order to be executed in front them, thus forcing them to buy it from you at a higher price than if their order was executed first. HFTs are not "front running" anybody.