Skip to content
patearn.in
NIGHTLY ·
More

Strategy reference

Research tool · not investment advice. Full disclaimer →

New here? How to read

What each strategy is — and what it is not.

Descriptive record only — past data and published method.

Strategy reference

23 canonical pages
Open the Rotation map →the live surface this page describes — data, filters and history
How well testedDescriptive onlyit describes what happened; it has never earned the right to rank or selectRecorded: DESCRIPTIVE (deployed lens suite)

Relative strength

What this helps you see

Compare a stock with a named benchmark over stated horizons. Relative performance, the price ratio, its direction, its position in its own history and downside resilience answer different questions. A percentile compares the stock with the displayed population; it is not a return.

What makes it different: these views sit together, so a strong recent move does not conceal a weak longer history or poor behaviour during market declines. Benchmark, horizon and population must accompany the reading. RS is different from RSI, which measures momentum in a series.

Explore relative comparisons.

About this reference

This reference explains the reading, its evidence and its limits. Implementation and calibration notes are retained in the internal research archive. Published test definitions and unfavourable results remain available below.

4. Status, validation & honesty fence

BINDING — the RS suite is DESCRIPTIVE. It is a Tier-3 analytical lens (see the strategy ledger Tier-3 row: *"RS suite (Rotation Map, RSI-of-RS, Mansfield, capture, RS-band) · relative strength vs index · deployed (descriptive)"*): built + deployed, but NOT return-tested as standalone alpha. It reads relative strength vs the index; it does not trade as a book.

  • No RS lens is fundable alpha. It is *context / selection*, consistent with project doctrine: price strength is a gross selection lens, not net alpha. Momentum is the only factor that survives the walk-forward, and even that is beta, not skill (t≈1.99), and the momentum edge dies net of cost (see the ledger's Tier-1/failure sections). RS informs *which* names are interesting; it never earns a return claim on its own.
  • The recovery ladder is descriptive only. The week→6m staged confirmation grades conviction (Watch → Confirmed); it is an early-warning read, never a tradable signal.
  • RS-band verdicts are gated, not naive. The "cheap/rich" verdict fires only for mean-reverting series (Hurst/ADF regime gate) and only above a minimum-history floor; on trending/re-rating names it is *suppressed* ("band invalid; breakouts = re-rating, not exhaustion"). A band break only *upgrades to a watch* — direction of action comes from the fused signals (level × direction × confirmation), never from the break alone. Point-in-time (no look-ahead) by construction.
  • Capture framing is regime-gated. "Accumulate what falls less" is surfaced only when the market is weak; in a bull tape it is not a green arrow.
  • Related-but-separate — Credibility-rotation. the cci rrg code reuses the Rotation Map *grammar* on the credibility time-series (not price RS). Credibility is FALSIFIED as a factor (no validated long/short/risk edge; high-credibility names underperform) → it is descriptive/veto-only and is not part of the price-RS suite. Do not conflate.

---

6. Data & provenance

  • Primary source only. All RS lenses derive from NSE bhav copy (daily EOD OHLCV, archived) and the NSE index series (index_rows), split/bonus-safe via the adjust.adjusted_closes corporate-action chain. The ratio, slopes, Rotation Map, Mansfield, capture, band and phase are *all* pure arithmetic over these primary series — no vendor, no Screener dependency, doctrine-clean.
  • Value-based RS (adjusted price ratios), never share-count — eliminates corporate-action adjustment bugs.
  • Constituents come from stock_index_membership (latest snapshot) joined to adjust.adjusted_closes for the drill-downs.
  • Space discipline: derivable series (RSI-of-RS, %Δ) are computed on read, not persisted; the production DB is ~16 GB and every stored byte is a cost. Stored columns are bounded (one row/entity/date) and additive (owned at runtime via db._ensure_column, never a the db code edit).

---