Immediate or cancel order
Family II · Orders
Not to be confused with good till cancelled order, fill or kill order, limit order.
Immediate or cancel (IOC) is an order instruction that demands execution on arrival and discards whatever cannot be filled at once. Unlike a resting limit order, an IOC order never remains on the order book after the matching process ends. It is used when a trader wants to take available liquidity but not expose a standing order to later price moves.
How an IOC order behaves
When an IOC order reaches the matching engine, it is checked against the opposite side of the book. Any quantity that can be matched at the specified price or better is executed immediately. The unfilled portion is cancelled rather than posted to the book.
Key properties:
- Execution is attempted only at the moment of arrival.
- Partial fills are permitted; the remainder is cancelled.
- No residual order rests on the book.
- It may be combined with a limit price to cap the execution price.
An IOC order without a limit price is effectively a market order that accepts partial fills and cancels the rest. With a limit price, it will not trade beyond that price.
Worked example
A trader sends an IOC buy order for 1,000 shares with a limit price of 50.00. The book shows offers of 400 shares at 49.98, 300 shares at 49.99, and 500 shares at 50.01.
The order fills 700 shares at an average price of about 49.984 and the remaining 300 shares are cancelled immediately.
Where it is used
IOC orders are common in electronic markets where speed of execution matters and traders wish to avoid leaving a footprint on the book. They are frequently used by algorithmic strategies that need to sweep available liquidity without posting a resting order. The exact handling of IOC orders, including whether they are supported at all, varies by venue and asset class.
Often confused with
- good till cancelled order
- A good till cancelled order is an instruction to buy or sell that remains active until it is either filled or explicitly cancelled by the trader, rather than expiring at the end of the trading session.
- fill or kill order
- A fill or kill order is an instruction to execute a trade immediately and in full, or cancel it entirely if that is not possible; no partial execution is allowed.
- limit order
- A limit order is an instruction to buy or sell a specified quantity of an instrument only at a stated price or better, and it may remain unfilled if the market never reaches that price.