What is Backtesting?
Backtesting is the process of testing a trading strategy against historical market data to evaluate how it would have performed in the past. It is the single most important step before deploying any algorithmic trading strategy with real capital.
A good backtest tells you not just whether a strategy is profitable, but how it makes money — during which market conditions, with what level of risk, and whether the results are statistically meaningful or just noise.
Why Backtesting Matters
Without backtesting, you are gambling. With backtesting, you are making informed decisions based on evidence.
Here’s what backtesting reveals:
- Expected returns — CAGR, total returns, and consistency over time
- Risk profile — Maximum drawdown, volatility, and worst-case scenarios
- Risk-adjusted performance — Sharpe ratio, Sortino ratio, and Calmar ratio
- Strategy behavior — How the strategy performs in bull markets, bear markets, and sideways conditions
How to Backtest: Step-by-Step
Step 1: Define Your Strategy Rules
Be precise. Vague rules like “buy good stocks” cannot be backtested. You need:
- Universe — Which stocks can the strategy trade? (e.g., Nifty 500)
- Entry signal — When to buy (e.g., “12-month returns > 15%”)
- Exit signal — When to sell (e.g., “stock falls out of top 20 by momentum”)
- Position sizing — How much to allocate per stock (e.g., equal weight)
- Rebalance frequency — How often to review (e.g., monthly)
Step 2: Choose Your Data
Use quality historical data that includes:
- Adjusted close prices (accounting for splits and dividends)
- Delisted stocks (to avoid survivorship bias)
- Sufficient history (at least 10 years for meaningful results)
Step 3: Set Realistic Assumptions
Your backtest must account for:
| Factor | Why It Matters |
|---|---|
| Transaction costs | Brokerage fees reduce returns on every trade |
| Slippage | You won’t always get the exact price you see |
| Liquidity | Small-cap stocks may not have enough volume |
| Taxes | Short-term capital gains tax in India is 15% |
Step 4: Run the Backtest
Execute your strategy rules against historical data, day by day or month by month. Track:
- Portfolio value over time (equity curve)
- Individual trades (entry price, exit price, holding period)
- Rebalance-level changes (what was bought/sold and why)
Step 5: Analyze Results
Don’t just look at total returns. Focus on:
- CAGR — Compound Annual Growth Rate. Annualized returns.
- Maximum Drawdown — The largest peak-to-trough decline. This is your worst-case scenario.
- Sharpe Ratio — Returns per unit of risk. Above 1.0 is good; above 1.5 is excellent.
- Win Rate — Percentage of profitable trades.
- Benchmark Comparison — Did you beat the Nifty 50? If not, why bother?
Common Backtesting Mistakes
1. Look-Ahead Bias
Using information that wouldn’t have been available at the time of the trade. For example, using quarterly results data that was published after the trade date.
Fix: Ensure all data used in signals was available on or before the decision date.
2. Survivorship Bias
Only testing on stocks that exist today, ignoring delisted companies. This inflates returns because you’re excluding stocks that went to zero.
Fix: Use a survivorship-bias-free dataset that includes delisted stocks.
3. Overfitting
Tuning your strategy parameters until the backtest looks perfect. If you optimize 20 parameters across 10 years of data, you’ll find a “strategy” that works — but it won’t work in the future.
Fix: Keep parameters simple. Use out-of-sample testing. If your strategy needs 10+ parameters, it’s probably overfit.
4. Ignoring Transaction Costs
A strategy that trades 200 times a year with 0.5% slippage per trade will lose 100% of its capital to costs alone — regardless of signal quality.
Fix: Always include realistic transaction costs in your backtest. For Indian markets, assume at least 0.1% to 0.3% per trade for slippage and brokerage.
5. Cherry-Picking Time Periods
Testing only during bull markets (2020-2024) and claiming your strategy “works.” Every strategy works in a bull market.
Fix: Test across multiple market regimes including 2008, 2011, 2018, and 2020 (COVID crash).
Interpreting Backtest Results
| Metric | Good | Warning |
|---|---|---|
| CAGR | > Nifty 50 CAGR | < 12% (barely beats FD) |
| Max Drawdown | < 20% | > 35% (psychologically hard) |
| Sharpe Ratio | > 1.0 | < 0.5 (too much risk for the return) |
| Number of Trades | 20-200/year | > 500/year (cost drag) |
What Backtesting Cannot Tell You
Backtesting is essential but not sufficient. It cannot:
- Predict the future — Past performance does not guarantee future results
- Account for regime changes — A new regulation or market structure change can invalidate historical patterns
- Capture execution risk — Real-world execution is messier than simulations
That’s why paper trading (forward testing with simulated money) is the critical next step after backtesting.
Conclusion
Backtesting is the foundation of algorithmic trading. Done properly, it gives you the confidence to deploy capital systematically. Done poorly, it gives you false confidence in strategies that will fail. Take the time to learn proper backtesting methodology — it will save you money and heartache.