What a round trip actually costs on an NSE options trade
Brokerage is flat per order, STT is sell-side only, stamp duty is buy-side only, and GST compounds on top of three of them. Here is the whole arithmetic on one BANKNIFTY trade — including the freeze-quantity rule that quietly doubles your brokerage.
Most people who start trading Indian index options learn the charge structure in the worst possible way: by noticing, some weeks in, that a run of small winning trades has left the account slightly smaller than it started. Nothing went wrong. The trades were green. The charges were bigger than the edge.
This post works through the entire cost of one round trip, in order, with the rules that make each line what it is. If you take one thing away, take this: several of these charges do not scale with your trade size, and one of them does not scale with your position size either — it scales with your order count.
The six lines on a contract note
For an NSE index option trade, the charges a broker passes on are:
- Brokerage — what the broker charges for the service.
- Securities Transaction Tax (STT) — a statutory tax.
- Exchange transaction charges — the exchange's own fee.
- SEBI turnover fees — the regulator's fee.
- Stamp duty — a state tax on the instrument of transfer.
- GST — 18%, but not on everything.
Five of those are percentages of something. One is not.
Brokerage is flat, and that changes everything
Almost every discount broker in India charges a flat fee per executed order on F&O — commonly ₹20, sometimes "₹20 or 0.03%, whichever is lower". For index options, the flat fee is what applies in practice, because 0.03% of a premium turnover is almost always far more than ₹20.
Flat per order means the arithmetic is entirely different from a percentage. On a ₹2,00,000 turnover leg, ₹20 is 0.01%. On a ₹4,000 turnover leg, the same ₹20 is 0.5%. The fee did not change; your trade got smaller, and the fee became fifty times more expensive as a proportion.
A round trip is two orders. So the floor on any F&O round trip is ₹40 of brokerage, before a single other line. If your average winning trade nets ₹150 of gross premium movement, ₹40 is more than a quarter of it.
The freeze quantity rule, which nobody mentions
Here is the one that surprises people.
Every exchange publishes a freeze quantity per underlying — the largest number of units a single order may carry. Broadly:
| Underlying | Freeze quantity |
|---|---|
| NIFTY | 1,800 |
| BANKNIFTY | 600 |
| FINNIFTY | 1,800 |
| MIDCPNIFTY | 2,800 |
| SENSEX | 1,000 |
| BANKEX | 600 |
If you want more units than that, your order is split. Not by choice — the exchange will not accept a larger one.
Suppose BANKNIFTY has a lot size of 30 and you buy 33 lots: 990 units. The freeze quantity is 600. That reaches the market as two orders — 600 and 390 — and your contract note carries two ₹20 brokerage lines for the entry. Two more for the exit.
So that round trip costs ₹80 in brokerage, not ₹40. And because GST is charged on brokerage (see below), the GST goes up with it.
This is the single most commonly under-estimated cost in retail F&O, because almost every "charges calculator" online quietly assumes one order per position. It is also why a simulator that charges brokerage once per position rather than once per order will systematically flatter every oversized trade you make in it.
STT: sell side only
STT on option premium is charged on the sell side only, at 0.1% of premium turnover on the sell leg.
Two consequences:
- An option you buy and later sell is charged STT once, on the exit.
- An option you sell first (a short) is charged STT once, on the entry.
So the direction of your trade changes when you pay STT, not whether. What it does change is your mental model: if you are eyeballing "cost to get in", a long option looks cheaper than it is, because its largest single percentage charge lands at the exit.
STT is also the reason exercising a deep in-the-money option at expiry can be so expensive — settlement STT on exercised options is levied on a much larger base than premium. Squaring off before expiry avoids that entirely, which is one practical reason intraday practice squares everything off rather than letting a position run into settlement.
Stamp duty: buy side only
Mirror image. Stamp duty is charged on the buy side only, at roughly 0.003% of premium turnover on the purchase leg.
It is small. It is worth knowing about mostly because it is the other half of the asymmetry: STT is sell-only, stamp duty is buy-only, and a cost model that applies either to both legs is wrong by a predictable amount in a predictable direction.
Exchange and SEBI charges
Exchange transaction charges on index options are a percentage of premium turnover — currently on the order of 0.035% on NSE, charged on both legs.
SEBI turnover fees are tiny: on the order of ₹10 per crore of turnover. On a retail-sized trade this rounds to a couple of paise. It is on the note for completeness, not because it matters to your P&L.
GST: 18%, but only of three things
This is the line people get wrong most often.
GST is 18% of brokerage + exchange transaction charges + SEBI turnover fees.
It is not 18% of your turnover. It is not 18% of STT, and not 18% of stamp duty — those are taxes, and GST is not charged on a tax.
That "brokerage" in the base is what makes the freeze-quantity split compound. Split one leg into two orders and you add ₹20 of brokerage and ₹3.60 of GST on it. Do it on both legs and the split has cost you ₹47.20, not ₹40.
Putting it together
Take a concrete round trip. BANKNIFTY, lot size 30, 10 lots — 300 units, one order each way because 300 is under the 600 freeze quantity. Buy at ₹200 premium, sell at ₹210.
Entry (buy 300 @ ₹200 = ₹60,000 turnover):
- Brokerage: ₹20.00
- Exchange charges @ 0.035%: ₹21.00
- SEBI fees: ₹0.06
- Stamp duty @ 0.003%: ₹1.80
- STT: nil (buy side)
- GST @ 18% of (20.00 + 21.00 + 0.06): ₹7.39
Exit (sell 300 @ ₹210 = ₹63,000 turnover):
- Brokerage: ₹20.00
- Exchange charges: ₹22.05
- SEBI fees: ₹0.06
- STT @ 0.1%: ₹63.00
- Stamp duty: nil (sell side)
- GST @ 18% of (20.00 + 22.05 + 0.06): ₹7.58
Total charges: about ₹162.94.
Gross profit was ₹10 × 300 = ₹3,000. So charges took about 5.4% of the gross, and the trade netted around ₹2,837. Fine. That is a healthy trade.
Now run the same charge structure over a trade that captured ₹1 of premium instead of ₹10. Gross profit ₹300. Charges roughly ₹157 (STT falls slightly with the lower exit turnover). You kept less than half of it.
And run it over a trade that captured ₹0.50. Gross ₹150, charges ~₹155. That trade was green on your screen and red in your account.
What this means for how you trade
Three things follow directly, and none of them are opinions:
There is a minimum move below which a winning trade is a losing trade. For the example above it is somewhere around ₹0.55 of premium on 300 units. Below that, being right does not pay. Knowing your own number — for your usual size, on your usual underlying — is more useful than any indicator.
Trade count is a cost, not just a risk. Twenty round trips a day at ₹40 minimum brokerage is ₹800 of brokerage before anything else happens. Over twenty trading days that is ₹16,000. If your account is ₹1,00,000, you have set yourself a 16% annualised hurdle purely in fees.
Any statistic computed on gross P&L is lying to you. A win rate that counts that ₹0.50 trade as a win is not measuring anything you can spend. Profit factor, expectancy, average win, drawdown — all of them have to be computed net, or they describe a version of your trading that does not exist.
That last one is why this simulator computes every statistic on net P&L, and why a trade that finishes green by less than a small multiple of its own round-trip charges is classified as a scratch rather than a win. A ₹15 gross win that cost ₹40 in charges was a ₹25 loss, and calling it a win teaches exactly the wrong lesson.
Rates change, and your broker's schedule will differ from the figures above. Check any number here against a real contract note before you rely on it. But the structure — flat brokerage per order, STT one side, stamp duty the other, GST on three lines out of six, and an order count that is not the same thing as a position count — is what actually determines whether your strategy has room to work.
Try it on a simulator first.
₹1,00,000, live NSE prices, and every charge in this post applied to every trade.
Start with ₹1,00,000More posts
Why selling an option needs so much more margin than buying one
Buying an option costs the premium. Selling the same contract can block a hundred times that, because short-option margin is sized off the underlying's notional value, not off the premium. Here is why, and what it means for position sizing.
The index went nowhere and your option lost money
Direction is one of three things moving your premium. The other two — time left in the session, and how much movement the market expects — leave no mark on the index chart at all. That is why practising on a chart teaches the wrong number.
7 min read #basics #options #theta #volatility