Matching algorithms are the mathematical equations within the computer code of the Exchange matching engine, known as CONNECT on LIFFE. These algorithms allocate incoming market orders amongst the resting order depth using a methodology somewhere between a pure pro rata and pure time priority, also known as first in-first out (FIFO).
LIFFE operates two matching algorithms for its STIR futures: one for Euribor and the other for Short Sterling and Euroswiss. They combine both pro-rata and time priority but the Short Sterling /Swiss version has a higher bias towards time priority.
Both algorithms have the same mathematical structure. The current algorithm for the Euribor is:
The current algorithm for Short Sterling and Euroswiss is similar but to a higher order*.
*The Time Exponent employed within the Gradual Time Based Pro Rata (GTBPR) matching algorithm will change from 4 to 2 effective on Monday 3 December 2018
An easy way to consider these algorithms is as if the order is set to 1 (i.e. there are no powers). In this case, any incoming order of reasonable size is split amongst resting orders in an equal percentage weighting.
The table shows an incoming order of 200 lots into a market with a resting order depth of 2405 lots made up of 10 individual orders of different size and ranked by time priority. It could be considered as a market order to sell 200 lots at best when the market is 99.00 bid for 2405 lots. The 2405 lots on the bid are made up of 10 separate orders all bidding the same price but entered at different times. The order with the oldest timestamp will be T1 and the newest T10.
It can be seen that all orders (T1 through to T10) get 8% of their resting order size. In absolute terms, the larger the bid, the more futures would have been bought. It might be noted that only 194 futures were transacted and so the algorithm would then make another pass to allocate the remaining 6.
This is an example of pure pro rata and would advantage those over quoting by flashing large orders into the market depth momentarily before the order hits the market and would provide no advantage to consistent resting liquidity providers. To circumvent this, the actual algorithms operate to a power; two in the case of Euribor and four in the case of Short Sterling and Euroswiss.
The same order and market depth then experiences a very different allocation. The Euribor algorithm allocates on a broadly linear but decreasing profile (in percentage terms) whereas the Sterling/Swiss algorithm would allocate a much higher proportion to the first three time priority orders (T1-T3) with sharply decreasing density thereafter for the remainder. In both cases, orders towards the back of the queue get no allocations.
In graphical terms the effect is more observable.
Both algorithms, but particularly the Sterling one, benefit orders with time priority; the idea being to promote and encourage resting liquidity. Traders are encouraged to supply liquidity early into price points.
The spreadsheet containing both algorithms is available to download here. Now you can figure out for yourself why your fills might not be what you hoped for and perhaps find a way to improve your allocations.