Skip to content
Caelion

Method · data to Thursday 15 October 2026

How every numberis made.

The Observatory publishes readings computed by fixed rules from dated public data. This page lists every rule, the data behind it, what it cannot tell you, and every change to the method.

Principles

Six rules the Observatory keeps

01

Dated, never relabelled

Every figure carries the session it was observed on. A stored close is shown as stored, never as live.

02

Computed, not generated

Every sentence is assembled from the numbers it describes by fixed rules. No language model writes a reading.

03

Point in time

A week's reading uses only closes on or before that week. Nothing later leaks into an earlier frame.

04

Compared with itself

Readings are placed in their own history, as percentiles over a stated window, rather than against folk thresholds.

05

Gaps stay gaps

A failed feed shows as unavailable. Nothing is interpolated, filled forward or estimated.

06

Descriptive, never advice

The Observatory says where markets are and what history shows. It never says what to buy, sell or hold.

Every reading

Each reading, defined once

What each reading is, exactly how it is computed, the window it uses, and what it cannot tell you. The field guide explains the same readings in plain language.

Stocks

AltitudeSkyBriefingLens

How far a close sits above or below the average of the 200 sessions before it.

How(close ÷ average of the preceding 200 daily closes − 1) × 100. The close being measured is not part of its own average.

Window200 sessions, about ten months of trading.

LimitA trend reading, not a valuation. A stock can stay above or below its average for a long time.

50-day altitudeBriefingLens

The same distance, measured from the average of the 50 sessions before the close.

How(close ÷ average of the preceding 50 daily closes − 1) × 100, the close excluded.

Window50 sessions, about ten weeks.

BreadthSkyBriefingLog

The share of stocks whose close is above their own 200-day average.

HowStocks with altitude above zero ÷ stocks with a reading, in percent. A quote more than four days older than the session is left out, never carried forward. The breadth condition counts the Nifty 500; the sky, the log and the lists also give it for every NSE stock observed.

WindowEvery stock with 200 sessions of history.

LimitIndex memberships are today's, applied to past weeks, so stocks that left an index are missing from its past (survivorship).

The universeSkyLensMethod

Every NSE mainboard stock in the EQ and BE series with a year of closes, plus every index member.

HowNSE's equity list gives the listings; niftyindices.com the index memberships and official sectors. A stock outside every index gets its sector from its Yahoo industry, mapped to the NSE sector most index members with that industry belong to; with no match it is Unclassified and left out of sector readings.

WindowRebuilt with every snapshot.

LimitBE-series stocks trade for delivery only and can be thinly traded; each stock page shows its median traded value.

Distance from the 52-week highBriefingLens

How far a close sits below the highest close of the past year.

How(close ÷ highest close of the last 252 sessions − 1) × 100. A listing younger than a year uses every session so far.

Window252 sessions.

New 52-week high or lowSkyBriefingLog

A stock that closed at its highest (or lowest) level of the past year during the week.

HowAny close in the week at or above the highest, or at or below the lowest, of its own last 252 closes.

WindowNeeds a full 252 sessions of history; weeks before that have no reading, which is not the same as zero.

CrossingBriefingLog

A stock whose close moved from one side of its average to the other during the week.

HowCrossed up: altitude at or below zero last week and above zero this week. Crossed down: the reverse. Counted for the 200-day and 50-day averages separately.

WindowOne week, from one weekly reading to the next.

LeadersBriefingSkyLog

Stocks above both their 50-day and 200-day averages and within 5% of their 52-week high.

How50-day altitude > 0, 200-day altitude > 0 and distance from the 52-week high > −5%. Listed closest to the high first.

WindowRecomputed every week.

LimitA description of where prices sit, not a list of stocks to buy.

Turning and breakingBriefing

Turning: crossed above its 50-day average this week. Breaking: crossed below its 200-day average this week.

HowThe crossing rule applied to the 50-day (turning) and 200-day (breaking) altitudes.

WindowOne week.

Conditions

Index trendBriefingSky

Whether the Nifty 50 is above its own 200-day average.

HowNifty 50 altitude, as defined for stocks. The condition holds above zero.

Window200 sessions.

Fear percentileBriefingSky

Where India VIX sits within its own history up to that week, from 0 (calmest) to 100.

HowShare of India VIX closes up to the week that are below the week's close. The condition holds below 70.

WindowEvery VIX close since October 2021 up to the week; at least 60 closes.

LimitVIX measures expected movement in either direction. It does not say which way.

DepthBriefingAlmanac

How far the Nifty 50 sits below its highest close.

How(close ÷ highest close since October 2016 − 1) × 100. The condition holds above −10%.

WindowThe whole Nifty 50 history held, from October 2016.

One-month momentumBriefing

The Nifty 50's change over the last month.

How(close ÷ last close on or before 30 calendar days earlier − 1) × 100. The condition holds above zero.

Window30 calendar days.

Conditions scoreBriefingSkyLog

How many of the five conditions hold: index trend, breadth of at least 50%, fear below 70, depth above −10% and positive momentum.

HowOne point per condition. 4 or 5 is labelled Risk-on, 2 or 3 Mixed, 0 or 1 Risk-off. A week with any condition unreadable has no score.

WindowEach condition's own window, read the same week.

LimitA fixed description of conditions, chosen in advance. It is not a forecast, a signal or advice.

Distance to flipBriefingSky

How far each condition's reading is from the line that decides it.

HowIndex points to the 200-day average, the record-less-10% level and the close a month ago; stocks to the 50% breadth line; VIX points to its 70th percentile.

WindowThe selected week.

LimitWhere the lines sit, not a prediction of whether they will be crossed.

Rotation

Sector rotationConstellationsSkyLog

Each sector's trend and momentum relative to every stock observed, drawn as an orbit.

HowAn equal-weight sector index (weekly returns capped at ±25%) is divided by the same index over the universe. Across: its 6-week smoothed ratio against its 13-week average. Up: the smoothed four-week slope of that. Quadrants: Leading (both up), Weakening, Lagging, Improving.

WindowWeekly closes; sectors with at least five members.

LimitSmoothing delays turns by a few weeks; it is what keeps the trails readable.

Correlation weatherConstellationsBriefing

How much Nifty 100 stocks have moved together recently.

HowAverage pairwise Pearson correlation of weekly log returns among Nifty 100 members with a full window. The map links each stock to its closest neighbour (a minimum spanning tree on √(2(1 − ρ))).

Window26 weeks, recomputed every four weeks.

History

A fallAlmanacLaboratorySky

A decline of 10% or more from a record close, followed until the index closes at or above that record again.

HowPeak: the record close before the decline. Trough: the lowest close before recovery. Recovery: the first close at or above the peak. Durations are calendar days.

WindowNifty 50 daily closes from October 2016.

Month returnAlmanacLaboratory

The Nifty 50's change from one month's last close to the next month's last close.

How(last close of the month ÷ last close of the previous month − 1) × 100. The current month is marked as partial.

WindowEvery month since November 2016.

Instruments

WeekSkyBriefingLog

Each week is read at its last trading session; the newest week is read at the latest session.

HowThe last trading session of each calendar week (Monday to Sunday). The final week can be partial, read at the latest close.

Window52 weeks in the time machine; the log keeps every week it has written.

Time machineSkyBriefingConstellations

One control that moves every room to any of the last 52 weeks.

HowEach week is computed only from closes on or before that week's session. Play runs a guided replay that pauses on notable weeks.

Window52 weekly frames.

MeteorsSky

The week's new 52-week highs rise as sparks and its new lows fall as shooting stars.

HowOne meteor per stock flagged by the 52-week extreme rule that week.

WindowThe selected week.

SpectrumSky

How every stock observed is spread by altitude, in 5% bins.

HowCount of stocks per 5-point altitude bin; the outermost bins collect everything beyond them.

WindowThe selected week.

Point in time

What each week was allowed to know

Every past week is computed as it stood that week. Its averages, highs, lows and percentiles use only closes on or before that week's last session. The fear percentile, for example, ranks a week's VIX close only among the closes that existed by then.

An average never contains the close it is measured against. The 200-day line for a session is the mean of the 200 closes before it, so the line is known before the session opens.

Weeks are calendar weeks. A week is read at its last trading session; the newest week is read at the latest close and may be partial. Shared links name a week by that session's date.

One exception is stated, not hidden: membership. The universe is today's NSE listings and today's index lists, applied to every past week, because historical lists are not published in a form this site can collect. Section 05 describes the effect.

Every room reads the same weekly frames, so a week's breadth, leaders and crossings agree wherever they appear. Tests assert this.

Sources

Where the observations come from

Collected 15 October 2026 at 8:47 pm IST for the session of 15 Oct 2026. Membership as of 15 Oct 2026.
  • The universe2,575 NSE mainboard listings in the EQ and BE series; 377 left out for lacking a year of closes or a recent close. Sectors: 1,801 mapped from Yahoo industries, 26 unclassified.● 2,200 stocks observed
  • Prices and historiesYahoo Finance chart endpoint: split- and dividend-adjusted daily closes for every stock and market. NSE's official bhavcopy (through NSE's MCP server) gives each stock's latest close and overrides Yahoo's where they differ.● 2,200 stocks · 23 markets
  • Nifty 50 membershipwww.niftyindices.com/IndexConstituent/ind_nifty50list.csv● 50 · OK
  • Large caps · Nifty 100 membershipwww.niftyindices.com/IndexConstituent/ind_nifty100list.csv● 100 · OK
  • Nifty 200 membershipwww.niftyindices.com/IndexConstituent/ind_nifty200list.csv● 200 · OK
  • Midcap 150 membershipwww.niftyindices.com/IndexConstituent/ind_niftymidcap150list.csv● 150 · OK
  • Smallcap 250 membershipwww.niftyindices.com/IndexConstituent/ind_niftysmallcap250list.csv● 250 · OK
  • Nifty 500 membershipwww.niftyindices.com/IndexConstituent/ind_nifty500list.csv● 500 · OK
  • Microcap 250 membershipwww.niftyindices.com/IndexConstituent/ind_niftymicrocap250_list.csv● 251 · OK
  • Nifty Total Market membershipwww.niftyindices.com/IndexConstituent/ind_niftytotalmarket_list.csv● 751 · OK
  • NSE equity listarchives.nseindia.com/content/equities/EQUITY_L.csv● 2575 · OK
  • NSE bhavcopy (official closes)mcp.nseindia.in/bhavcopy/cm/mcp● 2577 · 2026-10-15
  • Yahoo industries (mapped to NSE sectors)query2.finance.yahoo.com/v1/finance/search● 1801 · OK
  • NSE index snapshotwww.nseindia.com/api/allIndices● 139 · 15-Oct-2026 15:30
  • Institutional cash flowswww.nseindia.com/api/fiidiiTradeReact● 15-Oct-2026
  • Participant index-futures OIarchives.nseindia.com/content/nsccl/fao_participant_oi_15102026.csv● 2026-10-15
  • RBI policy ratewww.rbi.org.in/● OK

Not retrieved this snapshot: BAGMANE. They are left out of breadth and every screen.

Known limits

What the data cannot do

Survivorship
Every reading applies today's listings and index memberships to the past. Stocks that were delisted, or left an index, are missing from earlier weeks, which tends to flatter past breadth.
Mapped sectors
A stock outside every index takes the NSE sector most index members with its Yahoo industry belong to. The vote is usually lopsided, but a few stocks will sit in a different sector than NSE's own classification would give them.
Thin trading
The universe includes small and trade-for-trade (BE series) stocks that can trade little. Their closes are real but can move on small volumes; each stock page shows its median traded value.
History depth
Stock histories cover two years of daily closes, so breadth runs back one year after the 200-session warm-up. The Nifty 50 runs from October 2016; India VIX and the other markets from October 2021.
Adjusted closes
Prices are split- and dividend-adjusted by the provider. An adjustment can revise past closes slightly between snapshots.
Holidays and hours
The session clock in the header models regular hours only, not exchange holidays.
Feeds
Sources are public or unofficial endpoints without uptime guarantees. Using them implies no redistribution licence; the Observatory publishes derived readings, not price feeds.
Small samples
Much of what markets do is rare. Every laboratory result states how many independent cases it rests on; a handful of cases describes history and predicts nothing.
Change log

Every change to the method

Newest first. A change that moved a published number says by how much.
  1. Every NSE stock, and the exchange's own closes

    The universe grew from the Nifty 500 (499 stocks) to every NSE mainboard stock in the EQ and BE series with a year of closes, plus every index member. The breadth condition still counts the Nifty 500, so its history is unchanged in meaning; lists, the sky, crossings and extremes now cover every stock. The latest close of each stock now comes from NSE's official bhavcopy. The observation log was rewritten for the wider universe before the site opened to the public.

  2. Weeks are read at the last session of each calendar week

    Weeks were previously every fifth session counted back from the latest one, so each new session shifted every past week's date. Now a week is its last trading session (Monday to Sunday), the newest week is read at the latest close, and a past week keeps its date for good.

  3. Research and education only

    The highlights for one portfolio and every feature built on them were removed. Every page now carries the same statement: the Observatory describes market data and is not investment advice.

  4. Readings keep two decimals before any threshold test

    Weekly readings had been stored to one decimal, so a stock 4.98% below its 52-week high was stored as 5.0% and failed the leaders' within-5% test. Two rooms counted 36 and 32 leaders for the same week. Readings now keep the snapshot's two decimals, and a test asserts the rooms agree.

  5. 52-week high for young listings

    A stock listed less than a year ago measures its distance from the high against every session so far, as the snapshot does. Its new-high and new-low flags still wait for a full year of closes.

  6. First snapshot

    Nifty 500 membership and two years of daily closes per stock; Nifty 50 closes from October 2016; India VIX and 21 other indices, commodities and currencies from October 2021. Weekly readings for every stock are computed from those daily closes.

Use of this site

Research and education only

The Observatory describes market data. Nothing on it is investment advice, a research report, or a recommendation or offer to buy, sell or hold any security.

Labels such as Risk-on, Mixed and Risk-off count how many fixed conditions hold; they are not forecasts. Lists of stocks are the output of stated screens on past prices, not selections. Laboratory results describe what followed similar readings in the past, with their sample sizes; past patterns do not predict future returns.

Data can be late, revised or wrong. Check any figure against the exchange before relying on it, and consult a SEBI-registered investment adviser before making an investment decision.

Questions or corrections: research.caelioncapital@gmail.com