Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
applied to stop buy order: The stop order with the lowest stop price would be triggered first. If two stop orders have the same stop price, then the timestamp which was attached when it entered the order book is used to determine the order of execution. The earlier order will be triggered first.
applied to stop sell order: accordingly
Pro rata matching
Pro rata matching is used to allow smaller orders to participate in the matching process without suffering from disproportionate slippage during low volatility. I guess that when the stop price is hit (market trades at or above the stop price for a stop buy) all eligible stop orders are converted to market orders and will participate in the pro rata matching. Any order that is not filled within the matching range could be cancelled.
CME
CME uses allows stop limit orders only. If a stop market order is sent to CME it will automatically be converted to a stop limit order (stop market with protection, limit price = stop price +- 50% of the non-reviewable range). When the stop price is hit, the stop order is filled against all price levels between stop and limit price. The remaining part of the order becomes a limit order. Now back to your question, which matching principles are used.
There are different algorithms used depending on the instrument:
- Allocation: Pro-Rata matching with top order priority (first order that betters the market) and minimum allocation to pro-rata matching
- Eurodollar option: Pro-Rata matching that incorporates a lead market maker (LMM) and top orer
- FIFO: simple price/time priority (what you expected)
- FIFO with LMM: FIFO with a configurable percentage routed to lead market maker
- Pro-Rata: simple pro rata matching, or pro-rata for minimum allocation, FIFO for residual quantities
- Split FIFO and pro rata: Percent based allocation of FIFO and pro rata.
etc.
EXAMPLE: Corn Futures (ZC)
For corn futures CME uses a split FIFO and Pro-Rata algorithm. You can find the details by studying the CME Globex Product Reference, which is here (search for GCC Product Reference Sheet):
From that table I conclude that the following rules apply to outright corn futures (ZC)
- split FIFO and Pro-Rata algorithm (symbol K)
- a top order allocation of 100%
- 40% FIFO allocation
- 60% Pro-Rata allocation
On the other hand, if you ask about E-mini futures contracts (ES), the matching algorithm is a pure FIFO algorithm without any pro-rata allocation. In this case your assumption would be correct.
I heard that stop orders don't actually reside at the exchange, but rest at the brokers server and are then sent to the exchange once hit.. in that case there would be no FIFO?
I am using Ninjatraderbrokerage + Rithmic and trading the UB & ZB.
Usually stop orders do reside at the exchange. Please contact your broker to understand whether the stop order is simulated on their servers. Generally this should not be the case.
NinjaTrader allows you to simulate stop orders locally. In that case they are residing on your PC and will be triggered, once that the stop price has been hit. The main reason to use simulated stop order instead of real stop orders is that you may add further conditions to your stop order such as (for a stop buy order)
- minimum volume required at or above the stop price before the stop order is triggered
- using a stop limit price below the stop price
However, a local simulation of a stop order may increase slippage in case that price cuts right through the stop price, as you would be served last with regard to time priority.