WhitmanTrading

What Is a Fill or Kill Order?

Fill or kill order is an instruction to execute the entire quantity immediately or cancel the order completely. It permits no partial execution and no resting in the book, which makes it a tool for taking a known block of liquidity without revealing intent.

Most order types are about price. Fill or kill is about completeness — it exists for situations where half a position is not half as good, but actively bad.

How it works

Submit the full quantity with a fill-or-kill instruction. The venue checks whether the whole amount can execute immediately at your price or better.

If it can, it does, in one go. If it cannot, the entire order is canceled — not reduced, not queued, canceled.

It never sits waiting. The decision is made in the instant the order arrives, which is the property that distinguishes it from every order type that waits.

Why leaving no trace matters

A resting order is public information. It sits in the order book, visible, telling everybody that somebody wants to trade a particular size at a particular price.

And that information is tradeable against you. Others can position ahead of a large visible order, which makes the rest of your execution worse.

A killed order told nobody anything. It probed for liquidity, found none, and vanished — which is the whole reason institutions use the instruction.

A worked example

A trader needs 50,000 shares as a single block to hedge an existing exposure. Half a hedge leaves them with a directional position they did not want and now have to manage.

The book shows 50,000 available at 100.05 or better. A fill-or-kill order at 100.05 takes all of it in one execution.

Now suppose the book only shows 30,000. The order is killed. The trader owns nothing, has revealed nothing, and can try a different venue or a different approach.

Compare that to a plain market order. It would have taken the 30,000 and then walked up through worse prices for the remaining 20,000, leaving a half-hedge at a bad average and a visible footprint.

Table diagram of a fill-or-kill order for 50,000 at 100.05 against a market order, when the book shows 50,000 and when it shows 30,000.
A diagram of this page's worked example: killed rather than half-filled, the trader owns nothing and has shown nothing.

The order types it sits beside

Immediate or cancel fills whatever is available right now and cancels the rest. It accepts partial execution; fill or kill does not, and that single difference is the whole distinction.

All or none demands the full quantity but is willing to wait for it. It accepts resting; fill or kill does not.

So fill or kill is the intersection of both constraints — full size and immediate — which is why it fails more often than either. You are asking the market for two things at once.

And that failure rate is the point. A killed order costs nothing but a message, and the information that the liquidity is not there is genuinely worth having before committing to a worse execution.

The original data

Say the offer shows 500 shares at $20.00 and another 1,500 at $20.05. A fill-or-kill order to buy 2,000 limited at $20.00 is killed outright; the same order limited at $20.05 fills in full at an average of $20.0375, about 0.19% above the best offer.

That cost applies to the size at the top of the book. An order large enough to need a fill-or-kill instruction is an order large enough that the quoted spread understates what it will actually pay.

And an order that must execute now, in full, is betting that this moment beats the next one. Even whole days on the S&P 500 closed up only 53.1% of the time from 1950 to 2026, so the next few seconds carry almost no directional information either way.

Who actually uses it

Hedgers with a fixed requirement. An exposure of a specific size needs an offset of a specific size, and a partial offset is a new problem rather than a smaller version of the old one.

Arbitrage between two instruments. If the trade only works when both legs execute, a partial fill on one leg is an outright position nobody wanted.

And algorithms probing venues. A sequence of fill-or-kill orders across multiple venues is a way of asking “is the size here?” without committing anywhere until the answer is yes.

Almost nobody buying shares for a personal account needs it. For an ordinary order, a partial fill is perfectly acceptable and the instruction’s only effect is to make the order fail more often — which is worth stating plainly, because the order type sounds decisive and choosing it for that reason is a mistake.

And the venue decides what it means. Exchanges differ on whether a fill-or-kill order may sweep several price levels to complete or must fill at one price, and on how long “immediate” is in practice. Two brokers routing the same instruction to two venues can produce different outcomes from identical inputs, which is why the definition is worth checking rather than assuming.

How this connects

The main alternative for hiding size is different in kind. An iceberg order rests in the book and reveals only a slice, while a hidden order rests with nothing displayed at all, and both still wait.

A dark pool attacks the same problem at the venue level, matching large orders without displaying them before execution.

An intermarket sweep order is the fast cousin. It lets a trader take displayed liquidity across several venues at once, where this instruction tests a single venue for the whole amount.

The matching engine decides the outcome in one pass, checking the quantity available at the ask or better before anything executes.

Market makers and high frequency trading firms are often the resting liquidity it meets, and their quotes can vanish in the instant between seeing size and sending the order.

Pairs trading is a natural use, since a filled leg without its partner is an unhedged position.

Algorithmic trading systems use it to avoid slippage on a leg that must fill at a known price.

For ordinary accounts a limit order does the price-protection part, and a bracket order handles exits.

When it fails

The characteristic failure is using it for ordinary trading. It reads as the disciplined choice — all or nothing, no half measures — and applied to a normal-sized order it simply produces cancellations. The size was always available in pieces, the pieces were always acceptable, and the instruction rejected them on a principle that had no bearing on the situation. The trader ends up repeatedly resubmitting an order that a plain instruction would have filled on the first attempt.

A second failure is confusing it with all or none, which is willing to wait and behaves completely differently.

A third is assuming a kill means there was no liquidity. It means there was not enough at your price at that instant, which is a much narrower statement.

A fourth is not knowing whether your broker supports it. Many retail platforms do not offer it, or translate it into something else.

The question: Killed again. Was the size ever there?

And a fifth is repeatedly resubmitting after a kill. Each attempt is itself a signal, and a rapid sequence of them reveals more than the single resting order you were avoiding.

Order types covers the full set and what each instruction gives up. Good till canceled order covers the opposite instruction — one that waits indefinitely. And order book covers the visible record this order avoids entering.

The practical check

Almost nobody trading a personal account needs this order type, and it is worth understanding anyway — because the reason it exists explains what large orders are actually afraid of, which is being seen.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money.