Page tree
Skip to end of metadata
Go to start of metadata

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.

In the steps below, Price and Quantity (PQ) sources can be either resting quantity in the aggressed instrument, or implied quantity from a combination of orders in other instruments.

During a trade, quantity is distributed to one or more orders according to the rules of the step as follows:

  1. Apply incoming match quantity to the first step of the algorithm.
  2. Follow the rules of that step to distribute quantity to one or more orders.
  3. If any aggressing quantity remains unmatched, proceed to the next step of the algorithm.
  4. Apply remaining unmatched quantity to this next step of the algorithm.
  5. If any quantity remains unmatched, proceed to the next step of the algorithm and revert to step 4.
  6. 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:

  1. Distribute quantity to resting orders in FIFO order.
  2. Remaining aggressing unmatched quantity becomes a new bid/offer at the appropriate price level.
  3. Remaining unmatched quantity is eligible to become TOP (if TOP conditions are met in a product that supports TOP).

See also:

Matching with Implied Quantity Rules

  1. No algorithm is applied more than once per instrument.
  2. An algorithm, once started, will not stop or reset.
  3. Algorithms follow the Algorithmic Matching Process rules outlined above in order.
  4. 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.
This check only includes displayed quantity of 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.

  1. Determine all PQ sources potentially eligible for aggressing quantity.
  2. Include the aggressed instrument as a PQ source.
  3. Treat each source as one large order quantity.
  4. Run the aggressing quantity against all steps of the relevant algorithm. Do not go to steps beyond a Pro Rata step. Residual quantity from the Pro Rata distribution is addressed in step 6 below.
  5. At each step of the algorithm used in step 4, allocate quantity to each source as required. Do not allocate volume to individual orders.
    1. 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.
    2. 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.
  6. With regard to Pro Rata allocations:
    1. Generally, the quantity to be allocated is rounded down. Any remainders are added to sources on a FIFO basis.
    2. There is an exception during Predetermination with ICS ratio spreads (legs in a ratio other than 1:1). Examples include Treasury ICS and Soybean Crush spreads. Please see below.
  7. After completing the last step of the predetermination, sum all quantities allocated for each source.
  8. Now distribute lots allocated to each source to the instruments that make up each source. In the event of a spread with a ratio other than 1:1, you must divide and multiply to get the true quantities going to the instruments.
    1. Example – a source composed of a calendar spread and a leg receives 25 lots, therefore both the spread and the leg must each be allocated 25 lots.
    2. Example – a source composed of a TUF 05-04 and ZF contributes an implied OUT to ZT. 30 lots are allocated to this ZT source. The TUF receives 6 lots, and the ZF receives 24 lots.
  9. Predetermination is now complete.
  10. 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.
Concerning step 6b above, there is a round up rule with ratio spreads. These sources are calculated first before allocation goes to other sources.  The round up is then checked against the leg being aggressed to determine which way to round. Using the TUF 05-04 as an example, let’s assume that this spread in conjunction with resting quantity in its legs implies to both the ZT and the ZF (these implieds will not be visible via market data). If the ZT source (from the TUF and ZF) was allocated 2 lots, round this quantity to zero and work on the other sources. If it receives 3 lots, and there is enough quantity not allocated, round source volume UP to 5 lots, which will eventually result in the TUF getting 1 lot and the ZF getting 4 lots.  If the ZT source were allocated 8 lots, and there is enough quantity not allocated, round source volume UP to 10 lots, which will eventually result in the TUF getting 2 lots and the ZF getting 8 lots.