Immediate or Cancel (IOC) Orders: NSE Flow and Partial Fills
How an Immediate or Cancel order works on the NSE order window, with worked Nifty and Reliance partial-fill examples, charges and taxes.
Key Takeaways
- 1.An IOC (Immediate or Cancel) order executes whatever quantity it can match the instant it hits the exchange, then cancels the rest. Nothing sits in the order book waiting.
- 2.On the NSE order window (Kite, Dhan, Groww, Angel One) you turn an order into IOC by selecting the IOC validity radio button instead of DAY. It works for both market and limit prices.
- 3.Partial fills are the normal outcome, not the exception. If you send a limit IOC for 1,000 shares and only 380 are available at your price, you get 380 and the other 620 vanish instantly.
- 4.IOC is built for liquidity hunting, large-block slicing, and basket or algo entries where a resting order would leak your intent. It is rarely the right choice for a retail trader placing a single positional trade.
- 5.Brokerage, STT, exchange charges and GST apply only to the filled quantity. A cancelled portion costs you nothing, but every separate partial fill is still one executed trade for tax and charge purposes.
What an IOC Order Actually Is
An Immediate or Cancel order, IOC for short, is an order validity instruction, not a price type. You attach it to either a market order or a limit order. It tells the NSE or BSE matching engine: fill as much of my quantity as you can right now, at this price or better, and the moment you cannot fill any more, cancel everything that is left. The order never rests in the visible order book. It either matches against orders already sitting there or it dies in microseconds.
The contrast that matters is with the default DAY validity. A DAY limit order that cannot fill immediately stays parked in the book until close, hoping the price comes to it. An IOC order refuses to wait. This single difference is why IOC is the tool of choice for traders who care more about certainty of timing than certainty of quantity. You accept that you might get only part of your size, in exchange for never being left with a stale order exposed to a moving market.
Two flavours exist. An IOC market order sweeps the book and takes whatever quantity it can at successively worse prices until either your full size is filled or the book runs dry, then cancels any remainder. An IOC limit order only matches at your limit price or better and cancels the instant the next available price is worse than your limit. The limit version is far safer for retail use because it caps the price you pay, whereas a market IOC in a thin counter can fill you at ugly levels before it stops.
Where You Click IOC on the NSE Order Window
Every SEBI registered broker exposes IOC the same way because the validity flag is set at the exchange protocol level, not by the broker. On a typical NSE order entry window, whether it is Zerodha Kite, Dhan, Groww, Upstox or Angel One, the flow is the same. You open the buy or sell ticket, choose the product type (CNC for delivery, MIS for intraday, NRML for carry forward F&O), set quantity and price, and then look for the validity row. The two radio buttons there are usually labelled DAY and IOC. Selecting IOC is the entire action. There is no separate menu.
- Open the order ticket and pick your segment and product (for example NRML for a Nifty option, MIS for an intraday cash trade).
- Set Quantity. For F&O this is in lots, so the actual quantity is lots multiplied by lot size (Nifty 75, Bank Nifty 15, FinNifty 25, Sensex 10).
- Choose Order Type: Limit is strongly recommended over Market for IOC so you never get filled at a price you did not approve.
- In the Validity row, switch the radio button from DAY to IOC.
- Submit. Within a fraction of a second you will see one of three results in the order book: Complete, Partially filled and cancelled, or Cancelled (zero fill).
After an IOC order, the order log shows a status like Filled 2/5 or Cancelled. On Kite a partial IOC appears as one completed trade for the filled lots plus a cancelled child for the rest. Always confirm the filled quantity in your positions before you assume you are in the trade, because a cancelled remainder leaves you under-sized.
Worked Example: A Partial Fill on Nifty Options
Numbers below are illustrative and chosen to show the mechanics. They are not a forecast or a promise of any return. Suppose it is a Tuesday and Nifty is trading near 23,400. You want to buy the weekly 23,400 CE (call) because you expect a quick move up. The option is quoting 95.00 bid and 96.00 ask, and you decide to pay no more than 96.00. You want 5 lots. Nifty lot size is 65, so 5 lots is 375 contracts.
You place a limit IOC buy for 375 quantity at 96.00. At that instant, the order book has only 3 lots (225 quantity) resting at 96.00 or lower. The IOC order grabs those 225 immediately at 96.00, then looks for more at 96.00 or better, finds none, and cancels the remaining 150 quantity (2 lots). Your result: you are long 3 lots, not 5, and the unfilled 2 lots are gone. If you still want them you must send a fresh order, very likely at a higher price now that you have lifted the offer.
Cost of the filled portion: 225 contracts multiplied by 96.00 equals a premium outlay of Rs 21,600. STT on options is charged at 0.15% on the sell side of the premium, so buying costs no STT, but plan for it on exit. Suppose the option rises and you sell all 3 lots at 130.00. Sell value is 225 multiplied by 130.00 equals Rs 29,250. Your gross profit is Rs 29,250 minus Rs 21,600 equals Rs 7,650 before charges.
| Item | Calculation | Amount (Rs) |
|---|---|---|
| Buy premium (3 lots filled) | 225 x 96.00 | 21,600.00 |
| Sell premium (3 lots) | 225 x 130.00 | 29,250.00 |
| Gross profit | 29,250 minus 21,600 | 7,650.00 |
| STT on sell (0.15% of 29,250) | 29,250 x 0.0015 | 43.88 |
| Brokerage (flat 20 per leg, 2 legs) | 20 + 20 | 40.00 |
| Exchange + SEBI + stamp + GST (approx) | illustrative | 30.00 |
| Approx net profit | 7,650 minus 113.88 | 7,536.12 |
Notice what the IOC did and did not do. It protected you from overpaying: you never crossed above 96.00. It did not guarantee your size: you wanted 5 lots and got 3. If those 2 missing lots were the difference between your planned position and a half position, your actual profit on the full intended trade is smaller than expected. That trade-off, price discipline at the cost of fill certainty, is the entire personality of an IOC order.
Worked Example: IOC on a Liquid Cash Stock
Now a cash market case with Reliance Industries, again with illustrative numbers. Reliance is quoting 2,940.00 and you want 1,000 shares but refuse to pay more than 2,941.00. You send a limit IOC buy for 1,000 at 2,941.00. The book has 620 shares offered at 2,941.00 or lower. The IOC fills 620 instantly, then cancels the remaining 380 because the next offers sit at 2,942.00, above your limit.
You are now holding 620 shares at an average around 2,940.60, a fill cost of roughly Rs 18,23,172. If you had used a plain DAY limit order instead, those 380 leftover shares would have stayed live in the book and could have filled later, but you would also be exposed to the price running away while the order sat there. IOC chose immediacy. For delivery equity, remember STT is 0.1% on both buy and sell, plus brokerage (zero on delivery at many discount brokers), exchange transaction charges, GST, SEBI turnover fee and stamp duty. On a sale, gains are taxed as capital gains: 20% STCG if held under a year, and 12.5% LTCG above Rs 1.25 lakh of long term gains if held longer.
If a large IOC fills in several pieces at different prices, brokers that charge per-trade may bill each fill. Discount brokers usually cap brokerage per executed order, but exchange charges and STT are always on the executed value. A cancelled quantity is free; only what fills is charged and, eventually, taxed.
IOC vs Day vs Fill or Kill
The cleanest way to understand IOC is to line it up against its neighbours. The key axes are whether partial fills are allowed and whether the order can rest in the book. IOC allows partials but never rests. A Fill or Kill (FOK) order is the strict cousin: it must fill the entire quantity in one shot or be cancelled completely, with no partial fills allowed. Note that the standard retail NSE order window exposes DAY and IOC; true all-or-none FOK behaviour is more common in institutional and algo order types than in a typical retail ticket.
| Order type | Partial fill allowed? | Rests in order book? | Best for |
|---|---|---|---|
| DAY (default) | Yes | Yes, until market close | Patient entries where you want the price to come to you |
| IOC | Yes | No, cancels remainder instantly | Liquidity hunting, algo entries, slicing large size |
| Fill or Kill (FOK) | No, all or nothing | No, cancels instantly | When a half fill is useless, for example a paired leg |
| GTC / GTT (broker product) | Yes | Held by broker, re-sent over days | Set-and-forget target or stop entries |
- If you must be fully filled or not at all, you want FOK, not IOC.
- If you are happy with whatever you can get right now and want zero resting risk, IOC is correct.
- If you are willing to wait for your price for the rest of the session, plain DAY is simpler and cheaper to manage.
When IOC Genuinely Helps
IOC earns its place in a few specific situations. The first is slicing a large order. If you want 50 lots of a Bank Nifty option but the top of book only shows a handful, firing one giant order would walk the price against you. Traders send repeated IOC limit orders, taking only what is available at each price, controlling slippage piece by piece rather than one violent sweep.
The second is algorithmic and basket execution. Automated strategies that enter and exit many instruments at once rely on IOC so that a leg which cannot fill at the modelled price simply disappears instead of leaving a dangling resting order that distorts the position. The third is the classic liquidity probe: an IOC limit at the touch tells you instantly how much real size sits at your price, because whatever does not fill is reported cancelled in milliseconds.
- Slicing big F&O or block-equity orders to control slippage.
- Algo and basket strategies that cannot tolerate stray resting orders.
- Probing true available liquidity at a price without leaving a footprint.
- Fast scalps where a stale order in a moving market is a liability, not an asset.
When IOC Hurts You
For most retail positional trades, IOC is the wrong default. If you simply want to own 200 shares of HDFC Bank for a swing trade, a plain limit order that rests in the book gives you a real chance of getting your full size at your price as the day develops. An IOC would hand you a partial fill and cancel the rest, leaving you under-sized and forcing you to chase. Illiquid counters are the worst place for IOC: a mid or small cap with thin depth will often return a near-total cancellation, and you walk away with almost nothing.
Market IOC in particular can bite. Because a market IOC sweeps the book at any price, a thin option chain or a wide spread can fill you several ticks worse than the screen showed a moment ago, and the cancelled remainder gives you no second chance to reconsider. The defensive habit is simple: prefer limit IOC so your worst fill price is fixed, and reserve market IOC for only the most liquid instruments such as Nifty and Bank Nifty near the money options.
An IOC is not a protective order that waits for a trigger. It lives and dies in the same instant you submit it. If you need downside protection you want a Stop Loss (SL or SL-M) order, which rests until the trigger price is hit. Using IOC where you meant SL leaves you with no protection at all once the order cancels.
Charges, Taxes and the Cancelled Quantity
A reassuring fact: the cancelled portion of an IOC order costs you nothing. Brokerage, STT, exchange transaction charges, SEBI turnover fees, stamp duty and GST are all levied on executed value only. If your 5-lot IOC fills 3 lots and cancels 2, you pay charges on 3 lots and nothing on the 2 that never traded.
Taxation follows the instrument, not the order validity. Equity intraday and all F&O is treated as business income and taxed at your applicable slab rate, with the option to set off losses and claim expenses. Delivery equity gains are capital gains: 20% STCG under one year, and 12.5% LTCG on long term gains above the Rs 1.25 lakh annual exemption. None of this changes because you used IOC; the validity flag only controls how the order matches, not how the resulting profit is taxed. Always reconcile each partial fill in your contract note, since several fills at different prices change your average cost.
A Practical Checklist Before You Send an IOC
Treat IOC as a precision tool. Before you flip that validity radio button to IOC, run through a short mental checklist so the partial-fill behaviour works for you rather than against you. The goal is to never be surprised by a cancellation.
- Is the instrument liquid enough that a meaningful quantity will actually fill right now? Check market depth first.
- Am I using a Limit IOC so my fill price is capped? Market IOC only on the most liquid contracts.
- Have I sized correctly in lots for F&O, remembering Nifty 75, Bank Nifty 15, FinNifty 25, Sensex 10?
- Am I prepared to act on a partial fill, either accepting the smaller size or immediately re-sending for the balance?
- Did I actually want IOC, or did I want a resting DAY order or a protective SL order instead?
Sources and Further Reading
For authoritative data and further reading on this topic, refer to NSE India, Zerodha Varsity and Investopedia. Always confirm current rules, rates and contract specifications on the official source before you trade.
Related Topics
Related Articles
Understanding Short Selling in Indian Markets
How short selling works in India: the intraday-only retail rule, SEBI SLB overnight borrowing with a real Reliance borrow-cost example, F&O shorts and tax.
Understanding Limit Orders in Indian Markets
How limit orders work on the NSE, with a real bid-ask order book, tick sizes, and worked Reliance, HDFC Bank and Nifty examples with charges.
Understanding Synthetic Futures in Indian Markets
Synthetic long future on Reliance with real premiums, net debit, rupee P&L, STT, margin and India tax. Worked example, lot size 500, breakeven and risks.
Understanding the Harami Pattern in Indian Markets
What a harami pattern is, bullish vs bearish, a real dated Nifty 2024 reversal example, F&O rupee maths, confirmation rules and India tax basics.
Understanding Trading Psychology in Indian Markets
Learn trading psychology for Indian markets with a worked Nifty options example showing how fear and greed turned a Rs 3,600 loss into Rs 16,500.
Understanding ETFs in Indian Markets: A Comprehensive Guide
How ETFs work on NSE and BSE, current STCG 20% and LTCG 12.5% above Rs 1.25 lakh tax rules, costs, liquidity, and a worked Nifty 50 example.
The trading journal built for Indian F&O traders. Track your trades, spot patterns, build discipline.
- Log one trade a day by hand, on purpose
- AI mentor finds your repeat mistakes
- Behavioural analytics catch tilt early
- Trading calendar with P&L heatmap
- Pre-trade checklist flags risks
Yearly ₹2,499 · No broker credentials