In a Market Full of Noise, Choose Clarity Backed by Science
Why systematic backtesting matters for Indian retail investors
BacktestIndia's factor investing research series' advanced backtesting engine lets you test factor-based investment strategies on 18+ years of NSE data (December 2006 through December 2025) using sequential multi-layer filtering, Z-score composite scoring, and 14 tunable parameters — with automatic LTCG/STCG tax calculations applied at every rebalance. The engine covers 1,000+ stocks, includes delisted companies for survivorship bias correction, and produces gross CAGR, net (post-tax) CAGR, Sharpe ratio, max drawdown, recovery time, rolling 3-year performance, and factor correlation matrices.
Most backtesting tools available to Indian retail investors are either too simplistic (single-factor screeners with no tax modeling) or too expensive (institutional platforms costing lakhs per year). BacktestIndia fills this gap with a DIY educational tool that puts you in control — you define the factors, you set the weights, you choose the rebalancing frequency. No recommendations. No advisory. Just data and computation.
Basic Engine Flow: From Template to Results
The five-step pipeline every backtest follows
Every backtest on BacktestIndia follows the same five-step pipeline, whether you use a pre-built template or create a fully custom strategy. Here is the flow:
Choose Strategy Template
Select from pre-built templates (Low Volatility, Multi-Factor Blend, Momentum) or start custom. Pre-built templates run instantly with no signup.
Set Universe & Time Period
Define market cap rank range (e.g., top 100 by market cap on date of portfolio formation). Choose backtest period within December 2006–December 2025.
Configure Filters
Layer 1: Ratio conditions (PE > 0). Layer 2: Composite Z-score scoring (30 lowest volatility). Unlimited sequential layers supported.
Tune 14 Parameters
Rebalancing frequency, transaction costs, slippage, weighting method, lookback period, number of stocks per filter, and more.
Run & Analyze
Engine computes gross returns, applies LTCG (12.5%) and STCG (20%) taxes, reports CAGR, Sharpe, drawdown, recovery, rolling CAGR, regime analysis, and factor correlations.
Sequential Multi-Layer Filtering
Apply filters in stages — each layer's output feeds the next
Sequential filtering is the backbone of BacktestIndia's stock selection engine. Unlike simple screeners that apply all conditions simultaneously, sequential filtering processes criteria in ordered layers. Each layer's output becomes the next layer's input, creating progressively refined stock universes.
Example: Low Volatility Strategy Pipeline
Full NSE Universe
1,000+
Top 100 Market Cap
100
PE > 0 (Profitable)
~85
30 Lowest Volatility
30
Each arrow represents a filter layer. The engine applies Layer 1 (market cap), then Layer 2 (PE ratio), then Layer 3 (composite volatility score) — sequentially.
Why sequential matters: Applying PE > 0 before the volatility sort ensures you only rank profitable companies by volatility. This exact defensive-first sequence is what powers our Multi-Factor strategy's 14.61% CAGR with market-level drawdowns. If you applied both simultaneously, a loss-making company with artificially low recent volatility (because it crashed and stopped moving) could sneak into your portfolio. Sequence is strategy.
Advanced Example: Dual-Factor Sequential
You can chain more complex filters. For example, to combine low volatility with high momentum:
Layer 0: Market Cap Rank 1–100 → 100 stocks
Layer 1: PE > 0 (profitable only) → ~85 stocks
Layer 2: Composite Score: 60 lowest volatility → 60 stocks
Layer 3: Composite Score: 30 highest momentum → 30 stocks // Final portfolio
This gives you the 30 stocks that are both low-volatility and high-momentum — a powerful intersection that academic research (Blitz & van Vliet, 2007) suggests may outperform either factor alone. Our pure momentum backtest delivered 14.01% CAGR as the baseline this combination improves upon. The key insight: the order of filters affects the final portfolio. Low-vol first, then momentum, produces a different set than momentum first, then low-vol.
Z-Score Composite Scoring
Blend multiple factors with custom weights into a single ranking
Z-score composite scoring standardizes each factor to a common scale (mean = 0, standard deviation = 1), then combines them with user-defined weights. This is inspired by multi-factor models like the Carhart four-factor model, adapted for practical use on Indian equities.
How it works
- For each factor (PE, momentum, ROE, volatility, etc.), compute the Z-score across all stocks in the universe:
Z = (value − mean) / std_dev - Flip the sign for factors where lower is better (e.g., volatility: multiply Z by −1).
- Multiply each Z-score by its user-defined weight (e.g., 40% momentum, 30% PE, 30% ROE).
- Sum the weighted Z-scores to get a composite score for each stock.
- Rank stocks by composite score and select the top N.
| Factor | Weight | Direction | Stock A Z | Stock B Z | Stock C Z |
|---|---|---|---|---|---|
| Momentum | 40% | Higher ↑ | +1.2 | +0.5 | −0.8 |
| PE (value) | 30% | Lower ↓ | −0.4 | +0.9 | +1.5 |
| ROE | 30% | Higher ↑ | +0.8 | −0.3 | +0.6 |
| Composite Score | 0.84 | 0.38 | 0.31 | ||
Stock A: (0.4×1.2) + (0.3×0.4) + (0.3×0.8) = 0.48 + 0.12 + 0.24 = 0.84. PE Z-score is flipped (lower PE = higher score).
The key advantage of Z-score scoring over simple screening: it handles contradictory factors gracefully. A stock with mediocre momentum but excellent value and ROE can still rank highly if those factors compensate. Simple cutoffs would reject it entirely. The momentum + anti-speculation variant of this approach is what our Quality-Momentum strategy uses to deliver 17.95% CAGR — the highest of all strategies tested.
All 14 Tunable Parameters
Every knob you can turn in the BacktestIndia engine
BacktestIndia exposes 14+ parameters that control every aspect of strategy construction and execution. Parameter 14 — scaled turnover — is explained in depth in our liquidity premium and scaled turnover analysis. Here is the complete reference:
| # | Parameter | Default | Range | Impact |
|---|---|---|---|---|
| 1 | Market Cap Rank Start | 1 | 1–500 | Defines universe floor |
| 2 | Market Cap Rank End | 100 | 1–500 | Defines universe ceiling |
| 3 | Rebalance Frequency | 12 months | 1M–3Y | Tax impact, turnover |
| 4 | Transaction Cost | 0.16% | 0–1% | Brokerage + STT + stamp duty |
| 5 | Slippage Factor | 0.05% | 0–2% | Market impact for illiquid stocks |
| 6 | Weighting Method | Equal | Equal / Score | Concentration risk |
| 7 | Lookback Period | 12 months | 1–36M | Factor calculation window |
| 8 | Number of Stocks | 30 | 5–100 | Diversification level |
| 9 | PE Ratio | — | Any float | Value / growth filter |
| 10 | P/B Ratio | — | Any float | Book value screen |
| 11 | ROE | — | Any % | Quality / profitability |
| 12 | Momentum | — | 1–36M | Price trend strength |
| 13 | Volatility | — | Any | Risk level (lower = defensive) |
| 14 | EPS Growth, Div Yield, Turnover, Beta | — | Various | Additional factor controls |
Tax Engine & Real-World Cost Modeling
LTCG, STCG, slippage — the gap between theory and reality
The most deceptive part of any backtest is ignoring taxes and trading costs. A strategy showing 15% gross CAGR might deliver only 11% net after STCG if rebalanced monthly. BacktestIndia's tax engine models this precisely.
How the Tax Engine Works
LTCG (Long-Term)
12.5%
Holdings sold after 12 months
₹1.25L annual exemption
STCG (Short-Term)
20%
Holdings sold before 12 months
No exemption threshold
Transaction Costs
0.16%
Applied per trade (buy + sell)
Brokerage + STT + stamp + GST
Slippage
0.05%
Market impact on execution
Higher for illiquid stocks
As shown in the video walkthrough: the low volatility strategy withannual rebalancing produced 12.85% gross CAGR and 12.38% net CAGR — a gap of only 0.47 percentage points. This narrow gap is directly because annual rebalancing keeps most positions in LTCG territory. Monthly rebalancing on the same strategy widens this gap significantly because nearly all exits trigger the 20% STCG rate.
Results Deep Dive: Every Metric Explained
CAGR, Sharpe, drawdown, recovery, rolling CAGR, regime analysis, and factor correlations
After every backtest, BacktestIndia produces a comprehensive results dashboard. Here is what each metric means and how to interpret it:
| Metric | Low Vol Strategy (Gross) | Low Vol Strategy (Net) | Nifty 50 Benchmark |
|---|---|---|---|
| CAGR | 12.85% | 12.38% | 10.42% |
| Max Drawdown | −44% | −44% | −55% |
| Recovery Time | 7 months | 7 months | 60 months |
| ₹50L → (18.5 years) | ₹4.68 Cr | ₹4.32 Cr | ₹3.33 Cr |
| Annualized Volatility | Lower | Lower | Baseline |
Data: Dec 2006 – Jun 2025 historical backtest. Hypothetical simulation only. Past performance does not guarantee future results. Source: BacktestIndia using EODHD NSE data. For passive index comparison, see our Nifty 50 vs Next 50 26-year analysis — factor strategies outperform the best passive index by 28%+ CAGR.
Additional Result Panels
Rolling 3-Year CAGR
Shows consistency. A strategy with great 18-year CAGR but 5 consecutive years of negative <a href="/blog/india-lost-decade-rolling-returns-analysis">rolling returns</a> may be hard to stick with.
Market Regime Analysis
Breaks performance across 2008 GFC, 2013 taper, 2020 COVID, bull runs. Did the strategy only work in one regime?
Factor Correlation Matrix
Shows how PE, momentum, ROE, and volatility correlate in YOUR portfolio (not the market). High correlation = redundant filters.
Top Performers & Losers
Which stocks contributed most to returns vs. dragged performance. Premium users with custom strategies see full stock names.
Full Walkthrough: Low Volatility Strategy
Step-by-step recreation of the video demo
Here is the exact configuration from our video walkthrough, reproduced as a reference you can replicate on BacktestIndia.com:
Low Volatility Configuration
Market Cap Range
Rank 1–100
Rebalance Frequency
12 months
Transaction Cost
0.11%
Slippage
0.05%
Filter 1 (Ratio)
PE > 0
Filter 2 (Composite)
30 lowest volatility
Weighting
Equal weight
Period
Dec 2006 – Jun 2025
Key insight from the video: The PE > 0 filter is critical — it removes loss-making companies whose low recent volatility might be an artifact of a price crash followed by stagnation. The 12-month rebalance frequency ensures most exits qualify for the lower 12.5% LTCG rate, keeping the gross-to-net gap minimal.
As the video shows, this low volatility portfolio held bigger companies with higher PE ratios and higher dividend yields compared to the overall market universe — essentially paying a premium for quality defensive stocks that delivered lower drawdowns and faster recovery. Your ₹50 lakh would have grown to approximately ₹4.32 crore net (after all taxes), versus ₹3.33 crore in Nifty — a gap of nearly ₹1 crore over 18.5 years.
For a fundamentals-based alternative that also recovered from 2008 in just 7 months, see our Value-Quality strategy delivering 11.38% CAGR with faster crisis recovery →
For a deeper analysis of the low volatility anomaly in Indian markets, see our dedicated post: Low Volatility Anomaly in India: 18-Year Backtest Results →
Customization Demo: What You Can Change
From the video: 'I can put my PB ratio greater than 5, 10, anything'
As demonstrated in the video, once you understand the basic flow, the real power emerges from customization. Every parameter is a lever you can pull. Here are some combinations to try:
Momentum + Value →
Z-score: 50% momentum (higher) + 50% PE (lower). 30 stocks from top 200. Quarterly rebalance.
Quality + Low Vol →
Sequential: PE > 0 → ROE top 60 → 30 lowest volatility. Annual rebalance for tax efficiency.
Multi-Factor Blend →
Z-score: 30% momentum + 25% PE + 25% ROE + 20% low volatility. 40 stocks, top 150 market cap.
Related Reading
⚠️ Important SEBI Disclaimer
BacktestIndia.com is a DIY educational backtesting tool. It is NOT a SEBI-registered Investment Adviser (IA), Research Analyst (RA), or Portfolio Management Service (PMS). We are classified as exempt under SEBI (Investment Advisers) Regulations 2013, Regulation 3(1)(d) — self-service analytical tools.
All backtest results shown on this page are hypothetical historical simulations. They are NOT real trading results. Past performance does NOT predict or guarantee future returns. Markets are subject to risk, and you may lose some or all of your invested capital.
We do not provide: personalized investment recommendations, suitability assessments, portfolio management services, or buy/sell/hold advice on any security. All strategies shown are 100% user-defined.
Before making any investment decision: verify all data independently, consult a SEBI-registered Investment Adviser who can assess your personal financial situation, risk tolerance, and investment goals.
Data limitations: EODHD NSE data (Dec 2006 – Dec 2025). May contain errors, gaps, or approximations. Returns are price-only (ex-dividend). Corporate actions adjusted but not guaranteed. Delisted companies included but coverage may be incomplete.
Tax disclaimer: LTCG/STCG calculations are approximate models. Tax laws change frequently. Consult a chartered accountant for actual tax implications.
Frequently Asked Questions
12 common questions about the BacktestIndia engine
Ready to Build Your Own Factor Strategy?
Pre-built templates run instantly — no signup needed. Try the low volatility strategy from this video, then customize every parameter.
🚀 Launch BacktestIndia — FreeEducational tool only. Not investment advice. Past performance ≠ future results.