Why your backtest looks better than reality
Survivorship bias, look-ahead bias and overfitting each inflate backtested returns in ways that vanish in live trading. What each one is, how it creeps in, and how to test for it.
4 min read
Screener · 24 June 2026
Zero-brokerage is not zero-cost. A full breakdown of every charge on an Indian equity trade, why slippage usually exceeds the visible fees, and what it does to a high-frequency strategy.
3 min read
A strategy that looks profitable before costs and unprofitable after them is not a marginal case – it is the normal case. Costs are where most backtested edges go to die, and they are systematically underestimated because several of them are invisible on the contract note.
These appear on your contract note and are straightforward to model. Rates change with regulation, so treat the structure as durable and the numbers as needing a check against current circulars.
| Charge | Applies to | Basis |
|---|---|---|
| Brokerage | Both legs | Flat fee or percentage, per broker |
| Securities Transaction Tax | Sell leg (intraday); both (delivery) | Percentage of turnover |
| Exchange transaction charge | Both legs | Percentage of turnover |
| GST | Brokerage + transaction charges | 18% of those components |
| SEBI turnover fee | Both legs | Percentage of turnover |
| Stamp duty | Buy leg | Percentage of turnover |
| DP charge | Sell leg (delivery only) | Flat, per scrip per day |
Slippage is the gap between the price your strategy assumed and the price you were filled at. It never appears on a statement, and for anything trading frequently or in size it is usually the largest cost of all.
Worked example: a strategy trading daily
A strategy holds positions for one day, turning over its capital once each session – roughly 250 round trips a year. Suppose visible costs total 0.05% per round trip and slippage adds 0.10%, for 0.15% all-in.
Annual cost drag = 0.15% × 250 = 37.5%The strategy must clear roughly 37.5 percentage points of gross return each year merely to break even. A backtest showing 25% gross is a losing strategy, and no amount of parameter tuning changes that – it is arithmetic, not optimisation.
| Holding period | Round trips/year | Annual cost drag |
|---|---|---|
| 1 day | ~250 | 37.5% |
| 1 week | ~50 | 7.5% |
| 1 month | ~12 | 1.8% |
| 1 year | 1 | 0.15% |
This is the clearest argument for holding period as a first-class design decision rather than an afterthought. The same signal, the same costs, and a hundredfold difference in cost drag.
Related product
VriddhiX Screener
Find and analyse opportunities using your own criteria.
Keep reading
Survivorship bias, look-ahead bias and overfitting each inflate backtested returns in ways that vanish in live trading. What each one is, how it creeps in, and how to test for it.
4 min read
Most screens return either four companies or four hundred. How to choose criteria that narrow a universe without accidentally encoding a single sector, and how to sanity-check a screen before trusting it.
3 min read