This topic explains the application of matching algorithms during trade execution on the CME Globex platform, which includes:
These matching algorithms support order management functionalities offered to market participants and ensure that each market participant is given the best possible execution at the fairest price.
Algorithmic Matching Process
All CME Globex Matching Algorithms are composed of one or more steps. The steps are followed in a particular order.
During a trade, quantity is distributed to one or more orders according to the rules of the step as follows:
- Apply incoming match quantity to the first step of the algorithm.
- Follow the rules of that step to distribute quantity to one or more orders.
- If any aggressing quantity remains unmatched, proceed to the next step of the algorithm.
- Apply remaining unmatched quantity to this next step of the algorithm.
- If any quantity remains unmatched, proceed to the next step of the algorithm and revert to step 4.
- Apply steps 4 and 5 as necessary until no unfilled quantity remains.
When the aggressing order quantity is greater than the entire resting quantity at a price level, a simplified algorithm is used for efficiency:
- Distribute quantity to resting orders in FIFO order.
- Remaining aggressing unmatched quantity becomes a new bid/offer at the appropriate price level.
- Remaining unmatched quantity is eligible to become TOP (if TOP conditions are met in a product that supports TOP).
Matching with Implied Quantity Rules
- No algorithm is applied more than once per instrument.
- An algorithm, once started, will not stop or reset.
- Algorithms follow the Algorithmic Matching Process rules outlined above in order.
- Implied quantity will never match with implied quantity.
Predetermination of Aggressing Quantity
A match begins with the entry of a new quote or order into the book of a specific instrument at a specific price, or as a market order. At this point CME Globex applies logic by checking two conditions as follows.
The first condition CME Globex determines is:
Q: Does the aggressing quantity fully satisfy all available quantity at the relevant price level(s)?
- If YES, there is no need to use an algorithm since all orders will be filled. Distribute quantity to all orders in TIME priority basis.
- If NO, use of an algorithm is required to distribute aggressing quantity to resting orders.
The second condition CME Globex determines is:
Q: Does the required algorithm include a Pro Rata component?
- If YES, a predetermination step is required.
- If NO, the algorithm can proceed without predetermination.
When the predetermination step is required, CME Globex does the following before running the algorithm to allocate lots to individual orders.
- Determine all PQ sources potentially eligible for aggressing quantity.
- Include the aggressed instrument as a PQ source.
- Treat each source as one large order quantity.
- Run the aggressing quantity against all steps of the relevant algorithm in order not including Leveling. Residual FIFO (unallocated left over quantity from a pro-rata distribution) is accounted for in step 6 below.
- At each step of the algorithm used in step 4, allocate quantity to each source as required. Do not allocate volume to individual orders.
- Example - an aggressed market has a Top order good for 20 lots. Remove 20 lots from the aggressing quantity and allocate it to the aggressed instrument source.
- Example - a source composed of a spread and an outright contributes 10% of the available volume of an aggressed instrument. During a Pro Rata step, allocate 10% of the aggressing quantity to the source.
- Pro Rata allocations are always rounded down, with any remainders getting added to sources on a FIFO basis.
- After completing the last step of the predetermination, sum all quantities allocated for each source.
- If the source is comprised of two instruments (as in step 5b), the volume is allocated to each instrument in like quantities.
- Example - a source composed of a spread and a leg receives 25 lots, therefore both the spread and the leg must each be allocated 25 lots.
- Predetermination is now complete.
- Now run the full algorithm (all steps, in order) once per instrument using the values calculated in step 5 through 8 as aggressing orders for the relative instruments.