Momentum Screener

Formula robustness

If a result only survives with one exact formula, it is a coincidence, not an effect. This grid runs the identical backtest — same Nifty 500 universe, same top 20 equal weight, same monthly rebalance, same costs — under four spec variants that were declared before any results were computed. Every variant is always shown; none is ever tuned, added or dropped because of how its numbers look.

Window: 28 Feb 202030 Jun 2026 · 77 months · Nifty 500 only (the deepest universe and the Gate A audit universe)

SpecificationCAGRMax drawdownSharpe
Vol-scaled 12-1 (the published spec)published spec42.5%-32.1%1.22
Plain 12-1 (no volatility scaling)45.1%-32.4%1.21
Vol-scaled 12-1 + 200-DMA regime rule42.3%-15.2%1.59
Plain 12-1 + 200-DMA regime rule43.0%-19.3%1.51
Nifty 50 (price index) over the same window11.4%-23.2%0.34

All figures net of 0.4%/side transaction costs; no taxes modelled. The same survivorship-bias and price-index caveats as the main backtest apply to every row equally.

What this grid can and cannot say

What it can say: if all four variants land in the same neighbourhood — comfortably ahead of the index on a risk-adjusted basis — then the historical result is a property of disciplined momentum ranking, not of one lucky formula. If the published spec were the only row that looked good, that would be a red flag, and this page would show it.

What it cannot say: that any of this repeats in the future. Every row inherits the same backtest weaknesses — survivorship bias, a price-index benchmark, no taxes, and a window dominated by a momentum-friendly regime.

About the regime variants: At each month-end rebalance, if the Nifty 50 closed below its 200-day simple moving average, the simulated portfolio holds no stocks that month and earns the risk-free rate instead; exit and re-entry pay the same turnover costs. Evaluated only at rebalance dates - a historical simulation of a published rule, not a suggestion to time markets.

Assumptions (published spec shown; variants differ only as labelled)

TaxesNot modelled - after-tax results would be materially lower for every variant
Signal12-1 momentum: return from t-252 to t-21 trading days, divided by annualized daily-return volatility (trailing 252 days)
UniverseNifty 500 current constituents (474/500 usable) - survivorship bias: results are biased upward, plausibly by several % p.a.
BenchmarkNifty 50 (^NSEI) price index - excludes dividends, which flatters every variant equally
PortfolioTop 20 by the variant's ranking, equal weight, monthly rebalance
Price dataYahoo Finance daily, adjusted for splits and dividends (yfinance auto_adjust)
Risk-free rate6.5% p.a. for Sharpe and for cash months in the regime variants
Backtest window2020-02-28 - 2026-06-30 (77 months), a broadly momentum-friendly regime; no 2008-style crash included
Transaction costs0.4% per side on actual turnover (avg 30 bps/month at 74% monthly turnover)

The method itself, including momentum's failure modes, is on the methodology page.

Educational screening tool — not investment advice. Not SEBI-registered. Momentum strategies have historically suffered drawdowns of 30–50%. Full disclaimer