Skip to content

Rate of Change Indicator

OVERVIEW

The Rate of Change (ROC) indicator is a momentum oscillator that quantifies the speed at which price is changing. It plots the percentage difference between the current closing price and the closing price N periods ago, oscillating above and below a zero line. Positive values mean price is higher than N periods ago (bullish momentum); negative values mean price is lower (bearish momentum). The magnitude of the reading reflects the strength of momentum, making ROC useful for trend confirmation, divergence detection, and overbought/oversold readings.

Reading Meaning
Positive ROC Price is higher than N periods ago — bullish momentum
Negative ROC Price is lower than N periods ago — bearish momentum
Magnitude Reflects the strength of momentum
Zero line cross Potential trend shift

Note

Unlike RSI (bounded 0–100), ROC is unbounded. It can theoretically range from −100 (price reaches zero) to infinity. Overbought and oversold thresholds are asset-specific — always compare ROC readings against the asset's own historical range.


FORMULA

ROC = ((Close_today − Close_N_periods_ago) / Close_N_periods_ago) × 100

The standard lookback is 12 periods for short-term momentum, 25 for medium-term, and 200 for long-term ("annual ROC" on daily charts). A 12-day ROC of +5.0 means today's close is 5.0% higher than the close 12 trading days ago. ROC is mathematically equivalent to a momentum oscillator divided by the lookback price — the price-percentage-change form makes readings comparable across assets at different price levels.

Unlike RSI, which is bounded between 0 and 100, ROC is unbounded — it can theoretically range from −100 (price went to zero) to infinity. This makes absolute thresholds asset-specific: a 12-day ROC of ±10 might be extreme for SPY but routine for a small-cap biotech.


WORKED EXAMPLE

META — October/November 2024

META closed at $568.30 on October 14, 2024. Twelve trading days earlier, on September 26, it closed at $568.61. The 12-day ROC:

ROC = (($568.30 − $568.61) / $568.61) × 100 = −0.05

Flat momentum — confirming META was in a consolidation. By November 1, 2024, META closed at $567.16 with the September 26 close 24 trading days back. The 25-day ROC for November 1: closes at $567.16 vs $521.31 on September 26 (using 25 trading days back) = +8.79. Strong positive momentum despite the sideways near-term action — the 25-day window captured the rally from the August low. The divergence between the 12-day (flat) and 25-day (+8.79) ROCs signaled a healthy trend digesting recent gains rather than topping.

Date Close ROC Type Value Interpretation
Oct 14, 2024 $568.30 12-day ROC −0.05 Flat — consolidation
Nov 1, 2024 $567.16 25-day ROC +8.79 Strong positive momentum

HOW TO USE

ROC is a workhorse momentum tool for:

Trend Confirmation

  • ROC above zero confirms an uptrend; below zero confirms a downtrend

Divergence Detection

  • Price making new highs while ROC makes lower highs flags weakening momentum — a classic early reversal signal

Cross-Asset Momentum Ranking

  • Rank equities or sectors by 12-month ROC to build relative-strength portfolios
  • This approach underpins the momentum factor in factor investing (12-1 month ROC)

Overbought / Oversold Reads

  • Extreme ROC readings flag momentum exhaustion
  • Pair extreme readings with mean-reversion entry strategies

Cycle Analysis

  • ROC peaks and troughs map the cyclical rhythm in commodities and macro assets
  • The Coppock Curve — a long-term buy-signal indicator for equity indexes — is a 10-month weighted moving average of the sum of the 14-month and 11-month ROCs

LIMITATIONS

Limitation Detail Mitigation
Whipsaws near zero ROC oscillates rapidly in choppy markets, producing false crossover signals Apply a moving average of ROC or set a minimum threshold before acting
No fixed bounds There is no universal overbought or oversold level Compare readings to the asset's own historical ROC range
Lookback sensitivity A large historical bar dropping out of the window can flip ROC from positive to negative Monitor which bar is rolling off the window alongside current readings
Different from Momentum indicator The Momentum oscillator outputs Close_today − Close_N_ago in price units; ROC normalizes by dividing through, making it comparable across assets —
Lagging ROC is a price derivative — it confirms what has already happened Combine with leading indicators for forward-looking context

Note

ROC is a confirmation tool, not a predictive one. It reflects momentum that has already occurred. Use it to validate signals generated by other methods rather than as a standalone entry trigger.