A true national market system would have the following property. There are clearly defined points of entry to the system: that is, when an order is placed on specific exchanges, ECNs or ATSs, they will count as part of the system. These orders are time-stamped by a perfectly synchronized process. In other words, it doesn’t matter where your point of entry is, the time-stamp on your order will put it in the correct order relative to every other part of the system.
Order matching engines are, then, required to take the time to check that time-priority is respected across the national market system as a whole.
This structure would eliminate many of the nefarious aspects of speedy trading, while at the same time allowing high-speed traders to provide liquidity within the constraints of a strictly time priority system. Speedy orders couldn’t step in front of existing orders, because time-priority would be violated. Cancellations couldn’t be executed until after the matching engine had swept the market to look for an order preceding the cancellation that required a fill. In short, speedy traders would be forced to take the actual risk of market making, by always being at risk of having their limit orders matched before they can be cancelled.
Overall, it seems to me that the error the SEC made was in creating a so-called “national market system” without a time-priority rule.
Note: this post was probably influenced by @rajivatbarnard ‘s tweets about this same topic today.
Update: Clark Gaebel explains very clearly that we don’t have anything remotely resembling a “national market system.” We have a plethora of independent trading venues and your trade execution is highly dependent on your routing decisions.
Truth.
Clark Gaebel claims that all the trading desks (like the one at RBC that Brad Katsuyama ran) should have known that they needed to time their orders to arrive at all the exchanges simultaneously. Unfortunately, that is not possible with software unless you have dedicated fibers from your trading desk to each exchange. The “Thor” software that Brad developed for RBC worked only part of the time, depending on network latencies.
IEX has invested in fiber optic connections to all of the exchanges with identical latencies, so they can route partial orders and get all of them filled. When they get an order which they fill partially, and send parts to the other exchanges, the distributed orders arrive simultaneously, and always before any IEX client receives confirmation of an order placed on IEX.
Thus, as far as I can see, IEX provides its clients with the synchronization described above. If you send your order to IEX, and parts get sent to the other exchanges, no information about the existence of the orders is leaked before they arrive at the exchanges. IEX collects 9 cents per hundred shares from each party for providing this service. When both sides are filled by orders from same broker, there is no charge.
You can make your order arrive at all the exchanges simultaneously by queueing them on servers controlled by you, colocated on, or just close to, each exchange. Thor is a neat hack, but far from an idea solution, hence why it doesn’t work all the time.
Reblogged this on Pink Iguana.
“Order matching engines are, then, required to take the time to check that time-priority is respected across the national market system as a whole.”
This won’t work due to the geographic distances. Eg., a geographically closer, but LATER timestamped order may arrive to a market center BEFORE a geographically more distant but EARLIER timestamped order.
So, before the earlier timestamped order arrives, the later timestamped order would have already been matched and executed. This is exactly the issue caused by the fragmentation of competing market centers with disparate geographic locations. It cannot be solved as you described.
Your solution would work only if there was a single order book (like futures), OR continue with multiple market centers BUT with a SINGLE geographic location for ALL centers AND a SHARED clock.
The whole point is that no order matching engine in the NMS would be permitted to match and execute until the whole system had been checked. I.e. the whole point is to deliberately slow down the system so time priority can be honored.
Of course, the only efficient way to achieve this goal is to have a single central limit order book, but once the rule is correctly written, the regulators can let the market take care of that problem.
See Peake-Mendelson NMS CLOB proposal coming out of their work on the NMAB from 1975.
Craig Pirrong’s concept of the “simulacra order book” is also relevant here.
“There is No Now” (https://queue.acm.org/detail.cfm?id=2745385) speaks to the heart of the issue.
Order matching engines are, then, required to take the time to check that time-priority is respected across the national market system as a whole.