How CME’s Matching Engine Prioritizes Orders

While there is much discussion about the costs incurred from trading against algorithmic traders, prop shops, and HFTs; there is relatively little mention of another type of algorithm that could be affecting trading performance: the algorithms embedded within exchange matching engines.

What is a matching engine? Well, when exchanges like the CME moved to electronic matching of bids and offers instead of the pit traded method of yelling, hand signals, and more paper tickets on the floor than any environmentalist would ever care to see; they needed a set of rules to dictate how the matching of orders would proceed in the digital environment. An engine, if you will, for the orderly operation of orders, wherein goes the fuel of multiple bids and offers, and out comes the propulsion of neatly matched trades.

Proper understanding of the different matching engines and how participants’ orders interact on the order book has mostly been the domain of market microstructure experts and sophisticated professional traders. It’s the trading equivalent of inside baseball or how the sausage is made, with most just caring that their order was executed, not how it was.

But a lack of knowledge regarding the exchange matching algorithms can be a less obvious way traders may encounter slippage. RCM-X believes all market participants should be familiar with at least the basics of these matching engines in the name of best execution, and to better understand how the exchange treats your order after you submit it.

Matching Engines

The CME’s matching engine operates 10 different algorithms for electronic orders. Like any algorithm, these are a set of computerized and automated directions or rules. And, in this case, the algorithms dictate how resting orders – orders on the order book that have not yet been matched – are matched with aggressor orders – orders that are willing to ‘cross the spread’ in order to execute immediately. ‘Crossing the spread’ with an aggressor order, such as a market order, generates more slippage than getting filled on a resting order.

Not all orders are treated the same in all cases. Sometimes, the Top Order is given priority, sometimes the First Order In, and so forth. The following are the basic priority settings within the matching engine, which are then used in different ways depending on the market:

  • Top Order – Priority for an order which establishes a new price level


  • First In First Out (FIFO)- Priority for orders based on time, which resets at any price change, increase in quantity, or change in account number; with specific handling applied to outright vs. implied matches as well as matching a single leg against multiple spreads


  • Pro Rate – Priority for orders based on their percentage of the total size available at the price level, with fractional amounts, rounded down to the nearest whole contract; orders must meet a minimum pro rata allocation depending on the product


  • Lead Market Maker (LMM) – Priority for orders submitted by exchange designated LMMs, configured as a set percentage per product when present


FIFO-based Matching Algorithms

The FIFO-based matching algorithms include FIFO (F, T), NYMEX FIFO with LMM (N), and FIFO with Top Order and LMM (S), with the letters in parentheses the CME matching engine tag values. If Top Order or LMM are present on the matching algorithm, priority is given to the Top Order, followed by the LMM, and finally to the regular FIFO allocation.

Major products utilizing a FIFO-based matching algorithm include most energy, equity, and metals contracts, as well as the regular and Ultra variants of the 10-Year Treasury Note and Treasury Bonds.

The example below shows the order first in the queue (time rank = 1) getting filled on their entire offer of 80 contracts, the second order in the queue getting filled on 35 of their 55 contracts offered, and the third getting none, despite offering a price the buyer is willing to pay, because they were last in the queue – showing how important speed can be.

Order Book

Sell 80 Limit @ 68.25
Sell 55 Limit @ 68.25
Sell 30 Limit @ 68.25

Incoming Buy 100 CL Limit @ 68.25

Orders Filled


Pro Rata-based Matching Algorithms

Pro Rata-based matching algorithms include Pro Rata (C), Allocation (A), Threshold Pro Rata (O), and Threshold Pro-Rata with LMM (Q), a variant of which is Eurodollar Option Algorithm (Y).

The Pro Rata algorithm applies to FX futures spreads and is a simple pro rata allocation with a minimum allocation of 2 contracts for all products. Any remaining quantity not covered by the pro rata allocation is then finished with a FIFO allocation.

The Allocation algorithm applies to Eurodollar and Euribor futures products. The first allocation goes to the Top Order, followed by a pro rata allocation, and finally a FIFO allocation for any residual quantity.

The Threshold Pro Rata algorithm applies primarily to agricultural options products. Like the Allocation algorithm, orders are allocated Top Order, pro rata, and FIFO. The minimum and maximum top order allocation differ by product.

The Threshold Pro-Rata with LMM applies primarily to interest rate options and is allocated Top Order, LMM, pro rata, and FIFO. While Top Order is generally given a 100% allocation up to the maximum allocation, the Eurodollar Option algorithm limits the Top Order to a 25% allocation.

The example below shows the Allocation Algorithm on a Eurodollar future. This product has a 100% Top Order allocation up to a maximum of 49,999 contracts. Due to this, the Top Order for 30 contracts will be filled in full. Following the Top Order, the matching price level has 4 orders left for 110 contracts to which the remaining 95 contracts are allocated on a pro-rata basis. Two contracts are left to be matched after the pro rata match due to rounding that is allocated on a FIFO basis.

Order Book

Eurodollar (GE)

            (Top Priority) Sell 30 Limit @ 97.650
Sell 20 Limit @ 97.650
Sell 15 Limit @ 97.650
Sell 40 Limit @ 97.650
Sell 35 Limit @ 97.650


Incoming Buy 125 Limit @ 97.650

Split FIFO and Pro Rata

The Split FIFO and Pro Rata (K) matching algorithm have a single designation but many different variants. The allocation priority is as follows, depending on the product priority rules: Top Order, LMM, FIFO split, pro rata split, pro rata leveling, and FIFO.

Two major differences in the Split FIFO and Pro Rata algorithm are the split percentage allocations and the pro rata leveling allocation. Depending on the product, a certain percentage of each matching order gets allocated FIFO and the remainder is allocated pro rata, with additional rules due to rounding after the pro rata allocation. One such rule is the pro rata leveling allocation, which can be viewed as a sub-allocation within the algorithm. After the pro rata allocation, any orders that did not receive a pro rata fill are eligible for a one lot fill, with priority based on size as well as time in the case of multiple eligible orders for the same size.

The example below shows a Soybean future order matched using the Split FIFO and Pro Rata algorithm. This contract has a Top Order allocation of 100% up to 100 contracts, which fills the Top Order of 10 completely. The 40% FIFO pass begins with 20 contracts remaining to be matched, and 8 contracts are matched to the top FIFO order remaining, reducing its size on the order book to 47. The Pro Rata phase of the order match has 12 contracts remaining to be allocated and 207 contracts offered. Due to rounding down, 9 contracts are filled Pro Rata and the resting order for 10 contracts receives a 1 lot Leveling fill since it did not participate in the Pro Rata phase. The final 2 contracts are then allocated on a FIFO basis. This example illustrates how the combined algorithm offers opportunities for resting orders to be matched both on a size and speed basis, as well as the opportunity for passive fills in the leveling stage that market participants may be overlooking.

Order Book

Soybeans (ZS)

(Top Priority) Sell 10 Limit @ 1009’6
Sell 55 Limit @ 1009’6
Sell 10 Limit @ 1009’6
Sell 65 Limit @ 1009’6
Sell 85 Limit @ 1009’6

Incoming Buy 30 Limit @ 1009’6

The CME maintains information pertaining to these algorithms in the CME Globex Product Reference guide. Market participants with a proper understanding of the matching algorithms, such as RCM-X and its suite of execution algorithms, give themselves a better chance at achieving passive fills, thus reducing their trading costs.

Call Mike Aufmann at 312-870-1537 to discuss your current execution practices and how RCM-X can help drive performance gains in that area.


The performance data displayed herein is compiled from various sources, including BarclayHedge, and reports directly from the advisors. These performance figures should not be relied on independent of the individual advisor's disclosure document, which has important information regarding the method of calculation used, whether or not the performance includes proprietary results, and other important footnotes on the advisor's track record.

Benchmark index performance is for the constituents of that index only, and does not represent the entire universe of possible investments within that asset class. And further, that there can be limitations and biases to indices such as survivorship, self reporting, and instant history.

Managed futures accounts can subject to substantial charges for management and advisory fees. The numbers within this website include all such fees, but it may be necessary for those accounts that are subject to these charges to make substantial trading profits in the future to avoid depletion or exhaustion of their assets.

Investors interested in investing with a managed futures program (excepting those programs which are offered exclusively to qualified eligible persons as that term is defined by CFTC regulation 4.7) will be required to receive and sign off on a disclosure document in compliance with certain CFT rules The disclosure documents contains a complete description of the principal risk factors and each fee to be charged to your account by the CTA, as well as the composite performance of accounts under the CTA's management over at least the most recent five years. Investor interested in investing in any of the programs on this website are urged to carefully read these disclosure documents, including, but not limited to the performance information, before investing in any such programs.

Those investors who are qualified eligible persons as that term is defined by CFTC regulation 4.7 and interested in investing in a program exempt from having to provide a disclosure document and considered by the regulations to be sophisticated enough to understand the risks and be able to interpret the accuracy and completeness of any performance information on their own.

RCM receives a portion of the commodity brokerage commissions you pay in connection with your futures trading and/or a portion of the interest income (if any) earned on an account's assets. The listed manager may also pay RCM a portion of the fees they receive from accounts introduced to them by RCM.

See the full terms of use and risk disclaimer here.