TradeTech Analytics

NSE Nifty 500 · long-only · weekly · v1.0.1 · paper run frozen 2026-10-19

Longbow Weekly PAPER

Fourteen weekly Nifty 500 ideas tested; risk-adjusted momentum with a market filter is the only candidate. Ten idea families (597 variants) plus an index-rebalancing event study and a pairs test, on weekly data 2016 to 2025-09. Four ideas could not be tested for lack of data. Only momentum with a market filter survives realistic costs.

Verdict

Candidate: hold-out did not confirm profit

The sealed hold-out (2025-10 to 2026-10-16, opened once on 2026-10-19) did not confirm a profit: -1.4% at standard costs against -3.3% for the Nifty 500, with a 13.8% worst fall. It protected capital in a down year but did not make money. The forward paper run continues.

  • Scope. Of your 14 ideas, ten were tested on weekly bars (momentum and 52-week highs, low volatility, trend following, a price-reaction stand-in for post-earnings drift, base breakouts, market structure, EMA support, anchored VWAP, fair-value gaps, RSI/MACD), plus the index-rebalancing event study and pairs. Four could not be tested honestly: quality and value factors (no fundamentals), true post-earnings drift (no results dates or earnings surprises), event-driven and merger arbitrage (no event list), and volatility dispersion (no stock option chains).
  • Method. Nifty 500 point-in-time membership, jump-cleaned weekly prices, liquidity of at least ₹5 crore a day, decisions on Friday close and trades at the next open, delivery costs plus 0.2% slippage a side, stress at 1x, 2x, 3x, and a survivorship haircut of 0%, 4% and 8% a year because only 68% to 92% of past members have price history. Ranked on 2016 to 2021 and checked on 2022 to 2025-09. The hold-out from 2025-10 is sealed.
  • Screen of 597 variant and market-filter combinations: CAGR above 10% and drawdown under 20% at 2x costs plus the 4% haircut on both periods. Only 1 combination passed in round 1. Every other family failed: best raw results of 15% to 30% a year came with 33% to 53% drawdowns, and base breakouts, low volatility and the RSI/MACD ideas made little or lost money.
  • Round 2 (288 focused momentum combinations: ranking, number of names, market filter, stock stop, volatility scaling). 25 passed both periods. The plateau is risk-adjusted momentum (39 or 52 weeks, skip 4) with 10 to 20 names and the market filter on the 26- or 30-week average. Stops and volatility scaling added nothing, so the final rule has neither.
  • Candidate (risk-adjusted 39-week momentum, top 15, monthly, Nifty 500 above its 26-week average, otherwise cash), at 2x costs and a 4% haircut: 24.8% a year, worst drop 16.7%, Sharpe 1.40. Train 25.3% and 16.7%; validation 23.3% and 15.3%. Random top-15 picks with the same filter made -0.1% a year, so the ranking, not the filter, carries the skill.
  • Stress. At 1x costs with no haircut 32.4% and 13.8%. At 3x costs plus 4% haircut 20.5% and 21.9% (above the 20% limit). At 3x plus 8% 17.2% and 24.6%. At 5x plus 8% 8.3% and 38.0%.
  • Weak spots. Calendar years: 2021 +128% and 2023 +81%, with 2018 -10.5%, 2022 -9.3% and 2019 +1.3%. Starting in 2017 or later the worst drop is 22%. Walk-forward (re-pick each year from earlier data): 22.8% a year with a 23.3% worst drop. White reality check over the 288 round-2 variants on the validation period: p = 0.047 (best t-statistic 2.85), borderline.
  • Index rebalancing (Nifty 500 additions and deletions, 2016 to 2025-09, about 233 additions and 127 deletions). Buying additions 28 days before the effective date and selling on it gained 0.5% over the index (t 0.7); the larger run-up from 42 days before mostly happens before NSE announces. After the effective date, additions and deletions both beat the index by 1.4% to 1.7% over five days (unclustered t about 3 to 4). Net of about 0.8% round-trip costs and with few events a year, that is roughly 2% to 3% a year at best: not a stand-alone strategy.
  • Pairs. Weekly Engle-Granger tests on 300 highly correlated liquid pairs (formation to 2019) found 70 cointegrated; traded 2020 to 2025-09 the 40 tested had a median total of +5.6% at 1x, +1.9% at 2x and -1.9% at 3x. Your named pairs: ICICIBANK/HDFCBANK +18.7% over 5.75 years at 1x (+9.7% at 3x, drawdown 24% to 27% of notional), TATAMOTORS/M&M -46%, INFY/TCS -11%. No edge after realistic friction; shorting needs futures and margin.
  • HOLD-OUT RESULT (opened once, 2026-10-19, on the frozen specification, one continuous run from 2016 with positions carried across): 55 weeks to 2026-10-16. Standard costs (paper settings): -1.4%, worst fall 13.8%. At 2x costs plus a 4% haircut: -7.0% (15.8%). At 3x plus 8%: -12.5% (18.4%). Nifty 500 price index: -3.3% (13.1%). Random top-15 picks with the same filter: -14.1% on average (sd 4.5%); the candidate beat 98% of 40 random runs. The market filter was ON in only 56% of weeks, so the account sat in cash 44% of the time. Reading: the ranking showed skill against random picks and the filter limited the fall, but there was no profit; 55 weeks cannot separate skill from luck either way.
  • Forward paper run started 2026-10-19 at the owner's instruction, with the specification frozen. It re-simulates from the start date each evening with the same engine as the back-test (a replay of 2024 to 2025-09 reproduced the research equity to the rupee). The hold-out stays sealed. Paper results use real prices with modelled fills, so they exclude real execution.
  • CORRECTION (2026-10-20): the hold-out total depends on the rebalance calendar. The -1.4% above is for the cycle phase set by a 2016 start. The same rule with the four-week cycle shifted by one, two or three weeks gave +5.3%, +0.6%, +1.5% and -1.4% over the same 55 weeks (standard costs), all better than the index's -3.3%. The honest summary is 'between -1.4% and +5.3% depending on phase', which is still not a clear confirmation of profit, but it is less negative than first reported. The forward paper run uses one fixed phase; a four-sleeve version that removes phase luck would be a new strategy version.
  • Recommendation. Keep the forward paper run as the only clean out-of-sample test left. Do not use real money on this evidence. Use the decision guide in research/weekly/README.md: judge after 26 and 52 weeks, require drawdown under 20% and a return clearly above cash and the index after costs, and do not change the rules during the run. The full documentation, with the exact rules, pass/hold/stop criteria written before the paper results, and the weekly routine, is at /docs/longbow-weekly.html.

Promotion gates

PASS
Beats a random-pick null
Random top-15 with the same filter: -0.1% a year, against 24.8%.
PASS
Profitable at 2x costs with drawdown under 20% in both periods
25.3% and 16.7% (train), 23.3% and 15.3% (validation).
FAIL
Survives 3x costs and an 8% haircut with drawdown under 20%
17.2% a year but a 24.6% worst drop.
FAIL
Not dependent on a few years
2021 +128% and 2023 +81%; starting after 2016 the worst drop is 22%.
PASS
Survives multiple-testing correction
Reality check p = 0.047 across 288 variants (borderline).
FAIL
Hold-out
Opened once on 2026-10-19: -1.4% at standard costs for the 2016-start phase (+0.6% to +5.3% for other phases) against the index's -3.3%; negative at 2x and 3x stress for the first phase. Beat random picks; no clear confirmation.

Explain the strategy

Every week we ranked the liquid stocks in the Nifty 500 by how steadily they had been rising over about nine months, bought the top 15 once a month, and went to cash when the overall market was weak. Over ten years, with generous allowances for fees and for stocks missing from our records, it grew about 25% a year with its worst fall near 17%, against 13% and 34% for the index. We do not yet trust it because two years did most of the work.

Report

All ten tested ideas: best variant on train and the family median, 2x costs and 4% haircut

idearegime filtervariantsbest on train (Sharpe)train CAGRtrain max DDvalidation CAGRvalidation max DDmedian validation CAGR (all variants)median validation DD
1 Cross-sectional momentum / 52-week highnone108mom 39w skip 4 N=10 k=4 adv>=530%35%22%37%13%34%
1 Cross-sectional momentum / 52-week highNifty 500 above 30-week average108mom 52w skip 0 N=20 k=4 adv>=525%33%21%24%17%22%
10 EMA supportnone6EMA50w hold15%48%21%33%20%33%
10 EMA supportNifty 500 above 30-week average6EMA50w hold20%36%24%19%24%19%
11 Anchored VWAPnone4above AVWAP from Election results14%50%24%29%21%33%
11 Anchored VWAPNifty 500 above 30-week average4above AVWAP from Election results18%39%28%16%24%19%
12 Weekly fair-value gapsnone4FVG>2% retest15%53%17%35%20%33%
12 Weekly fair-value gapsNifty 500 above 30-week average4FVG>2% retest20%37%23%20%25%19%
13 RSI / MACD / divergencenone5RSI14 crosses up 40 in uptrend5%6%4%5%5%26%
13 RSI / MACD / divergenceNifty 500 above 30-week average5MACD histogram cross up14%41%22%18%9%18%
2 Low volatility and blend (quality, value parked)none16momentum+low-vol blend 52w N=20 k=1310%27%9%26%6%25%
2 Low volatility and blend (quality, value parked)Nifty 500 above 30-week average16momentum+low-vol blend 26w N=20 k=1310%14%12%15%6%14%
3 Time-series trend (SMA, Donchian, SuperTrend)none36Donchian 26/26 N=20 vol-parity17%53%26%30%23%27%
3 Time-series trend (SMA, Donchian, SuperTrend)Nifty 500 above 30-week average36Donchian 52/26 N=20 vol-parity20%36%24%19%23%17%
4 PEAD (price-reaction proxy only)none8proxy z>3.0 vol>3.0x hold 8w-7%47%13%17%5%26%
4 PEAD (price-reaction proxy only)Nifty 500 above 30-week average8proxy z>3.0 vol>3.0x hold 8w-3%36%18%14%11%17%
8 Multi-month base breakoutsnone8base<30% vol>2.0x exit SMA10-9%53%-3%31%-24%78%
8 Multi-month base breakoutsNifty 500 above 30-week average8base<30% vol>2.0x exit SMA10-5%42%1%19%-11%42%
9 Market structure (BOS / CHoCH)none4BOS/CHoCH pivot=2w with SMA30 filter15%51%23%32%22%32%
9 Market structure (BOS / CHoCH)Nifty 500 above 30-week average4BOS/CHoCH pivot=2w with SMA30 filter19%39%25%18%25%19%

Rules and parameters

Rules

  1. Universe: Nifty 500 members on the decision date with liquidity of at least ₹5 crore a day and at least 60 weeks of history.
  2. Score: (price 4 weeks ago / price 39 weeks ago - 1) divided by the 26-week standard deviation of weekly returns. Hold the top 15 at equal weight, with a held name kept while it stays in the top 22.
  3. Rebalance every 4 weeks; decisions at Friday close, trades at the next open. Exits happen when a name drops out of the top 22 or the filter turns off.
  4. Market filter: hold stocks only while the Nifty 500 index is above its 26-week average; otherwise hold cash earning repo less 1.5%.
  5. Costs: delivery brokerage, STT, stamp, exchange fee and DP charge plus 0.2% slippage a side; stress 2x and 3x. Survivorship haircut 4% a year of invested capital (stress 8%).

Parameters

capital
₹5,00,000
names
15
rebalance
every 4 weeks
window
2016-01 to 2025-09
train
2016-2021
validation
2022-2025-09
hold-out
opened once 2026-10-19 (spent)
code
research/weekly/
documentation
https://strategyreview.tradetechanalytics.com/docs/longbow-weekly.html (rules, data, costs, results, decision criteria, routine)

Instrument

Nifty 500 stocks (point-in-time membership, liquid names) · capital ₹500,000

Known limitations

Logs and raw data

Downloads appear once a data window is loaded.

Files are plain CSV so results can be re-computed independently. Trade dates are IST sessions; returns are net of modelled costs and slippage.