Educational screening tool — not investment advice. Not SEBI-registered. Momentum strategies have historically suffered drawdowns of 30–50%. Full disclaimer
What the formula would have produced in the past, under the stated assumptions — shown with its drawdowns, not just its returns. A backtest is a simulation on historical data. Past performance does not guarantee future results, and real-world results would differ.
Run: 12-1 vol-scaled momentum, top 20, monthly, 0.1%/side · 28 Feb 2020 – 30 Jun 2026
Historical backtest — strategy vs S&P 500 TR. Past performance does not guarantee future results.
How far each series fell below its previous high. This is what holding the strategy actually felt like.
In this backtest, the strategy peaked on 28 Feb 2020 and fell -18.1% to its low on 31 Mar 2020, not regaining its previous peak until 30 Jun 2020. Anyone following a momentum approach through that stretch would have watched roughly $100 become $82 before any recovery. Momentum strategies have historically suffered drawdowns of 30–50%, and there is no reliable way to know in advance when the next one starts.
| Metric | Strategy | S&P 500 TR | Notes |
|---|---|---|---|
| CAGR | 39.5% | 15.8% | Compound annual growth rate over the full period |
| Max drawdown | -18.1% | -23.9% | Deepest peak-to-trough fall — read this together with CAGR, never alone. |
| Sharpe ratio | 1.21 | 0.71 | Excess return per unit of volatility, using a 6.5% risk-free rate |
Headline numbers are only as good as the assumptions beneath them — read the table below before drawing conclusions.
| Taxes | Not modelled - monthly rebalancing realises short-term capital gains taxed as ordinary income; after-tax results would be materially lower |
|---|---|
| Signal | 12-1 momentum: return from t-252 to t-21 trading days, skipping the most recent month |
| Universe | SP500 current constituents (498/503 usable; Wikipedia constituents list) - survivorship bias: results are biased upward, plausibly by several % p.a. |
| Benchmark | S&P 500 TR (^SP500TR) TOTAL RETURN index - dividends included, a deliberately harder comparison than a price index (stock prices here are dividend-adjusted too) |
| Portfolio | Top 20 by score, equal weight, monthly rebalance (size fixed a priori by universe breadth, not tuned) |
| Price data | Yahoo Finance daily, adjusted for splits and dividends (yfinance auto_adjust) |
| Risk scaling | Score = 12-1 return / annualized daily-return volatility (trailing 252 days) |
| Risk-free rate | 4.0% p.a. for Sharpe |
| Backtest window | 2020-02-28 - 2026-06-30 (77 months), a broadly momentum-friendly regime; no 2008-style crash included |
| Liquidity filter | Bottom decile by 63-day median traded value excluded at each rebalance |
|---|
| Transaction costs | 0.1% per side on actual turnover - commission-free brokerage with spread and slippage for retail size in S&P 500 large caps (avg 8 bps/month at 76% monthly turnover) |
|---|
More on the method, the academic evidence and momentum's failure modes on the methodology page. How much these results depend on the exact formula is examined on the robustness page.