Intermediate5-8 min readTopic 15 of 20

    Costs, Slippage & Taxation

    Rohit Singh

    Mr. Chartist · SEBI RA

    Module Progress
    0/20
    Module

    A discretionary trader pays costs. A systematic trader pays costs repeatedly, mechanically, and at a frequency they chose without usually pricing that choice. That is the whole difference. The rate card is roughly the same for everyone; what separates a strategy that survives contact with the market from one that quietly bleeds is how many times a year it pays that card. This page names every line in the Indian cost stack, shows how the total scales with turnover, treats slippage and impact as the real costs they are, and then maps how a systematic trader's income gets classified — without quoting a single rate, because rates change and this page does not.

    The Indian trading cost stack: who sets each line, what base it is charged on, and which side of the trade carries it. No rate is shown — read every one off the exchange, SEBI and your broker's tariff page on the day you need it, because the Finance Act and exchange circulars move them.A table of seven cost components — brokerage, securities transaction tax, exchange transaction charges, SEBI turnover fees, stamp duty, GST and depository participant charges. For each, the table names who sets it, what base it is charged on, and which side of the trade pays it. No rate is shown, because rates change and must be read from the exchange, SEBI and broker tariff pages on the day.Seven lines, four different bases, three different settersOnly the first line is negotiable. Every other line is charged to you regardless of broker.COMPONENTWHO SETS ITCHARGED ONWHICH SIDE PAYSBrokerageyour brokerper order, or on turnoverboth sidesSTT / CTTstatutea segment-specific basevaries by segmentExchange txn chargesNSE / BSEturnoverboth sidesSEBI turnover feesSEBIturnoverboth sidesStamp dutystatutebuy-side considerationbuyer onlyGSTstatutebrokerage + txn + SEBI feesboth sidesDP chargesdepository + DPper scrip, per delivery sellseller onlyNo rate appears above on purpose. Read every one off the exchange, SEBI and broker tariff page on the day.
    The Indian trading cost stack: who sets each line, what base it is charged on, and which side of the trade carries it. No rate is shown — read every one off the exchange, SEBI and your broker's tariff page on the day you need it, because the Finance Act and exchange circulars move them.

    Why do costs decide whether a systematic strategy works at all?

    Because a systematic strategy is, by construction, a repetition machine. It does not take the one trade you felt strongest about. It takes every trade that matched the rule, in every instrument in the universe, for as long as you leave it running.

    That repetition is exactly what makes the arithmetic honest — and exactly what makes cost lethal. A cost of a few hundredths of a per cent is invisible on one trade. Multiplied across a few thousand round trips a year, it is the largest single item in the strategy's ledger, larger than any parameter you spent a week tuning.

    The uncomfortable version: most retail algorithms do not fail because the idea was wrong. They fail because the idea was worth less than the cost of expressing it that often. The gross signal was real. The net signal was not.

    Note — This page is education, not advice, and nothing in it is tax advice. Charges, taxes and thresholds in India are set by statute, by SEBI and by the exchanges, and they change. Every number you act on must come from the primary source or from your own chartered accountant, not from an article.

    What are the components of the Indian cost stack?

    Seven things can come out of a single equity trade. They have different setters, different bases and different rules about which side of the trade pays. Learn the shape; look up the rate.

    ComponentWho sets itCharged onNotes for a systematic trader
    BrokerageYour brokerPer executed order, or on turnoverThe only genuinely negotiable line. A per-order plan and a percentage plan behave very differently once order count rises.
    STT / CTTStatuteA segment-specific baseUsually the largest statutory line. Which side pays and on what base differs by segment — cash delivery, cash intraday, futures and options are all treated separately.
    Exchange transaction chargesNSE / BSETurnoverPublished by the exchange in a circular and revised from time to time. Segment-specific.
    SEBI turnover feesSEBITurnoverSmall per trade, and completely indifferent to whether the trade worked.
    Stamp dutyStatuteBuy-side considerationCharged on the buy leg. Uniform national rates replaced the old state-by-state patchwork; the segment split still applies.
    GSTStatuteBrokerage plus exchange and SEBI chargesIt is a tax on the fee lines, not on your trade value. This is the step most home-made cost models get wrong.
    DP chargesDepository and your DPPer scrip, per delivery sellA flat amount, so it hurts small delivery positions disproportionately. It does not scale down with your trade size.

    Watch out — Do not copy a rate from any blog, including this one — there isn't one here for exactly that reason. Take STT and stamp duty from the statute, transaction charges from the current NSE or BSE circular, SEBI fees from sebi.gov.in, and brokerage and DP charges from your own broker's published tariff page. Then verify the total against a real contract note.

    Which of these can you actually change?

    The rate card — barely
    Six of the seven lines are set by somebody who has never heard of you. Shopping brokers moves one line. It is the smallest lever available and the one most retail traders spend the most time on.
    The segment — sometimes
    The same directional view expressed in cash intraday, in futures and in options attracts a materially different stack, because the base each charge is computed on is different. If a rule can be expressed in more than one instrument, that choice is a cost decision, not just a leverage decision.
    The frequency — completely
    This is the lever. Turnover is a parameter of your strategy, and it is the only input to the cost total you control outright. Halving trade count halves the stack.
    The execution — substantially
    Slippage and impact are not on the tariff page at all, and they are often larger than everything that is. They respond to order type, order size and time of day. Covered in Order Types & Execution Quality.

    Why does turnover matter more than the rate card?

    Take one fixed round-trip cost. Do not change it. Change only how often the strategy trades, and watch what happens to the annual bill.

    The same per-trade cost at four cadences. The 0.05% per round trip is an invented placeholder chosen to make the shape visible — it is not a rate, not a quote, and not anybody's actual tariff. Bars use a square-root scale so the smallest stays legible.Four bars compare the annual cost drag of the same strategy traded at four frequencies, assuming an invented placeholder cost of five hundredths of one per cent per round trip. Trading weekly the drag is two and a half per cent of traded value a year; daily, twelve and a half; five times a day, sixty-two and a half; twenty times a day, two hundred and fifty. The bars are drawn on a square-root scale so the smallest remains visible.The same cost per trade, four different cadencesPlaceholder assumption: every round trip costs 0.05% of the value traded. Invented figure, used only to show the shape.One trade a weekabout 50 round trips a year2.5%One trade a dayabout 250 round trips a year12.5%Five trades a dayabout 1,250 round trips a year62.5%Twenty trades a dayabout 5,000 round trips a year250%This is the gross edge the strategy has to clear before a single rupee is yours to keep.Square-root scale, so the smallest bar stays visible. Frequency, not the rate card, is the variable you control.
    The same per-trade cost at four cadences. The 0.05% per round trip is an invented placeholder chosen to make the shape visible — it is not a rate, not a quote, and not anybody's actual tariff. Bars use a square-root scale so the smallest stays legible.

    How much gross edge does a strategy need before it keeps anything?

    The break-even question has a single clean form, and every systematic trader should be able to write it from memory.

    Annual cost drag = Round trips per year × (all-in cost per round trip, as a % of value traded)
    • Round trips per year — entries plus their exits, counted per instrument. A 20-name universe rebalanced weekly is not 52 trades; it is closer to 20 × 52 × 2 legs.
    • All-in cost per round trip — the statutory stack plus brokerage plus GST plus, critically, your estimate of slippage and impact on both legs.
    • The result is the gross edge the strategy must produce before any of it is yours. Not a target — a floor.

    Example — Illustrative arithmetic with invented round numbers. Suppose an all-in round trip costs 0.05% of the value traded, and the strategy takes 5 trades a day across roughly 250 sessions. 1,250 × 0.05% = 62.5% of the traded value paid away in a year. If the average gross move captured per trade is smaller than 0.05%, no amount of parameter tuning fixes it — the strategy is a cost-generation engine with a signal attached. These are made-up numbers on no instrument and no date; run yours on your own tariff and your own trade count.

    What does that mean for how you choose a holding period?

    It inverts the usual beginner instinct. More trades feels like more opportunity; in cost terms it is more certain outgo against less certain income.

    A strategy holding for weeks needs to be right about something quite large but pays the stack only a handful of times a year. A strategy holding for minutes pays the stack constantly and must therefore be right about something far smaller, far more reliably, with execution good enough that slippage does not eat the difference. The second is not a harder version of the first. It is a different business with different infrastructure requirements.

    This is why the honest first question about any high-frequency retail idea is not 'does the signal exist' but 'is the signal bigger than the spread I have to cross to take it'. Often it is not, and the whole idea can be closed before a line of code is written.

    • Compute the break-even cost per round trip before you build anything. If the strategy's average gross move is not comfortably larger, stop there.
    • Count legs, not ideas. Entry, exit, and every partial or scale-in is a chargeable event.
    • Rebalancing is turnover. A portfolio rule that reshuffles weights weekly pays the stack weekly on the churned portion.
    • A stop-loss that fires often is a cost centre. Wider stops with smaller size can cost less in aggregate than tight stops with larger size taking the same risk.
    • Intraday square-off is not free just because nothing was delivered. The intraday stack is different, not absent.

    What is slippage, and why does it never appear on the contract note?

    Slippage is the difference between the price your rule assumed and the price you actually got. It is a real cost paid in real rupees, and there is no line item for it anywhere, because it is not a charge — it is the market moving.

    The contract note is a record of what happened. It cannot tell you what should have happened. That comparison has to be built by you, from your own order log, and it is the single most valuable piece of measurement infrastructure a systematic trader owns.

    Decision price to average fill, decomposed. Delay, spread and impact are three separate costs with three separate remedies — and none of them is a line on a contract note.A price line runs left to right through four marks: the decision price the rule fired on, the arrival price when the order reached the order book, the best offer a buyer must actually pay, and the average fill after the order's own size walked up the book. The three gaps between them are labelled delay, spread and impact. None of the three appears as a line on a contract note.Decision price to average fillA buy, drawn left to right as price rises. Illustrative — no instrument, no date, no rupee value.DECISIONthe price your rule fired onARRIVALwhen the order reached the bookBEST OFFERwhat a buyer must actually payAVERAGE FILLafter your size walked the book1231 · DelayThe market kept moving while your code decided and the order travelled.2 · SpreadA buy market order lifts the offer. The mid-price was never available to you.3 · ImpactYour own quantity consumed the best offer and paid up for the rest.None of the three is a line on your contract note. The note shows the fill, never what the fill should have been.Which is why a cost model that only sums contract-note charges understates the real number every time.
    Decision price to average fill, decomposed. Delay, spread and impact are three separate costs with three separate remedies — and none of them is a line on a contract note.

    What is impact cost, and when does it start to matter?

    Impact cost is what you pay for being big relative to the book. The best offer sits there in a finite quantity; if your order is larger than that quantity, the remainder fills at worse and worse prices as it walks up the ladder.

    For a small account in an NSE large cap, impact is negligible and can reasonably be folded into a general slippage allowance. Three things change that quickly.

    Thin instruments
    Move down the liquidity curve — small caps, far out-of-the-money strikes, illiquid expiries — and the visible depth at the touch can be smaller than your intended order. The screen price becomes decoration.
    Concentrated timing
    A rule that fires at the same instant every day sends everyone using anything similar into the same book at the same second. The open and the last few minutes before close are the two windows where this is most visible.
    Growing capital
    Impact scales with size while your edge usually does not. A rule that works at ₹5 lakh can be uneconomic at ₹50 lakh in the same universe. Capacity is a property of a strategy, and it is finite.

    Note — NSE publishes an impact-cost measure as part of its index eligibility criteria, computed on a standard order value. It is a useful sanity check on whether an instrument is liquid enough for your intended size — look it up on the exchange site rather than assuming from the ticker's familiarity.

    How do you model cost in a backtest without fooling yourself?

    1. 1

      Charge cost on every leg, not on every trade

      A round trip is two chargeable events. Backtests that subtract one cost per completed trade understate the bill by roughly half before slippage is even considered.

    2. 2

      Model the stack by segment, not as one blended number

      The bases differ. A single 'costs = 0.03%' constant applied across cash, futures and options is a convenient fiction that flatters whichever segment is actually the most expensive.

    3. 3

      Add a separate, explicit slippage allowance

      Keep it as its own parameter so you can stress it. If the strategy only survives at your optimistic slippage figure and dies at twice that, you have learnt something important and cheap.

    4. 4

      Assume you did not get the closing price

      A fill assumed at the signal bar's close is a claim the live market never agreed to. The next topic is about exactly this gap.

    5. 5

      Run the cost sensitivity before the parameter sweep

      If doubling the cost assumption kills the strategy, no parameter is worth optimising. Do this first and you will discard most ideas in an afternoon instead of a month.

    6. 6

      Reconcile against a real contract note

      Once live at the smallest real size, take one day's trades and compute what your model said the cost would be. Then open the contract note. The gap is your model error, and it is almost always in one direction.

    How do you reconcile a modelled cost against an actual contract note?

    This is a monthly discipline, not a one-time exercise, because tariffs and statutory rates get revised and your model does not update itself.

    The monthly cost reconciliation

    • Pull the contract notes and the consolidated ledger for the period — not a screenshot of the P&L tile in the app.
    • Sum each charge type separately: brokerage, STT/CTT, transaction charges, SEBI fees, stamp duty, GST, DP charges.
    • Run your cost model over the same set of executions and produce the same seven totals.
    • Compare line by line. A gap in one line is a wrong rate; a gap in every line is a wrong base or a wrong leg count.
    • Separately, compare each fill against the price your signal assumed. That difference is slippage, and it belongs in its own column.
    • Add the auction and short-delivery penalties, if any, and the annual demat maintenance charge. They arrive outside the contract note and outside most models.
    • Update the model, and re-run the strategy's break-even. If the real cost moved the break-even past the strategy's average gross move, that is a switch-off condition, not a rounding note.

    How is a systematic trader's income classified?

    Now the part where guessing is genuinely expensive. Classification comes before any rate does, and it depends on how you traded, not on how you feel about it.

    How the manner of trading routes the income. This is a map of the classification question only — no rate, slab, threshold or holding period is stated, and the classification of your own activity is a determination to settle with a qualified chartered accountant.One question at the top — how was the trade done — routes into three branches. Delivery trades usually fall under capital gains, split by a statutory holding period. Intraday equity is treated as speculative business income. Futures and options are non-speculative business income, with a different set-off treatment. Below, a band notes that turnover decides the audit question and that turnover for derivatives is not the same number as sale value. No rate, slab or threshold is stated.How was the trade actually done?Deliverybought, held, sold from dematUsually capital gainsa statutory holding period splits short from…Intraday equitysquared off the same sessionBusiness income — speculativeits own set-off and carry-forward rulesFutures & optionssettled, not deliveredBusiness income — non-speculativea different set-off treatment againTurnover decides the audit question — and turnover on derivatives is not your sale value.A systematic strategy generates turnover far faster than it generates profit. Compute it, do not estimate it.No rate, slab, threshold or holding period appears here on purpose. This is a map, not tax advice.Your classification is a fact about your own activity. Settle it with a qualified chartered accountant.
    How the manner of trading routes the income. This is a map of the classification question only — no rate, slab, threshold or holding period is stated, and the classification of your own activity is a determination to settle with a qualified chartered accountant.

    What is the business-income versus capital-gains distinction?

    Broadly, shares bought and delivered into your demat account and later sold are dealt with as capital gains, split into short-term and long-term by a statutory holding period. Trading activity carried on with frequency, volume and a system behind it can instead be treated as business income.

    Why it matters to a systematic trader specifically: an algorithm is, almost by definition, frequency, volume and a system. The classification you would have got as an occasional investor is not automatically the one that applies once a program is placing your orders. Expenses, set-off rules, carry-forward rules and the compliance burden all differ between the two treatments.

    Capital gains treatmentBusiness income treatment
    Typical triggerDelivery-based buying and sellingFrequent, systematic, high-volume activity
    Split within itShort-term and long-term, by a statutory holding periodSpeculative and non-speculative
    Expense deductionRestrictedBusiness expenses — data, brokerage, infrastructure — generally deductible
    Set-off and carry-forwardIts own rules by categoryDifferent rules again, and different between the two business buckets
    Audit exposureNot usually the triggerTurnover-linked. This is where a busy algorithm creates work
    What decides itThe manner and intent of the activity, on the factsThe same facts, read the other way

    Watch out — There is no rate, slab, holding period or audit threshold anywhere on this page, and that is deliberate. They are amended by the Finance Act, and a page that quotes one is a page that will be confidently wrong to some future reader. Take the current figures from the Income Tax Act and rules as they stand for the relevant year, and take the determination itself from a qualified chartered accountant who has seen your actual trade log.

    What is the speculative versus non-speculative split?

    Speculative business income
    Broadly, transactions settled otherwise than by actual delivery. Intraday equity — bought and squared off the same session with nothing entering your demat — falls here. It carries its own set-off and carry-forward restrictions, which is why it cannot simply be netted against everything else.
    Non-speculative business income
    Derivatives traded on a recognised exchange are treated as non-speculative business income, notwithstanding that nothing is delivered. Different set-off treatment again.
    Why an algo trader must know which bucket they are in
    Because a single strategy can generate all three kinds of income at once. A system running delivery swing trades, intraday square-offs and a hedged options leg is producing capital gains, speculative business income and non-speculative business income simultaneously — and they do not pool. Your trade log has to be able to answer this per execution, which means recording the product type at order time, not reconstructing it in July.

    Why does turnover matter for audit, and why is it not your profit?

    Turnover is a computed figure, and for a systematic trader it grows far faster than profit does. A strategy that ends a year roughly flat can still have generated an enormous turnover number, because turnover counts activity and profit counts outcome.

    The trap specific to derivatives is that turnover there is not your contract value or your sale proceeds. It is computed under its own convention, and getting it wrong in either direction has consequences — understate it and you may have skipped a requirement, overstate it and you have created a compliance burden that was never yours. An algorithm makes this worse simply by generating a great many executions.

    • Turnover is computed, not observed. Do not read it off a broker dashboard tile and assume it is the figure your return needs.
    • The computation convention differs between segments. Equity delivery, intraday and derivatives are not treated alike.
    • Keep the raw execution log yourself. Brokers keep records, but the reconciliation obligation is yours and the data retention window is not infinite.
    • Advance tax obligations do not wait for the year to end. A profitable first half creates a liability regardless of what the second half does.
    • Record the product type, the segment and the settlement basis on every fill at the time it happens. Reconstructing this at filing time from a year of algorithmic executions is where the real cost of poor logging lands.

    Note — Not tax advice, and no threshold is stated here. Whether an audit requirement applies to you depends on figures and conditions that change year to year. Give your chartered accountant the full execution log, not a summary — the summary is where the classification errors hide.

    What invalidates a cost model?

    Every honest model has to say what would prove it wrong. These are the conditions that retire yours.

    • The monthly reconciliation shows a persistent gap in one direction. A model that is always optimistic is not noisy, it is biased.
    • A statutory or exchange revision lands. Any change to STT, stamp duty, transaction charges or GST treatment invalidates the model until it is re-verified.
    • Your broker changes tariff, or you change plan. A per-order plan and a percentage plan cross over at some order size — moving past that crossover silently changes your break-even.
    • Realised slippage drifts wider than the allowance. This is usually the first symptom of either a size problem or a liquidity problem, and it shows up before the equity does.
    • Capital grew. Impact cost scales with size. The model that was correct at your starting capital is an assumption at three times it, and needs re-measuring rather than re-assuming.
    • You added an instrument outside the universe the model was calibrated on. A cost model built on liquid large caps says nothing useful about a far-dated illiquid strike.
    • The strategy's average gross move per trade shrank. Cost did not have to rise for the strategy to become uneconomic; the edge only had to fall below it.

    What should you do before going live?

    Cost readiness

    • Every component in the stack is named in your model, with the rate sourced from the primary document and the date you sourced it recorded.
    • Cost is charged per leg, per segment — not as one blended constant.
    • A separate, explicit slippage allowance exists and has been stress-tested at twice its assumed value.
    • Expected round trips per year is a written number, and the break-even drag has been computed from it.
    • The strategy still clears its break-even at the pessimistic cost assumption, not only the optimistic one.
    • A reconciliation routine exists and has been run once against a real contract note before size increased.
    • Every fill is logged with segment, product type and settlement basis at the moment it happens.
    • A chartered accountant has seen the strategy description and the log format — before the first financial year closes, not after.

    Key points

    Seven components can come out of one Indian equity trade, and only brokerage is negotiable.
    Rates change by statute, circular and tariff revision — source them fresh, never from an article.
    Total cost is cost per round trip multiplied by turnover, and turnover is the only input you control.
    A high-frequency strategy needs a far larger gross edge per trade than a weekly one, purely because of that multiplication.
    Slippage and impact cost are real rupee costs that appear on no statement — build the measurement yourself.
    Impact scales with your size while your edge usually does not, which is what makes strategy capacity finite.
    Charge cost per leg and per segment in the backtest; a single blended constant flatters the expensive segment.
    Reconcile the modelled cost against an actual contract note monthly, line by line.
    Classification comes before any rate: capital gains versus business income, then speculative versus non-speculative.
    Turnover, not profit, drives the audit question — and derivatives turnover is not your sale value.
    Log segment, product type and settlement basis on every fill at the time it happens.
    Nothing here is tax advice. The determination belongs to a qualified chartered accountant who has seen your log.

    Pro tip — Before you optimise a single parameter, run the cost sensitivity: re-run the strategy with the cost assumption doubled and the slippage allowance doubled. If it does not survive, close the notebook — you have saved yourself a month, and you have learnt more from that one run than any parameter sweep was going to tell you.

    Frequently asked questions

    What is the biggest hidden cost in algo trading?

    Slippage, and it is hidden because it appears on no statement. The contract note records the price you got; it cannot record the price your rule assumed, so the difference only exists if you build it yourself from your order log. For a high-frequency strategy this difference is routinely larger than the entire statutory and brokerage stack combined.

    How does trading frequency affect total trading costs?

    Linearly, and that is the problem. The cost per round trip is roughly fixed by the tariff and the statute, so total annual cost is that figure multiplied by the number of round trips. A strategy trading twenty times a day pays the same card a hundred times more often than one trading weekly, which means it needs a proportionally larger gross edge per trade merely to break even.

    What is impact cost and how is it different from slippage?

    Slippage is the total difference between your assumed price and your fill, from all causes. Impact cost is the portion caused specifically by your own order size consuming the available depth and pushing the price against you. Delay and spread are the other two contributors. Impact is the one that grows as your capital grows, which is why it sets a strategy's capacity limit.

    Is intraday algo trading treated as speculative income in India?

    Intraday equity trades, squared off without delivery, are broadly treated as speculative business income, while exchange-traded derivatives are treated as non-speculative business income even though nothing is delivered. The two buckets carry different set-off and carry-forward rules, so they do not simply pool. Your specific classification depends on the facts of your activity and should be confirmed with a qualified chartered accountant.

    Why does turnover matter for a systematic trader's tax filing?

    Because turnover is a computed measure of activity, not of profit, and an algorithm generates activity far faster than it generates gains. It is the figure that drives audit-related questions, and for derivatives it is computed under its own convention rather than being your sale value. Compute it from your execution log rather than reading a dashboard tile, and have a chartered accountant confirm the method.

    Should I reduce brokerage or reduce the number of trades?

    Reduce trades. Brokerage is one line out of seven and the only one you can negotiate; the statutory lines are identical whichever broker you use. Halving trade count halves the entire stack, including the statutory portion and the slippage, whereas halving brokerage moves only a fraction of one line.

    Where should I get the current STT, stamp duty and transaction charge rates?

    From the primary sources only: the relevant statute for STT, CTT and stamp duty, the current NSE or BSE circular for exchange transaction charges, sebi.gov.in for SEBI turnover fees, and your own broker's published tariff page for brokerage and DP charges. Then verify the sum against an actual contract note, because the reconciliation is the only test that catches a wrong base as opposed to a wrong rate.