CMB Research GitHub ↗
Independent quantitative research · Indian equities

When does equity weakness actually persist?

An empirical study of relative weakness, episode construction, rebound dynamics, and backtest bias across a frozen Nifty 500 universe.

Cross-sectionally replicated Prospective monitoring frozen Not a trading strategy
Frozen universe500current Nifty 500 stocks
Discovery100sector-balanced sampled stocks
Holdout400zero-overlap validation stocks
Validation sample1,386independent Day-20 observations
Validation ρ−0.06140D sector-relative outcome
Q4 − Q1−1.65 ppmedian sector-relative spread
The replicated finding

A larger rebound inside persistent weakness is followed by modestly worse sector-relative performance.

Among stocks still weak versus both Nifty and their sector on episode Day 20, a larger already-observed rebound from the trailing-20-session trough is associated with poorer sector-relative performance over the next 40 sessions.

Discovery → validation

effect shrank ~68%

The sign replicated in 400 previously unused stocks, but the discovery estimate materially overstated the effect size.

Why Day 20 became the candidate

discovery sample only

Day 5 and Day 10 were weak; the stronger Day-20 relationship was then locked before external validation.

Validation rebound quartiles

descriptive, not a cutoff

Median 40D sector-relative performance becomes progressively weaker across rebound quartiles.

Cluster robustness

2,000 bootstrap draws

All three predeclared clustered 95% intervals remain below zero, although the calendar-quarter upper bound is very close to zero.

What this does not mean: the validated relationship is mainly sector-relative. The 40D Nifty-relative and absolute-stock correlations are close to zero, so this is not evidence that the stock itself will necessarily fall.

Outcome specificity

validation sample
The most important failed result

A strong shorting pattern disappeared when hindsight was removed.

An early experiment selected the maximum rebound inside a future 20-session window and then measured returns after that selected point. That created a mechanically favorable-looking decline.

The hindsight trap

rejected analysis

When the chosen maximum rebound occurred early in the 20-session search window, the next 10D return was mechanically negative. When the selected maximum occurred on Day 20, the apparent decline vanished.

01
Tempting result

Retrospective rebound peaks appeared to be followed by sharp deterioration.

02
Audit the anchor

The “entry” was chosen using future information inside the next 20 sessions.

03
Reject it

The result was treated as selection-induced rather than retained as alpha.

04
Redesign prospectively

Fixed Day 5, 10, and 20 landmarks use only information observable at the anchor.

Episode construction

Weak days were compressed into persistent states.

Consecutive sessions weak versus both Nifty and sector peers are grouped into episodes. This reduces repeated counting of essentially the same state and makes path analysis more interpretable.

Weakness episode duration

9,656 episodes
Validation explorer

Inspect the 400-stock holdout without changing the locked test.

This explorer is descriptive. Filters change what you see on screen; they do not alter the primary validation result or create a new optimized rule.

Sector-level relationship

descriptive decomposition

The primary test is the full 400-stock holdout. Sector views help diagnose heterogeneity but cannot replace or rescue the locked result.

Selected sector rebound quartiles

within-sector descriptive view

Choose a sector to see its within-sector rebound quartiles. Small groups are intentionally not over-interpreted.

Methodology

Designed to make weak results disappear when they should.

01

Relative returns

Stocks are compared with Nifty 50 and a leave-one-out equal-weight sector peer benchmark.

02

Continuous weakness features

Magnitude, underperformance days, concentration, effective negative days, and evenness are kept separate rather than collapsed prematurely.

03

Episodes

Consecutive weak-both sessions form one episode; no minimum duration and no gap stitching are imposed in the primary definition.

04

Prospective anchors

Day-20 predictor history ends on the anchor. Every forward outcome starts strictly at t+1.

05

Dependence control

Primary episode starts for a stock are spaced by more than 60 market sessions.

06

Locked holdout

The 400-stock complement, primary outcome, and success criteria were frozen before validation returns were inspected.

Known limitation: the historical universe uses current Nifty 500 membership. The study therefore has current-membership / survivorship bias and is not a historical constituent reconstruction.
Phase 11

The historical result is frozen. Future evidence now arrives one episode at a time.

Research cutoff: 21 August 2026. New Day-20 episode anchors after the cutoff will be evaluated using the same continuous rebound predictor and the same next-40-session sector-relative outcome.

Prospective monitor

Collecting future observations · no historical re-optimization