Skip to Main Content

Technical Analysis

Rate of Change (ROC)

The Rate of Change (ROC) is a momentum indicator that measures the percentage change between the current close and the close a set number of periods earlier.
Also Called
  • ROC
  • Price Rate of Change
  • PROC
  • ROC Oscillator
By InsiderFinance TeamUpdated Sources & Methodology

A 12-Period ROC Diverging From Price, Then Crossing Zero

A 12-Period ROC Diverging From Price, Then Crossing ZeroROC (12) % on its −10 to +30 scale, aligned with the price bars.Price$48$50$52$54ROC (12) %−100+10+20+302468101214Bar →
A 12-Period ROC Diverging From Price, Then Crossing ZeroROC (12) % on its −10 to +30 scale, aligned with the price bars.Price$48$50$52$54ROC (12) %−100+10+20+302468101214Bar →
PriceROC (12) %Reference ±10
Price rises from the bar-2 high of $52.30 to $53.60 at bar 10, while ROC falls from 28.82% to 12.61%. It crosses below zero at bar 13.
On This Page
  1. What is the Rate of Change (ROC) indicator?
  2. How to calculate ROC: 12-period example
  3. Rate of Change vs dollar momentum
  4. ROC lookback, price basis and the −100% floor
  5. How traders use ROC: zero crossings and divergence
  6. Limitations of the Rate of Change
  7. Bottom line
  8. FAQ

Key Takeaways

  • ROC is the percentage change between the current close and the close n periods ago, so it reads zero exactly when price returns to its own level from n periods back.
  • Dollar momentum and percentage ROC compare the same two prices. With a positive reference price, they share the sign and zero crossings while their turns can differ.
  • With a positive reference price and a nonnegative current price, ROC has a −100% floor and no fixed upper limit.
  • ROC can decline while price rises because its reference price also changes each bar.
  • Raw ROC uses two prices with no smoothing. Its level is the percentage price change over the lookback.

What is the Rate of Change (ROC) indicator?

The Rate of Change (ROC) indicator is a momentum oscillator that measures the percentage change between the current close and the close a chosen number of bars earlier. For a positive reference price, positive ROC means price has gained over that interval, negative ROC means it has declined, and zero means the two prices are equal. A 12-period reading of 12.61 means price is 12.61% above its close 12 bars ago.

ROC(n) = 100 × (current close − close n bars earlier) / close n bars earlier.

Formula

ROC = [(Close now − Close n periods ago) / Close n periods ago] × 100
  • Close now is the most recent closing price, or whichever price input the platform is configured to use.
  • The reference price is the close n bars before the current one, and ROC reads as a percentage return off that price, which for a stock is always positive.
  • n is the lookback in chart bars. The example uses 12. Increasing n changes the comparison horizon without adding an averaging step.
  • Multiplying by 100 states the result in percent, so a reading of 12.61 means price is 12.61 percent above its close from n periods ago.
  • Some platforms plot the ratio form, Close now divided by Close n periods ago times 100, which shifts the same line so the reference level is 100 rather than 0.

How to calculate ROC: 12-period example

A trader plots a 12-period Rate of Change on the daily closes of a stock. At the highest close of the advance the stock printed $53.60, against a close of $47.60 twelve sessions earlier. Eight sessions before that high it closed at $52.30, against a close of $40.60 twelve sessions earlier. Three sessions after the high it closed at $50.10, against $51.40 twelve sessions earlier.

  • ROC at the price high = ($53.60 − $47.60) / $47.60 × 100 = 12.61 percent
  • ROC eight sessions before that high = ($52.30 − $40.60) / $40.60 × 100 = 28.82 percent
  • Raw 12-period momentum at the price high = $53.60 − $47.60 = $6.00 per share, against $52.30 − $40.60 = $11.70 per share at the earlier reading
  • Across three consecutive closes: $50.30 − $43.50, $51.20 − $44.40 and $52.10 − $45.30 all equal $6.80. Their ROC readings are 15.63%, 15.32% and 15.01%.
  • Three sessions after the price high = ($50.10 − $51.40) / $51.40 × 100 = −2.53 percent

The $53.60 high has ROC 12.61%, below the 28.82% reading at the earlier $52.30 high. Across another three consecutive closes, dollar momentum stays at $6.80 while ROC declines from 15.63% to 15.01%. At the $50.10 close, ROC is −2.53%, below zero for the first time in the plotted sequence.

Eight sessions before that high, the close was $52.30 against a $40.60 reference, producing 28.82%. The later price high therefore pairs with a lower ROC reading.

Three sessions after the $53.60 high, the close is $50.10 against a $51.40 reference. ROC is −2.53%, the first negative reading in the plotted sequence.

Rate of Change vs dollar momentum

Dollar momentum uses the same subtraction without dividing by the reference price. With positive reference prices, both measures share their sign and zero crossings.

Across three consecutive closes in the example, the dollar differences are $50.30 − $43.50, $51.20 − $44.40 and $52.10 − $45.30. Each equals $6.80. ROC declines from 15.63% to 15.32% to 15.01% as the reference price rises.

So a falling ROC means the percentage gain is shrinking, even when the dollar gain holds steady at $6.80, because both endpoints move. Check dollar momentum before you call the move slower.

ROC lookback, price basis and the −100% floor

Raw ROC uses two observations. A longer lookback changes their separation; it does not introduce averaging. Use a consistent price-adjustment basis across those observations.

Price ROC counts only the price change, and a total-return series adds distributions back. Compare price ROC with a price index and total return with total return, or a stock’s dividends will show up as lost momentum.

With a positive reference price and a nonnegative current price, ROC bottoms at −100%, a total loss, and has no ceiling. Contracts that trade at or below zero, such as some futures spreads, need dollar momentum instead.

How traders use ROC: zero crossings and divergence

Set the lookback, reference level and decision bar before the signal prints. A zero crossing marks the bar where price moves back through its own level from n bars earlier: in the example, the $50.10 close at bar 13 drops below its $51.40 reference. Divergence pairs a higher price high with a lower ROC reading, as $53.60 at 12.61% does against $52.30 at 28.82%.

For a same-window comparison, subtract a benchmark’s ROC from the instrument’s ROC to express the difference in percentage points. Then inspect the actual price structure and define entry, invalidation, size and exit.

On a zero-line cross such as bar 13, check Options Flow for puts stacking at one strike and expiration, then price each bearish structure at your downside target in the Options Profit Calculator.

Limitations of the Rate of Change

  • Track the reference price as well as the current close. ROC compares only two prices, and the reference price changes with every new bar, so ROC can fall while price rises.
  • Check the dollar move behind a falling ROC. In the example, three equal $6.80 gains produce readings that fall from 15.63% to 15.01%.
  • Set reference zones from each chart’s own history. ROC has no fixed overbought or oversold levels, and the −100% floor for nonnegative prices has no matching ceiling.
  • Match the lookback to the move you trade. Raw ROC has no smoothing, so short lookbacks produce a noisy line, and each lookback measures a different horizon.
  • Price ROC leaves out distributions, so compare it with a price benchmark. Against a total-return benchmark, a dividend payer’s payouts read as lost momentum.

Bottom line

The Rate of Change states momentum as a percentage gain or loss over a fixed lookback, which makes readings comparable across price levels. Set the lookback and price basis, trade zero crossings and divergences as conditions, and check dollar momentum before you read a lower ROC as a slowing move, because a rising reference price pulls ROC down when dollar gains hold steady.

Clear answers

Frequently Asked Questions

Sources and Further Reading

  1. Fidelity Learning Center: Rate of Change (ROC) Technical Indicator Guide
  2. thinkorswim (Schwab) Learning Center: Rate Of Change Study
  3. Fidelity Learning Center: Momentum Technical Indicator Guide
  4. thinkorswim (Schwab) Learning Center: Momentum Study

How entries are sourced, calculated and updated: editorial methodology.

Continue learning