IndexScope Valuation Tracker
⏳ Loading…
Nifty 50 Index
Price / Earnings
5-year percentile rank (winsorised)
Price / Book
5-year percentile rank
Dividend Yield
Informational
Derived EPS (Index Value ÷ PE)
PE Ratio — 3-Year History
PE
3yr Median
Weighted Ref
Rolling Median Evolution
Actual
3yr Median
5yr Median
10yr Median
Backtest Settings
Configure settings above and click Run Backtest.
Simple PE Threshold Strategy
Set a PE threshold and click Run Strategy.
Strategy logic: Buy at close when PE first falls below the threshold (after cooldown). Sell after the fixed hold period. Win = positive simple return at exit.
Limitations to keep in mind:

What is this tool?

This tool analyses the valuation of the Nifty Midcap 150 index — the 150 midcap companies ranked just below Nifty 100 — using historical P/E and P/B data going back to 2016.

It answers: Is the Nifty Midcap 150 cheap or expensive relative to its own history? And when it was cheap historically, how well did buying it work?

Valuation Methodology

Weighted Reference

Instead of a single median, we compute a weighted reference that blends three time horizons:

Weighted Ref = 30% × 3-year median + 60% × 5-year median + 10% × 10-year median Rationale: • 3yr (30%) — captures recent regime (post-COVID, interest rate cycle) • 5yr (60%) — dominant anchor; a full market cycle • 10yr (10%) — long-run mean, given low weight to allow for structural re-rating

If any window is unavailable (e.g. index data starts 2016, so 10yr window is partial), weights redistribute proportionally.

Valuation Bands

The current P/E (or P/B) is expressed as a percentage of the weighted reference. The bands are:

≤ 80% — Very Cheap 80–90% — Cheap 90–105% — Neutral 105–120% — Expensive > 120% — Very Expensive

The neutral band is intentionally asymmetric (90–105%) to account for the natural positive drift of index earnings over time.

Secondary Signal: Percentile Rank

The current value is also ranked as a percentile within its 5-year winsorised history (outliers clipped at 1st–99th percentile). This is critical for NMid150 — the COVID-era PE spike reached 813x, which would completely distort unwinsorised ranks. After winsorisation the outlier is capped and the rank becomes meaningful. If the primary and secondary signals disagree, a divergence flag appears.

Trend Direction Indicators

Each metric card shows a small badge comparing the current value to the value approximately 3 months ago (63 trading days back). This helps identify whether valuation pressure is rising or easing.

Historical Medians Tab

This tab shows how the rolling medians themselves have changed over time — letting you spot structural re-rating. For example, if the 5yr median P/E has risen from 25× (2019) to 35× (2024), paying 34× today may not be as expensive as it appears on a long-horizon basis.

Annual frequency shows year-end snapshots. Quarterly shows March/June/September/December end-of-quarter values.

Backtest Methodology

Signal Trigger

A signal fires when the chosen metric (P/E, P/B, or both simultaneously) enters a ±1% tolerance band around the threshold. For example, with P/E threshold at 90%:

Signal fires when: 89% ≤ (Current PE / Weighted Ref PE × 100) ≤ 91% 6-month cooldown between consecutive signals (prevents rebuying the same move)

Forward Returns

For each signal date, we compute:

If the target date hasn't been reached yet, the return is marked OPEN (partial, annualised).

Row Colors

Green = positive signal return  |  Yellow = open  |  Red = negative return

EPS (Derived)

Since Nifty Midcap 150 doesn't publish EPS directly, we derive it as: EPS = Index Value ÷ P/E.

The TURNING flag appears when EPS has risen both 90 days and 180 days ago relative to today, but the year-over-year growth is still ≤5% — indicating an early-cycle inflection that hasn't yet shown up in the annual numbers.

Live Data

Historical data (2016–Apr 2026) is embedded in this file. To fetch more recent data, deploy the included Google Apps Script and paste its URL in the scriptUrl config at the top of the JavaScript.

The tool works fully offline — live data only fills the gap between the embedded history end date and today.