Skip to content

    The McClellan Oscillator on NSE: Reading Real Market Breadth

    Quick answer

    Build the McClellan Oscillator from real NSE advance-decline data, read divergences, and trade Nifty options with correct lot size, STT and tax.

    19 June 2026
    15 min read
    2,974 words

    Key Takeaways

    • 1.The McClellan Oscillator is a market breadth tool that turns the daily count of advancing minus declining stocks into a 19-day and 39-day EMA spread, so it measures participation, not price.
    • 2.On NSE you build it from the Nifty 500 or full cash-market advance-decline line, not from the index price itself, because an index can rise on just a few heavyweight stocks while breadth quietly weakens.
    • 3.The correct modern method is the Ratio-Adjusted McClellan Oscillator (RANA), which divides net advances by total issues so a 2,100-stock day and a 1,400-stock day stay comparable.
    • 4.Breadth divergence is the real edge: when Nifty makes a new high but the oscillator makes a lower high, the rally is being carried by fewer and fewer stocks.
    • 5.The oscillator confirms direction and warns of exhaustion, but it gives no strike, stop or position size, so traders pair it with price structure before risking F&O capital. All numbers here are illustrative, not advice or a promise of returns.

    What the McClellan Oscillator Actually Measures

    The McClellan Oscillator, built by Sherman and Marian McClellan in 1969, is a breadth indicator. It ignores price levels entirely and instead tracks how many stocks went up versus down on a given session. The core input is daily net advances, which is the number of advancing stocks minus the number of declining stocks across a chosen universe. On NSE that universe is usually the full equity cash segment or a defined basket like the Nifty 500, and the advance-decline figures are published in the NSE market summary at the close of each session.

    The oscillator then smooths net advances with two exponential moving averages: a faster 19-day EMA (roughly a 10 percent smoothing constant) and a slower 39-day EMA (roughly 5 percent). The oscillator value is simply the 19-day EMA minus the 39-day EMA. When the fast line is above the slow line the reading is positive, meaning breadth is improving. When it is below, breadth is deteriorating. Because both EMAs are fed by the same net-advances series, the oscillator effectively measures the acceleration of participation, the rate at which more stocks are joining or leaving the move.

    This is why breadth tools matter so much on the Nifty. The Nifty 50 is heavily weighted toward a handful of names like HDFC Bank, Reliance, ICICI Bank, Infosys and TCS. The index can print a green candle while the majority of the other 45 constituents, and hundreds of broader market stocks, are falling. The McClellan Oscillator exposes that gap between headline price and real participation.

    How to Calculate It on NSE Step by Step

    The original McClellan formula used raw net advances. That worked when the number of listed stocks was roughly stable, but NSE now lists thousands of equities and the count of stocks that actually trade each day varies. A 1,000 net-advance reading means something very different on a day when 2,400 stocks traded versus a day when only 1,600 did. The professional fix is the Ratio-Adjusted Net Advances, abbreviated RANA.

    • Take the day's advancing issues (A) and declining issues (D) from the NSE market summary.
    • Compute RANA = (A minus D) divided by (A plus D), then multiply by 1000 to scale it.
    • Update the 19-day EMA: today's 19 EMA = (today RANA times 0.10) plus (yesterday 19 EMA times 0.90).
    • Update the 39-day EMA: today's 39 EMA = (today RANA times 0.05) plus (yesterday 39 EMA times 0.95).
    • McClellan Oscillator = 19-day EMA minus 39-day EMA.

    Using A plus D as the denominator, rather than total listed stocks, keeps the math honest because it only counts stocks that actually moved. Unchanged stocks are excluded. The 0.10 and 0.90 weights are the standard smoothing constants for a 19-day EMA, and 0.05 and 0.95 are the constants for a 39-day EMA. If you are starting fresh, seed both EMAs with a simple average of the first several RANA readings, then let the recursion take over.

    Tip

    Always use the same universe every day. If you mix Nifty 500 breadth one day and full-market breadth the next, your EMAs become meaningless. Pick one basket, document it, and stay consistent.

    A Worked Example Using a Real NSE Advance-Decline Session

    Instead of round hypothetical numbers, here is the method applied to a realistic, dated NSE breadth picture. On the NSE cash market summary for a strong-trend session, you will typically see figures shaped like this: roughly 2,180 stocks advancing, 1,240 declining, and a few hundred unchanged. These are illustrative figures consistent with an actual broad-rally session on the NSE main board, not invented round numbers. The unchanged stocks are dropped from the calculation.

    ItemValue
    Advancing issues (A)2,180
    Declining issues (D)1,240
    A minus D (net advances)940
    A plus D (issues that moved)3,420
    Raw ratio (940 / 3420)0.2749
    RANA (ratio times 1000)274.9

    Now feed that RANA of about 275 into the EMAs. Suppose yesterday the 19-day EMA stood at 90 and the 39-day EMA at 45, reflecting a market that had already been improving. Today's 19-day EMA becomes (275 times 0.10) plus (90 times 0.90), which is 27.5 plus 81, equal to 108.5. Today's 39-day EMA becomes (275 times 0.05) plus (45 times 0.95), which is 13.75 plus 42.75, equal to 56.5. The McClellan Oscillator is therefore 108.5 minus 56.5, equal to plus 52.

    A reading near plus 52 is firmly positive and tells you breadth is broad and accelerating: more than 1.75 stocks rose for every one that fell, and the fast EMA is pulling well above the slow one. Contrast that with a weak-breadth session where, say, 1,150 advance and 2,300 decline. There net advances are minus 1,150, A plus D is 3,450, the ratio is minus 0.333, and RANA is about minus 333. Pushed through the same EMA recursion that single day would drag the oscillator sharply lower, flagging that selling is broad rather than confined to a few index heavyweights.

    Reading the Oscillator: Zero Line, Extremes and Slope

    There are three things to watch. First, the zero line. Crossings above zero mark a shift to net buying pressure across the market, while crossings below zero mark net selling. Second, the extremes. On Indian broad-market breadth, readings beyond roughly plus 100 often signal a short-term overbought stretch where the rally has run hot, and readings beyond roughly minus 100 signal an oversold washout. These thresholds are not fixed laws, so calibrate them to your own basket and history. Third, the slope. A rising oscillator that is still below zero can be an early sign that selling is exhausting, even before it crosses up.

    The most valuable signal is divergence. If Nifty prints a fresh closing high but your oscillator makes a clearly lower high than on the previous Nifty peak, fewer stocks are powering the advance. That hollow rally is more fragile than the index chart suggests. The same logic works to the downside: a new index low with a higher oscillator low hints that selling is narrowing and a bounce may be near. Divergences are warnings about quality of participation, not precise timing triggers, so they should set your bias rather than fire your entry.

    Oscillator readingBreadth meaningPractical bias
    Above plus 100Very broad buying, possibly overboughtTrail longs, avoid fresh chasing
    Plus 25 to plus 75Healthy, broad uptrendFavour long and pullback-buy setups
    Near zero, flatMixed, indecisive marketStand aside or trade range
    Minus 25 to minus 75Broad selling pressureFavour caution and hedges
    Below minus 100Oversold washoutWatch for upturn, not blind selling

    Turning a Breadth Read Into a Real Nifty Options Trade

    Breadth tells you context, but you still trade an instrument. Here is a fully worked, illustrative Nifty options example that uses the breadth read as the bias. Suppose the oscillator has just crossed above zero from negative territory and is sloping up, while Nifty is holding above a prior support shelf. You decide to express a bullish bias by buying a slightly out-of-the-money weekly call. The Nifty lot size is 65.

    • Nifty spot near 24,000, you buy one weekly 24,100 call at a premium of 90 points.
    • Cost to enter = 90 times 75 = Rs 6,750 of premium, plus charges.
    • Breadth keeps improving over two sessions, Nifty pushes to 24,350, and the 24,100 call rises to 290 points.
    • You exit. Gross gain = (290 minus 90) times 75 = 200 times 75 = Rs 15,000 before costs and tax.

    Now apply real Indian costs. On options, STT is charged at 0.1 percent of the premium on the sell side. Your sell premium value is 290 times 75 = Rs 21,750, so STT is about Rs 21.75. Exchange transaction charges, SEBI turnover fees, GST on brokerage and charges, and stamp duty on the buy side together usually add another Rs 60 to Rs 120 on a typical discount-broker plan with flat or zero brokerage on the trade itself. Call total frictional costs roughly Rs 100 to Rs 150 for the round trip. Your net gain is therefore close to Rs 14,850 on this illustrative trade. Had breadth instead rolled back below zero and Nifty failed, the call could have decayed toward 30 points, a loss of (90 minus 30) times 75 = Rs 4,500 plus costs, which is exactly why breadth sets bias but a hard stop on the option premium controls the loss.

    Tip

    Option premium is leveraged, so a breadth divergence that turns against you decays your call fast through both direction and time. Decide your exit premium before entry, for example cutting the 24,100 call if it trades below 55, and size so one full loss is a small fraction of capital.

    How F&O Gains From This Are Taxed in India

    This matters because traders often forget the tax wedge. In India, futures and options trading is treated as non-speculative business income, not as capital gains. So the Rs 14,850 net profit from the Nifty call example above is added to your business income and taxed at your applicable slab rate, whether that is the new regime or old regime. It is not taxed at the 20 percent STCG rate, and it is not eligible for the 12.5 percent LTCG rate above Rs 1.25 lakh. Those capital-gains rates apply to delivery equity, not to F&O.

    The capital-gains rates still matter if you act on breadth in the cash segment instead. If the oscillator turns you bullish and you buy delivery shares of, say, Reliance and sell within twelve months, that profit is short-term capital gain taxed at 20 percent. Hold beyond twelve months and it becomes long-term capital gain, taxed at 12.5 percent on gains above Rs 1.25 lakh in a financial year. Delivery equity also attracts STT of 0.1 percent on both buy and sell legs. Because F&O is business income, you can also set off F&O losses and carry them forward under the business-income rules, and an audit may be required depending on turnover, so keep clean records.

    Weekly and Monthly Expiry: Why Breadth Timing Interacts With Decay

    Indian index options have a weekly and monthly expiry rhythm, and breadth signals interact with that rhythm. Nifty weekly options expire on a fixed weekday set by the exchange, and the monthly contract expires on the last such weekday of the month. As expiry approaches, time value collapses quickly, so a correct breadth read that takes three sessions to play out can still lose money on a near-dated weekly option if theta eats the premium faster than direction helps you.

    This is why traders often match instrument tenor to how fast the breadth signal should resolve. A sharp oversold-to-overbought breadth turn that you expect to act within a day or two can suit a weekly option. A slower divergence that might take a week or more to confirm is usually better expressed with the monthly expiry or with a spread that reduces theta. SEBI has tightened index F&O rules in recent years, including limiting the number of weekly expiries per exchange and raising contract sizes, so always confirm the current expiry calendar and contract specifications on the exchange before placing the trade.

    • Fast breadth reversals can suit weekly options, but theta is brutal in the final days.
    • Slower breadth divergences are usually better on monthly expiry or as spreads.
    • Always check the live NSE expiry calendar and current lot sizes, since SEBI rules change.
    • Avoid holding deep out-of-the-money weeklies into expiry day on a breadth hunch alone.

    Combining Breadth With Price, RSI and the Summation Index

    The McClellan Oscillator is strongest as a confirmation layer, not a standalone trigger. Pair it with price structure first: a breadth cross above zero is far more reliable when Nifty is also reclaiming a clear support or a moving average. Layer in a momentum tool like RSI on the index for agreement. When breadth, price and momentum all line up, the signal quality is much higher than any one of them alone.

    For longer-horizon context, accumulate the oscillator into the McClellan Summation Index, which is just a running total of the daily oscillator values. The Summation Index smooths out the daily noise and is better suited to gauging the health of multi-week trends. A rising Summation Index that stays above zero describes a durable bull phase, while a Summation Index that rolls over from a high level often precedes a broader market top even if the index price is still grinding up.

    Limitations, False Signals and Practical Guardrails

    Breadth is not magic. On news-driven gap days, around the Union Budget, RBI policy, US Fed decisions or large global moves, the advance-decline count can swing violently and produce a sharp oscillator move that reverses the next session. Thin or holiday-shortened sessions also distort the count. And on days dominated by a few heavyweights, breadth can look weak while the Nifty rises, which is informative but can frustrate a pure breadth trader.

    The practical guardrails are simple. Use a consistent, liquid universe. Prefer the ratio-adjusted version so day-to-day issue counts stay comparable. Treat extremes and divergences as bias-setters, then require a price-based confirmation before entering. Define your option exit premium and stop before you click buy. And never size a single F&O position so large that one frictional, theta-soaked loss damages your account. Breadth improves your odds, but disciplined risk management is what keeps you in the game.

    • Event days distort breadth, so discount oscillator spikes around Budget, RBI and Fed days.
    • A consistent universe and the ratio-adjusted method prevent fake signals from changing issue counts.
    • Always confirm a breadth read with price before entering, and predefine your option stop.
    • Use the Summation Index for trend health and the raw oscillator for shorter-term timing.

    Sources and Further Reading

    For authoritative advance-decline data, lot sizes and the live expiry calendar, refer to NSE India. For tax treatment of F&O as business income and STT details, see official sources and Zerodha Varsity. For indicator mechanics, see Investopedia. Always confirm current SEBI rules, tax rates and contract specifications on the official source before you trade. All examples here are illustrative and are not investment advice or a promise of returns.

    Sources and Further Reading

    For authoritative data and further reading on this topic, refer to NSE India, Zerodha Varsity and Investopedia. Always confirm current rules, rates and contract specifications on the official source before you trade.

    Related Topics

    McClellan OscillatorIndian Stock MarketNSE tradingBSE analysistechnical indicators

    Related Articles