Skip to content

Fill-or-kill order

A fill-or-kill order must execute in full immediately or cancel in full. Compare its quantity ledger with IOC and separate the price limit from the completion condition.

A fill-or-kill (FOK) order requires the entire requested quantity to execute immediately; if that cannot happen under the order's conditions, the whole order is cancelled with no execution. It is useful when a partial position would defeat the trading objective, but it exchanges partial-fill risk for the possibility of no position at all. This is the stock-order definition given by Investor.gov.
The phrase joins two requirements: full size and immediacy. Neither requirement promises that enough eligible liquidity exists.

A price can be acceptable while the size is not

Consider an original synthetic instruction: buy 100 shares, with a limit of USD 101 per share, FOK. At the immediate execution decision, only 60 shares are available at 101 or better in the eligible pool. Assume a frozen pool, whole shares, no hidden liquidity, no competing orders and no fees. The stipulated policy requires immediate, full completion.
The limit order component permits prices of 101 or below. The FOK component rejects the available 60-share outcome because it falls short of 100. Consequently, zero shares fill and all 100 are cancelled. Offers above 101 cannot make up the shortage: doing so would breach the price instruction.
Changing only the completion instruction to immediate-or-cancel, or IOC, gives a different result. IOC permits the 60 available shares to fill and cancels the remaining 40. Both instructions terminate promptly; only FOK rules out a partial fill. Investor.gov's IOC definition makes that remainder cancellation explicit.
Alternative instructionRequested sharesFilled sharesCancelled sharesShares left resting
FOK10001000
IOC10060400
Synthetic buy request for 100 shares with a USD 101 per share cap and only 60 eligible immediately. FOK fills zero and cancels 100. IOC fills 60 and cancels 40. Both leave zero shares resting.
Synthetic buy request for 100 shares with a USD 101 per share cap and only 60 eligible immediately. FOK fills zero and cancels 100. IOC fills 60 and cancels 40. Both leave zero shares resting.
Original frozen, single-pool example. Prices are USD per share and quantities are whole shares. No hidden liquidity, competing activity, fees or routing to other pools. FOK and IOC are alternative instructions applied to the same initial liquidity.
The FOK order does not first buy 60 and then undo the purchase. Under the stipulated policy, a partial execution is never accepted. If the eligible pool instead supplies exactly 100 shares, the full-size condition is met. Full completion can consist of several matches; it need not mean one seller or one execution price, provided every match satisfies the order's conditions.

For this simplified immediate-pool model, let QQ be the requested quantity and AA the eligible quantity available at acceptable prices. The filled quantity is

FFOK={Q,A≥Q,0,A<Q,FIOC=min⁡(Q,A).F_{\mathrm{FOK}}= \begin{cases} Q, & A\ge Q,\\ 0, & A<Q, \end{cases} \qquad F_{\mathrm{IOC}}=\min(Q,A).
In either case, cancelled quantity is C=Q−FC=Q-F. The useful ledger identity is requested = filled + cancelled, with nothing left resting after the instruction finishes. In a real implementation, determining what belongs in AA requires the actual broker and venue rules; a displayed size alone does not establish eligibility.

Full quantity and short lifetime are separate choices

All-or-none (AON) requires complete size but does not, by itself, impose FOK's immediate deadline. An AON order may remain active while waiting for the full quantity, within its applicable lifetime. It does not accumulate partial fills along the way. Investor.gov distinguishes that waiting behaviour.
A price limit answers a different question: which execution prices are authorised? It does not specify how long the order can live or whether partial fills are acceptable. A buy limit can be immediately marketable and still fail to fill its whole size. FOK is commonly specified among time-in-force or execution conditions; the order-entry vocabulary and supported combinations depend on the service.
For a buy, a limit is a maximum price; for a sell, it is a minimum. Investor.gov's order guide explains this directional price protection. In either direction, FOK adds the immediate, complete-quantity test.

The guarantee has an order boundary

FOK can help a strategy avoid an awkward partial acquisition. It does not guarantee completion, a profitable fill, or an atomic transaction across several independently submitted orders. If a hedge needs both legs, attaching FOK to each leg separately does not ensure that both legs execute together. One may fill while the other fails its own test.

The order book is also time-sensitive. Liquidity observed when deciding can change before arrival. “Immediately” describes handling under the applicable service rules, rather than a universal elapsed-time promise. Check the instrument, session, permitted order combinations, eligible liquidity and routing scope before relying on a named FOK implementation. Do not assume that a single-venue instruction can combine every displayed quote across markets.
A trading system should record the accepted instruction and reconcile confirmed execution and cancellation reports. Sending a FOK request is not evidence that a position was acquired. For more on that lifecycle, Market, Limit and Conditional Orders connects price protection, completion and order-state accounting. It has a public preview; the full lesson requires membership.

Sources

  • Investor.gov: Fill-Or-Kill Order — immediate execution in full or cancellation with no partial execution.
  • Investor.gov: Immediate-Or-Cancel Order — immediate execution with any unfilled portion cancelled.
  • Investor.gov: All-Or-None Order — complete-size requirement that can wait for execution.
  • Investor.gov: Types of Orders — market and limit instructions and buy/sell price protection.
  • Rishi K. Narang, Inside the Black Box: A Simple Guide to Quantitative and High-Frequency Trading, 2nd edition (Wiley, 2013), Chapter 7, “Aggressive versus Passive,” pp. 120–124, and “Other Order Types,” pp. 124–125 — grounding for price-versus-completion choices and order modifiers. The example and figure are original.
Last updated
  • order types
  • execution
  • time in force
  • liquidity
← Back to the glossaryBack to top ↑