trading

Fill or Kill

A Fill or Kill (FOK) order is a conditional order instruction requiring that the entire order volume be executed immediately and completely at the specified limit price or better, or else the entire order is instantly cancelled without any partial fulfillment.

What Is a Fill or Kill (FOK) Order?

A Fill or Kill (FOK) order is an advanced conditional limit order type widely utilized in foreign exchange, equity, and derivatives trading. It combines two strict constraints: full quantity fulfillment (no partial fills permitted) and immediate execution (zero resting time on the order book).

When a trader transmits an FOK order, the exchange matching engine or broker liquidity aggregator performs an instantaneous check: if the total requested volume cannot be filled immediately at the specified limit price (or better), the entire order is instantaneously terminated (“killed”). Under no circumstances will an FOK order sit open waiting for future liquidity, nor will it accept a partial execution.

Fill-or-Kill (FOK) Order Execution Protocol Figure: Fill-or-Kill (FOK) order restriction: mandatory 100% immediate fill at limit price or instant total cancellation, strictly prohibiting partial fills and resting orders.


Key Takeaways

  • Binary Outcome: An FOK order produces strictly one of two outcomes: a 100% complete fill or total cancellation.
  • Zero Partial Fills: Unlike standard limit orders, an FOK order never leaves the trader holding a fraction of their intended exposure.
  • Zero Order Book Resting: An FOK order is executed or cancelled in microseconds; it never rests in the public order book to provide liquidity.
  • Essential for Multi-Leg Arbitrage: Algorithmic traders rely heavily on FOK orders when executing triangular currency arbitrage or synthetic options spreads where a partial fill on one leg would expose the firm to unhedged directional market risk.

FOK vs. IOC vs. AON: Understanding Conditional Order Types

Traders often confuse Fill or Kill with other conditional execution instructions:

Order Modifier Abbreviation Accepts Partial Fills? Can Rest on Order Book? Immediate Execution Required?
Fill or Kill FOK NO (Must be 100% filled) NO (Killed instantly if not filled) YES (Microsecond execution)
Immediate or Cancel IOC YES (Fills whatever is available) NO (Unfilled portion is cancelled) YES (Microsecond execution)
All or None AON NO (Must be 100% filled) YES (Rests until full volume is met) NO (Can wait until expiration)
Good ’Til Cancelled GTC YES (Standard limit order behavior) YES (Rests until filled or cancelled) NO (Passive liquidity provider)

Strategic Applications in Institutional FX Trading

1. Triangular and Cross-Currency Arbitrage

Quantitative algorithms continuously scan currency triplets (e.g., EUR/USD, GBP/USD, and EUR/GBP) for microsecond pricing misalignments. To lock in risk-free arbitrage profits, all three currency legs must execute simultaneously. If the algorithm used standard market orders, a partial fill on EUR/GBP would leave the fund with unhedged currency risk. By deploying FOK orders, the algorithm ensures that either all positions execute in full, or the arbitrage attempt safely aborts with zero loss.

2. Preventing Adverse Selection in Large Block Trades

When an institutional corporate treasurer needs to buy $50 million of a less liquid currency cross, placing a standard limit order signals large buyer demand to high-frequency market makers. If the order receives a tiny partial fill of $2 million, competing algorithms can front-run the remaining $48 million by bidding up the price. Using an FOK order prevents signaling market interest unless the entire block can be absorbed immediately.


How to Set Up an FOK Order in Trading Platforms

In professional trading platforms (such as MetaTrader 5, cTrader, and FIX API connections):

  1. Open the Order Ticket window.
  2. Select Pending Order or Limit Order.
  3. Locate the Time-in-Force (TIF) / Execution Policy dropdown menu.
  4. Select Fill or Kill (FOK) (in MT5, this is designated as Type: Fill or Kill).
  5. Enter the target limit price and volume, and submit.

Frequently Asked Questions

What happens if only 99% of my FOK order can be filled?

If you submit an FOK order for 100 lots, and the exchange has 99 lots available at your price, the matching engine will kill the entire 100 lots. Under strict FOK rules, even a 99% fill is rejected to protect the trader’s requirement for complete execution.

Can an FOK order be placed as a market order?

Technically, FOK is paired with a limit price because a pure market order accepts any price and would theoretically always fill by sweeping deeper order book tiers. FOK ensures you receive your target price and your target quantity simultaneously.

Does placing a cancelled FOK order cost trading commissions?

No. Regulated electronic exchanges and reputable retail brokers charge transaction commissions only on executed volume. An FOK order that is cancelled produces zero fills, incurring zero execution fees.

Ready to trade forex?

Open a free demo account with a regulated broker. Practice with virtual funds before risking real money.

Compare Brokers →