How the Equilytics Mood Index is built
Every formula, data source, update time and known limitation -- nothing here is hidden.
The six signals
| # | Signal | Raw value | Direction | Fallback scale (<60 sessions) |
|---|---|---|---|---|
| 1 | Foreign investors (FII) | Sum of FII net cash flow, last 5 sessions, ₹ cr | Higher = greed | −15,000 → 0, +15,000 → 100 |
| 2 | Volatility (India VIX) | India VIX close | Inverted (higher VIX = fear) | 25 → 0, 10 → 100 |
| 3 | Momentum | (EMA30 − EMA90) / EMA90 × 100 on Nifty 50 closes | Higher = greed | −4% → 0, +4% → 100 |
| 4 | Market breadth | advances / (advances + declines), today | Higher = greed | ratio × 100 (always, no percentile) |
| 5 | 52-week highs vs lows | (H − L) / max(H+L, 1) | Higher = greed | 50 + 50 × value (always, no percentile) |
| 6 | Gold vs Nifty | 10-session return: GOLDBEES − Nifty 50 | Inverted (gold beating stocks = fear) | +5% → 0, −5% → 100 |
Signals 1, 2, 3 and 6 are converted to a 0-100 sub-score by ranking today's raw value against the trailing 250 trading sessions of that same raw value, once at least 60 sessions of history exist; before that, the fixed fallback scale above is used. Signals 4 and 5 are already bounded between 0 and 100 by their own formula and are never percentile-ranked. The final score is the simple average of whichever sub-scores are available that day, rounded to a whole number. A signal is treated as unavailable if its data is missing or stale for more than 3 sessions; if fewer than 4 of the 6 signals are available, the site keeps showing the last valid score with a "data delayed" note rather than publishing a number built on too little.
Zones: 0–24 Extreme Fear · 25–44 Fear · 45–55 Neutral · 56–75 Greed · 76–100 Extreme Greed.
Data sources & update schedule
- Quotes, candles, VIX, GOLDBEES, index data: Upstox Market Data API, refreshed every 2 minutes during market hours (9:15am–3:35pm IST), a final close snapshot at 3:45pm.
- FII/DII flows: NSE's daily FII/DII disclosure, fetched at 6:30pm IST with retries at 7:30pm and 9:00pm if the data hasn't been published yet.
- Daily Brief: generated automatically after the FII/DII fetch (or by 9:15pm if FII data is still missing), from a template, with an optional AI rewrite pass that is fact-checked against the same numbers before publishing.
The site always serves the last good snapshot and mood score if a data source is temporarily unavailable, with a "Last updated" note rather than an empty page.
How the Daily Brief is made
Every brief starts as a template: the day's Nifty/Sensex/Bank Nifty moves, top and bottom sectors, FII/DII, VIX, breadth and Focus List counts are dropped into a fixed structure (What happened, Why, What it means for long-term investors, What to watch). If an AI rewrite is enabled, it may only polish the wording for clarity -- every number in the AI version is checked against the source data, and any banned word ("buy", "sell", "target price", "recommend", "should invest", "guaranteed") causes the system to fall back to the plain template version instead of publishing.
Limitations
- FII/DII history only exists from the site's launch day onward -- NSE's endpoint has no historical API.
- The Mood Index describes current sentiment; it does not predict future returns.
- Surcharge and most tax/regulatory nuances are out of scope for the free calculators elsewhere on the site.
Equilytics publishes market data and educational explanations. It is not registered with SEBI as an investment adviser or research analyst, and nothing on this site is a recommendation to buy or sell any security. Market investments carry risk.