1.7 Transaction costs: the algebra
Motivation
Charges are the one part of trading P&L you know in advance. For a long-horizon investor they are a rounding error. For an intraday trader they are often larger than the edge. SEBI's FY23 intraday study found that loss-making traders paid trading costs equal to a further 57% of their trading losses (1.11).
1.7.1Statutory and broker charges#
The charge stack (NSE; rates as of 6 Nov 2026) Sources: STT from the Finance Act, 2026 schedule as set out in NSE circular NSE/FATAX/73524 of 31 Mar 2026 (https://nsearchives.nseindia.com/content/circulars/FATAX73524.pdf); exchange charges from NSE circular NSE/FA/73061 of 27 Feb 2026, effective 1 Mar 2026 (https://nsearchives.nseindia.com/content/circulars/FA73061.pdf); SEBI fee from the SEBI (Payment of Fees) (Amendment) Regulations, 2019; stamp duty from the Indian Stamp Act, 1899 as amended by the Finance Act, 2019 (verify with the exchange); all fetched or checked 2026-11-06. Brokerage is broker-specific: the table uses a typical discount-broker fee, ₹20 or 0.03% per executed order, whichever is lower. Set your own. The rest are statutory or exchange charges that every broker passes through.
| Charge | Equity delivery | Equity intraday | Futures | Options |
|---|---|---|---|---|
| Brokerage (typical discount broker; set your own) | ₹0 (assumed) | min(0.03%, ₹20) per executed order | min(0.03%, ₹20) | ₹20 flat per order |
| STT (securities transaction tax) | 0.1% on buy and sell | 0.025% on sell | 0.05% on sell | 0.15% of premium on sell; 0.15% of intrinsic value on exercise |
| Exchange transaction charge (NSE) | 0.00307% | 0.00307% | 0.00183% | 0.03553% of premium |
| SEBI turnover fee | ₹10 per crore | ₹10 per crore | ₹10 per crore | ₹10 per crore |
| Stamp duty (buy side only) | 0.015% | 0.003% | 0.002% | 0.003% |
| GST | 18% on (brokerage + exchange charge + SEBI fee) | same | same | same |
| DP charge (on sell, per scrip per day; typical, set your own) | ₹15.34 (₹3.50 depository + ₹9.50 broker + GST) | – | – | – |
The STT increase of 1 Apr 2026 The Union Budget of 1 Feb 2026 raised STT on futures from 0.02% to 0.05% of the sell value, on option premium from 0.1% to 0.15%, and on exercised options from 0.125% to 0.15% of intrinsic value, effective 1 Apr 2026 (Finance Act, 2026, assented 30 Mar 2026, amending section 98 of the Finance (No. 2) Act, 2004; NSE circular NSE/FATAX/73524 of 31 Mar 2026 sets out the old and new rates, including the old exercise rate of 0.125%, and notes that STT on an exercised option is paid by the purchaser). Delivery and intraday equity STT were unchanged. An earlier increase took effect on 1 Oct 2024 (futures 0.0125% → 0.02%, options 0.0625% → 0.1%; Finance (No. 2) Act, 2024, as set out in NSE circular NSE/FATAX/63809 of 9 Sep 2024).
The rates in the tests of Exercise m01_costs_tax (file tests/test_m01_costs_tax.py) are illustrative (they use the pre-April-2026 STT and slightly older exchange charges) and exist only to grade the arithmetic. Your m01_costs_tax.trade_costs takes rates as a parameter precisely so that you can plug in the table above.
1.7.2The break-even move#
Setup
A round trip buys quantity at price (buy value ) and sells at (sell value ). Write for GST, for the exchange charge rate, for the SEBI fee (₹10 per ₹1 crore ), for STT on the buy and sell side, for stamp duty (buy side), and suppose brokerage is a flat per order (the cap binds; below the cap brokerage is proportional and joins the rates below). Then the total charge is
is the fixed cost per round trip, the proportional rate on the buy leg and on the sell leg.
Proposition 1.2break-even move
For a long round trip with fixed cost and proportional rates as in (1.3), the price rise per share needed for zero net profit is
If the trade also crosses a quoted spread (buy at the ask, sell at the bid, with the mid), the break-even rise of the mid is to first order.
Proof
Net profit is . This is affine in with slope because . Setting gives , which is (1.4). For the spread: buying at and selling at , where is the mid move, gives a realised price change of ; setting it equal to (computed at the slightly higher buy price, a second-order difference) gives .∎
Two regimes follow from (1.4). For small tickets, dominates and the break-even in percentage terms falls like . For large tickets it tends to the floor , set by STT and exchange charges. Under the 0.03% brokerage rule, the ₹20 cap binds once an order exceeds ₹20/0.0003 ≈ ₹66,667; below that, brokerage is proportional and simply adds to both and .
1.7.3Four worked round trips#
Worked example 1intraday, current rates
Buy and sell ₹1,00,000 of a stock intraday on NSE through a ₹20-cap broker.
- Brokerage: ₹20 + ₹20 = ₹40.
- STT: 0.025% × 1,00,000 = ₹25.
- Exchange: 0.00307% × 2,00,000 = ₹6.14.
- SEBI fee: ₹0.20.
- Stamp: 0.003% × 1,00,000 = ₹3.00.
- GST: 18% × (40 + 6.14 + 0.20) = ₹8.34.
- Total ₹82.68, i.e. 8.27 bp of the buy value.
With , and , formula (1.4) for a ₹1,500 stock gives:
| Ticket | Break-even | per share | ||
|---|---|---|---|---|
| 100 shares (₹1.5 lakh) | 3.15 bp | 3.55 bp | 6.70 bp | ₹1.00 |
| 1,000 shares (₹15 lakh) | 0.31 bp | 3.55 bp | 3.86 bp | ₹0.58 |
Add the spread. A one-tick spread of ₹0.10 on a ₹1,500 stock is 0.67 bp; on a thin mid-cap with a ₹1 spread on ₹500 it is 20 bp, which dwarfs the statutory charges.
Worked example 2delivery
Buy and sell ₹1,00,000 for delivery at zero brokerage: STT ₹200 (0.1% each side), exchange ₹6.14, SEBI ₹0.20, stamp ₹15, GST ₹1.14, total ₹222.48, plus a DP charge of ₹15.34 on the sale: ₹237.82, about 24 bp. Delivery round trips cost about three times an intraday round trip of the same size, almost entirely because of STT. The break-even for 100 shares at ₹1,500 is ₹3.34 per share (22.3 bp) before the DP charge.
Worked example 3Nifty futures, post-April-2026 STT
One lot of 65 at 25,000 (notional ₹16.25 lakh), bought and sold flat: brokerage ₹40, STT 0.05% × 16.25 lakh = ₹812.50, exchange ₹59.48, SEBI ₹3.25, stamp ₹32.50, GST ₹18.49: ₹966.22, 5.95 bp, i.e. a break-even of 14.9 index points. Under the pre-October-2024 STT of 0.0125% the STT line would have been ₹203, about a quarter.
Worked example 4Nifty option
One lot of 65, bought at ₹100 and sold at ₹120 (premium turnover ₹14,300, gross profit ₹1,300): brokerage ₹40, STT 0.15% × 7,800 = ₹11.70, exchange ₹5.08, SEBI ₹0.01, stamp ₹0.20, GST ₹8.12: ₹65.11, 5% of the gross profit. As a fraction of the premium paid it is 100 bp. On a ₹10 premium the flat ₹40 brokerage alone is 6% of the premium. Options are cheap to enter in rupees and expensive in percentage terms.
Code Exercise m01_costs_tax (in the app: Exercises → m01_costs_tax) implements trade_costs and breakeven_move. The test checks that your root-finder solution satisfies exactly; Problem 1.6 asks you to check it against the closed form (1.4). The round_trip_bps function of Exercise m01_execution adds the spread. From a terminal: cd exercises && .venv/bin/python -m pytest modules/M01-market-structure/tests.
Practitioner notes
- Statutory charges are now a larger share of F&O costs than before. SEBI's FY26 study puts aggregate transaction costs of individual F&O traders at about ₹25,000 crore in FY26, with brokerage about 44% and STT about 27% (SEBI FY26 study as reported by summaries; 1.11 Case 1).
- STT is charged on the sell side for intraday, futures and options, so a short trade (sell first, buy back) pays STT on the opening leg. Stamp duty is on the buy leg. Problem 1.5 works out the short-side break-even.
- An option bought and held to expiry in-the-money is exercised and pays STT at 0.15% of intrinsic value, which for deep ITM index options can exceed the cost of selling the option before expiry.
- Costs are not the only friction. Market impact (M05 · 5.5) is the cost you do not see on the contract note.
- Commodity derivatives on MCX fit (1.3) with their own rates (as of 6 Nov 2026): Commodities Transaction Tax (CTT) of 0.01% on the sell side of non-agricultural futures and 0.05% of premium on the sale of options (Finance Act, 2013, Chapter VII, s.117, as substituted by the Finance Act, 2020), MCX transaction charges of ₹2.10 per lakh of futures turnover and ₹41.80 per lakh of option premium (MCX circular MCX/F&A/631/2024), the SEBI fee, stamp duty of 0.002% on futures and 0.003% on option premium on the buy side, and GST on brokerage, exchange charges and the SEBI fee. M10 · 10.14 tabulates them with their sources and works a gold-mini and a silver round trip; profits are non-speculative business income, as for equity F&O (1.8, M00 · 0.7).