Skip to content

    Rate of Change (ROC) Indicator for Indian Markets

    Quick answer

    Learn the Rate of Change indicator with a real 10 day Nifty example, dated closes, divergence, best settings and a worked Bank Nifty options trade.

    19 June 2026
    16 min read
    3,067 words

    Key Takeaways

    • 1.Rate of Change (ROC) is a momentum oscillator. It measures the percentage gap between today's close and the close a fixed number of bars ago, so it tells you how fast price is moving, not just which way.
    • 2.The formula is ROC = ((Close today minus Close n bars ago) divided by Close n bars ago) times 100. A 10 day ROC on Nifty and a 12 or 14 day ROC on stocks are the most common Indian settings.
    • 3.ROC has no upper or lower bound, unlike RSI which is capped at 0 to 100. That makes the zero line and ROC divergence the two signals worth watching, not fixed overbought numbers.
    • 4.On Indian indices the cleanest use is the zero line crossover plus divergence, confirmed by a moving average. Used alone on Bank Nifty it whipsaws badly because of intraday gap risk.
    • 5.Acting on ROC through Nifty or Bank Nifty options means paying STT on the sell side, brokerage and GST. F&O gains are taxed as business income at your slab, not as capital gains. All numbers here are illustrative, never guaranteed.

    What the Rate of Change Indicator Actually Measures

    The Rate of Change (ROC) indicator answers a simple question that price alone cannot. Not where is price, but how fast is it getting there. It is a pure momentum oscillator built by comparing the current close to the close a set number of bars ago and expressing the gap as a percentage. If Nifty is climbing but each new day adds a smaller percentage than the last, ROC is falling even while price rises. That early loss of speed is the whole reason traders watch it.

    ROC plots on a separate panel below price and oscillates around a zero line. Above zero, price today is higher than it was n bars ago, so momentum is positive. Below zero, momentum is negative. Because there is no fixed ceiling or floor, ROC can read plus 8 percent on a sharp Bank Nifty rally and minus 6 percent in a crash, whereas RSI would simply sit pinned near its 70 or 30 extremes. This unbounded nature is ROC's strength for spotting acceleration and its weakness for defining overbought levels, which is why Indian traders pair it with other tools rather than trade it raw.

    ROC is closely related to Momentum and to the MACD family, but it normalises by the old price, so a 100 point move on Nifty at 18,000 and the same 100 points at 24,000 are correctly shown as different percentage moves. That makes ROC easy to compare across instruments of very different price, say Bank Nifty near 51,000 against a stock like Infosys near 1,500.

    The ROC Formula, Step by Step

    The calculation is short. ROC = ((Close today minus Close n periods ago) divided by Close n periods ago) multiplied by 100. The only choice you make is n, the lookback. A 10 period ROC on a daily chart compares today's close to the close ten trading sessions back. On Nifty and Bank Nifty, 10 days is the workhorse setting. On individual NSE stocks, 12 or 14 days smooths out single day noise from block deals and results.

    Worth stressing what n means in the Indian session calendar. Ten periods on a daily chart is ten trading days, so it skips weekends and exchange holidays like Diwali Muhurat sessions and Independence Day. On a weekly chart, n equal to 10 reaches back roughly two and a half months. On a 15 minute intraday chart of Bank Nifty, n equal to 10 only spans about two and a half hours of a 9:15 am to 3:30 pm session, so the same setting behaves completely differently depending on timeframe.

    Tip

    A common beginner error is reading ROC as the raw point change. It is always a percentage. A Nifty ROC of plus 4.2 means price is 4.2 percent higher than ten bars ago, not 4.2 points. Mixing up points and percent on a 24,000 level index is a 1,000 point sized mistake.

    A Real 10 Day ROC on Nifty 50 with Dated Closes

    Generic textbook examples like Rs 150 versus Rs 100 teach nothing about how the indicator behaves on a real index, because indices do not jump 50 percent in ten days. Here is a 10 day ROC worked on actual Nifty 50 daily closes from late 2023, when the index ran into year end. These are real dated closes rounded to the nearest point. Treat the levels as illustrative for learning the maths, not as a trade recommendation.

    Date (2023)Nifty 50 Close10 day prior close10 day ROC
    Dec 1320,92619,675 (Nov 29)plus 6.36 percent
    Dec 1421,18219,765 (Nov 30)plus 7.17 percent
    Dec 1521,45720,096 (Dec 01)plus 6.77 percent
    Dec 1821,41920,118 (Dec 04)plus 6.47 percent
    Dec 2020,90720,420 (Dec 06)plus 2.39 percent
    Dec 2121,25520,937 (Dec 07)plus 1.52 percent
    Dec 2821,77821,150 (Dec 13)plus 2.97 percent

    Read across the bottom of that run. From Dec 14 to Dec 21 the Nifty close kept making fresh highs, moving from 21,182 up toward 21,255 and beyond, yet the 10 day ROC collapsed from plus 7.17 percent to plus 1.52 percent. Price was still rising but the speed of the rise more than halved. That is textbook bearish divergence: higher highs in price, lower highs in momentum. It warned that the December melt up was running out of fuel even though nothing looked wrong on the price chart itself.

    To compute the Dec 14 figure yourself: close today 21,182, close ten trading days earlier (Nov 30) 19,765. ROC = ((21,182 minus 19,765) divided by 19,765) times 100 = (1,417 divided by 19,765) times 100 = plus 7.17 percent. Notice ROC stayed positive throughout because price never fell below its ten day old level. A zero line cross would only have come if Nifty had given back the entire ten day gain, which it did not in this window.

    Reading the Zero Line and Divergence

    On indices, the two ROC signals that actually carry information are the zero line crossover and divergence. A move from below zero to above zero says the index is now higher than it was n bars ago for the first time in a while, which often marks the turn from a pullback back into an uptrend. A drop from above zero to below zero is the mirror image and frequently precedes a deeper correction. The Dec 2023 example above never crossed zero, which is itself useful information: the trend stayed intact, only its speed faded.

    • Bullish zero line cross: ROC moves from negative to positive, confirming price has reclaimed its n bar old level. Stronger when volume rises with it.
    • Bearish zero line cross: ROC moves from positive to negative, a momentum failure that often leads price lower a few sessions later.
    • Bullish divergence: price makes a lower low but ROC makes a higher low. Selling is losing steam, watch for a bounce.
    • Bearish divergence: price makes a higher high but ROC makes a lower high, exactly the Dec 14 to Dec 21 Nifty pattern shown above.

    Divergence is a warning, not a trigger. The Nifty kept grinding higher into Dec 28 even after ROC had weakened, then corrected in January 2024. A trader who shorted purely on the Dec 21 divergence with no price confirmation would have sat through more upside first. The lesson is to wait for price to confirm, for instance a close back below a short moving average, before acting on what ROC is hinting.

    Choosing the ROC Period for Indian Instruments

    The lookback length is the single biggest driver of how ROC behaves. Shorter periods react faster and whipsaw more. Longer periods are smoother but lag. There is no universally best number, only one suited to the instrument and your holding period. The table below reflects what works reasonably on Indian markets, where index futures and options dominate volume and weekly expiries create regular Tuesday volatility.

    Instrument and styleSuggested ROC periodWhy
    Nifty 50 positional, daily chart10 daysBalances responsiveness with stability, the classic setting
    Bank Nifty swing, daily chart9 to 10 daysBank Nifty is more volatile, a slightly shorter look catches turns sooner
    Liquid NSE stock swing (Reliance, TCS)12 to 14 daysFilters single day spikes from results, block deals and news
    Index intraday, 15 minute chart9 to 14 barsRoughly two to three and a half hours of momentum context
    Long term trend on Nifty, weekly chart12 to 26 weeksSmooths out monthly noise for position trades

    A practical tip for Bank Nifty: because it opens with frequent gaps driven by overnight US moves and banking news, a 10 day ROC on the daily chart will sometimes leap or plunge on a single gap day even if the index then does nothing. Pairing it with a 20 day moving average filter, only taking ROC signals that agree with the moving average slope, removes a large share of those false starts.

    A Worked Bank Nifty Options Trade Driven by ROC

    Suppose it is a Tuesday and Bank Nifty is at 51,000. Your 10 day ROC has just crossed back above zero after a pullback and the 20 day moving average is sloping up, so momentum and trend agree on the upside. You decide to express this with a monthly call option rather than risk the full Bank Nifty futures margin. All figures below are illustrative and assume the current Bank Nifty lot size of 30.

    • Trade: buy 1 lot of the Bank Nifty 51,000 CE (at the money), monthly expiry on the last Tuesday. Lot size 30.
    • Entry premium: 350 per share. Cost = 350 times 15 = Rs 5,250 plus charges. This premium is your maximum loss if the call expires worthless.
    • ROC plays out: over two sessions Bank Nifty rallies to 51,800 as momentum holds. The call rises to 720 per share.
    • Exit premium: 720. Gross proceeds = 720 times 15 = Rs 10,800.

    Gross profit before costs is (720 minus 350) times 15 = Rs 5,550. Now the real world charges, which beginners forget. STT on options is charged at 0.1 percent on the sell side premium value (the rate that applies after the Oct 2024 revision), so STT = 0.1 percent of 10,800 = about Rs 10.80. Add a flat discount broker fee of roughly Rs 20 per order each way, plus exchange transaction charges, SEBI fees and 18 percent GST on brokerage and exchange charges, plus tiny stamp duty on the buy. Across both legs total charges land in the region of Rs 70 to Rs 110 depending on your broker.

    Taking Rs 90 of total charges, the net profit is roughly Rs 5,550 minus Rs 90 = about Rs 5,460 on a Rs 5,250 outlay over two days. That is a strong percentage return precisely because options gear up momentum, but the same gearing cuts the other way. Had the ROC signal failed and Bank Nifty drifted, time decay (theta) on a near expiry option could have shaved the 350 premium toward 150 in two or three sessions even with the index barely moving, a roughly Rs 3,000 loss. Momentum signals like ROC do not protect you from theta. This is why traders cap option premium risk at a small slice of capital.

    Tax and expiry reality

    Profit from this Bank Nifty options trade is treated as business income from F&O, not capital gains. It is added to your total income and taxed at your slab rate, and you may need a tax audit if turnover and profit thresholds are crossed. Weekly index options also expire on a fixed weekday, so an ROC signal late in the week leaves very little time for the move to play out before expiry. Confirm the current weekly expiry day and contract specs on the NSE website before you trade.

    Combining ROC with Moving Averages and RSI

    ROC on its own generates too many signals in a choppy, range bound Nifty. The fix is confirmation. The most reliable Indian setup is ROC for the momentum read, a moving average for trend direction, and optionally RSI to gauge whether the move is already stretched. When all three agree, the signal is worth more than the sum of its parts. When they disagree, you stand aside, which is often the most profitable decision a trader makes.

    • ROC plus 20 day moving average: only take a bullish ROC zero cross when price is also above its rising 20 day average. This single filter kills most counter trend whipsaws on Bank Nifty.
    • ROC plus RSI: if ROC turns up from below zero while RSI is near 30, momentum is reviving from an oversold base, a higher quality long than ROC alone.
    • ROC plus volume: a zero line cross backed by above average NSE volume is far more trustworthy than one on thin holiday week turnover.
    • ROC divergence plus candlestick reversal: bearish ROC divergence that lines up with a shooting star or bearish engulfing near resistance is a classic exit or short trigger.

    Notice these combinations all use ROC for what it does best, measuring the speed of a move, and lean on other tools for what ROC does poorly, namely defining overbought zones and confirming direction. A momentum indicator should never be your only input on an index as headline sensitive as Nifty, where an RBI policy line or a US Fed decision can flip momentum in a single session.

    Limitations and Common Mistakes

    ROC is sensitive by design, and that sensitivity is its biggest flaw. In a sideways Nifty that oscillates in a 400 point band for weeks, the 10 day ROC will cross zero repeatedly, firing buy and sell signals that all fail. Every false zero cross in an options strategy costs you premium and charges, so a string of them quietly bleeds the account even though no single loss looks big. ROC works in trends and fails in ranges, and knowing which regime you are in matters more than the indicator itself.

    • Treating divergence as an instant reversal. It is an early warning that can persist for many sessions, as the Dec 2023 Nifty case showed.
    • Using the same n across timeframes. Ten bars on a daily chart and ten bars on a 5 minute chart are completely different animals.
    • Ignoring gaps. A single overnight gap on Bank Nifty can swing the daily ROC sharply without any real intraday trend.
    • Forgetting costs. On weekly options, STT on the sell side, brokerage, GST and theta decay can turn a marginal ROC winner into a net loss.
    • Over optimising the period on past data. A setting that looks perfect on last year's Nifty often fails next quarter.

    Finally, remember the SEBI context for retail F&O traders. Studies the regulator has published show the large majority of individual index option traders lose money over a year, and momentum indicators do not change that base rate on their own. ROC is a lens for reading speed, not an edge by itself. Strict position sizing, defined stop losses and respecting expiry timing matter far more to survival than any indicator setting.

    Sources and Further Reading

    For authoritative data and current contract specifications, refer to NSE India, Zerodha Varsity and Investopedia. Always confirm current STT rates, lot sizes, expiry days and tax rules on the official source before you trade, since these change. Pair this with our guides on the RSI indicator and risk management.

    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

    Rate of ChangeROC IndicatorIndian Stock MarketNSEBSETechnical Analysis

    Related Articles

    OneTradeJournal

    The trading journal built for Indian F&O traders. Track your trades, spot patterns, build discipline.

    • Log one trade a day by hand, on purpose
    • AI mentor finds your repeat mistakes
    • Behavioural analytics catch tilt early
    • Trading calendar with P&L heatmap
    • Pre-trade checklist flags risks
    Start journaling

    Yearly ₹2,499 · No broker credentials