Matching Algorithms

Matching Algorithms

FIFO (First In, First Out)

The FIFO algorithm uses price and time as the only criteria for filling an order. In this algorithm, all orders at the same price level are filled according to time priority; the first order at a price level is the first order matched. This gives an advantage to limit orders that have been in the order book at that price level the longest time. 

Split FIFO and Pro-Rata (K algorithm)

The Split FIFO/Pro-Rata algorithm is a hybrid which integrates a percent-based allocation on both a FIFO and Pro-Rata formula to the resting order book. This algorithm has been developed with the flexibility to calibrate the level of tradable quantity that is allocated on a FIFO and Pro-Rata basis (A set percentage FIFO, and a set percentage Pro-Rata). This algorithm ensures broader participation in the market. 

For more details on how the various allocation algorithms are applied across our agricultural futures and options markets, visit the CME Group Client Systems Wiki. For additional information on which algorithm is applied for a given futures or options product at CME Group, see the CME Globex Product Reference Sheet.

The picture below may help:

    • Related Articles

    • Futures Offset Method (Platform vs. Statement)

      Futures Offset Method (Platform vs. Statement)  Due to different offset methodologies used by the platform and the daily statements, the open position showing on your platform could differ from what shows on your statement.    Platform Method  First ...
    • How to Trade the CME Event Contracts on Rithmic?

      To gain access to the CME Event Contracts, please follow the below instructions: Log into the Rithmic web application using the following link: If you are logged into Rithmic elsewhere, it will disconnect your ...
    • Why was my Limit order not filled?

      For most products, Futures contracts are filled using a FIFO (First in, First out) method.   If the market traded at the price where you placed a Limit Order, but there were not enough contracts filled to reach your order, it may not be filled.    ...