The term Smart Order Router has entered common usage within trading, but what constitutes a smart order router (hereafter SOR)? Is there such a thing as a dumb order router? This article look at the topic through the lens of equity secondary market trading but the concepts are valid for anything traded anonymously in more than one exchange/venue – cryptocurrency, foreign exchange, rates/credit., CDS, IRS and so on…
First some background…
In the distant past equities had a listing exchange and trading on the order book of that exchange or off-exchange, typically off-exchange trades were large and treated differently in terms of trade reporting, to allow a broker to offload a large position rather than face being trapped holding a large position and see prices move against them.
So, in this situation a market participant such as a broker- dealer would only interact with the listing venue for on and off exchange trades. As such, routing orders from the broker-dealer to the exchange just requires an exchange gateway and some way to interact with that router. The order router is “dumb” since it simply takes an order and sends it to a venue.
As the market microstructure has changed over time and multiple new exchanges have entered the market this presents a problem for the broker-dealer – what’s the right way to interact with a market where an instrument can trade in multiple venues?
Let’s look a (admittedly contrived) example of three exchanges listing the same instrument with an order book shown below for each of them:
If we consolidate the three order books shown into one synthetic order book we can see the following:
|Synthetic Composite Order Book (sum of A, B and C)
So, a seller of this stock that needed to get out of the position would clearly want to sell at the highest possible price – so (naively) a seller of 650 shares would want to sell 300 at 270 on Exchange A, 200 at 270 on exchange B, 50 at 270 on exchange C and 100 at 269 on exchange A.
Sell 650 shares
- 300 at 270 on exchange A
- 200 at 270 on exchange B
- 50 at 270 on exchange C
- 100 at 269 on exchange A.
A naïve implementation would take the 650 order as a parent and create four child orders as listed above. This would require an order router to be “smart” in order to establish the right size and prices for orders to be transmitted to meet the execution goals.
In practise, the above naïve solution would most likely not work. Why is that? There are a number of reasons
- Lack of independence of quotes/orders – the orders shown on the order books of exchanges A, B and C may not be unique – the same stock may be offered in more than one exchange. So, if a offer is lifted then other quotes/orders may be immediately cancelled.
- Hunting algorithms – algorithmic trading bots that look for trading strategies and attempt to get in front of the order and then capture a spread by reselling the purchased stock to the natural buyer.
- Dynamic nature of markets – the naïve picture of the market depth at an instant is mot reflective of the true dynamic nature of the market, where execution volumes follow a time profile (in the UK, high volume at market open, low volume until New York opens, low volume until close and then high volume at the close)
Hence, a modern SOR has to have access to not only the real-time market data for “now” but also historic data to create volume profile curves. As such, the value of an SOR is in the data processing and analytics, not in the exchange gateways. Indeed, in a well architected system the actual gateways should be drop-in, drop-out and the commercially valuable logic all contained within the analysis.
And the people driving the McLaren below on Route 66 no doubt enjoyed their route...