What is the Price Rate Of Change (ROC) Indicator

The Price Rate of Change (ROC) is a momentum-based technical indicator that measures the percentage change in price between the current price and the price a certain number of periods ago. The ROC indicator is plotted against zero, with the indicator moving upwards into positive territory if price changes are to the upside, and moving into negative territory if price changes are to the downside.

The indicator can be used to spot divergences, overbought and oversold conditions, and centerline crossovers.

Key Takeaways

  • The Price Rate of Change (ROC) oscillator is unbounded above zero. This is because its value is based on price changes, which can indefinitely expand over time.
  • A rising ROC typically confirms an uptrend. But this can be misleading, as the indicator is only comparing the current price to the price N days ago.
  • A falling ROC indicates the current price is below the price N days ago. This usually helps confirm a downtrend, but isn't always accurate.
  • An ROC reading above zero is typically associated with a bullish bias.
  • An ROC reading below zero is typically associated with a bearish bias.
  • When the price is consolidating, the ROC will hover near zero. In this case, it is important traders watch the overall price trend since the ROC will provide little insight except for confirming the consolidation.
  • Overbought and oversold levels are not fixed on the ROC, rather each asset will generate its own extreme levels. Traders can see what these levels are by looking to past readings and noting the extreme levels the ROC and reached before the price reversed.


The Formula for the Price Rate of Change Indicator (ROC) is

ROC=(Closing PricepClosing PricepnClosing Pricepn)×100where:Closing Pricep=Closing price of most recent periodClosing Pricepn=Closing price n periods beforemost recent period\begin{aligned} &\text{ROC} = \left ( \frac{ \text{Closing Price}_p - \text{Closing Price}_{p - n} }{ \text{Closing Price}_{p - n} } \right ) \times 100 \\ &\textbf{where:} \\ &\text{Closing Price}_p = \text{Closing price of most recent period} \\ &\text{Closing Price}_{p - n} = \text{Closing price \textit{n} periods before} \\ &\text{most recent period} \\ \end{aligned}ROC=(Closing PricepnClosing PricepClosing Pricepn)×100where:Closing Pricep=Closing price of most recent periodClosing Pricepn=Closing price n periods beforemost recent period

How to Calculate the Price Rate of Change (ROC) Indicator

The main step in calculating the ROC, is picking the "n" value. Short-term traders may choose a small n value, such as nine. Longer-term investors may choose a value such as 200. The n value is how many periods ago the current price is being compared to. Smaller values will see the ROC react more quickly to price changes, but that can also mean more false signals. A larger value means the ROC will react slower, but the signals could be more meaningful when they occur.

  1. Select an n value. It can be anything such as 12, 25, or 200. Short-term trader traders typically use a smaller number while longer-term investors use a larger number.
  2. Find the most recent period's closing price.
  3. Find the period's close price from n periods ago.
  4. Plug the prices from steps two and three into the ROC formula.
  5. As each period ends, calculate the new ROC value.

What Does the Price Rate of Change (ROC) Indicator Tell You?

The Price Rate of Change (ROC) is classed as a momentum or velocity indicator because it measures the strength of price momentum by the rate of change. For example, if a stock's price at the close of trading today is $10, and the closing price five trading days prior was $7, then the five-day ROC is 42.85, calculated as

((107)÷7)×100=42.85\begin{aligned} &( ( 10 - 7 ) \div 7 ) \times 100 = 42.85 \\ \end{aligned}((107)÷7)×100=42.85

Like most momentum oscillators, the ROC appears on a chart in a separate window below the price chart. The ROC is plotted against a zero line that differentiates positive and negative values. Positive values indicate upward buying pressure or momentum, while negative values below zero indicate selling pressure or downward momentum. Increasing values in either direction, positive or negative, indicate increasing momentum, and moves back toward zero indicate waning momentum.

Zero-line crossovers can be used to signal trend changes. Depending on the n value used these signal may come early in a trend change (small n value) or very late in a trend change (larger n value). The ROC is prone to whipsaws, especially around the zero line. Therefore, this signal is generally not used for trading purposes, but rather to simply alert traders that a trend change may be underway.

Overbought and oversold levels are also used. These levels are not fixed, but will vary by the asset being traded. Traders look to see what ROC values resulted in price reversals in the past. Often traders will find both positive and negative values where the price reversed with some regularity. When the ROC reaches these extreme readings again, traders will be on high alert and watch for the price to start reversing to confirm the ROC signal. With the ROC signal in place, and the price reversing to confirm the ROC signal, a trade may be considered.

ROC is also commonly used as a divergence indicator that signals a possible upcoming trend change. Divergence occurs when the price of a stock or another asset moves in one direction while its ROC moves in the opposite direction. For example, if a stock's price is rising over a period of time while the ROC is progressively moving lower, then the ROC is indicating bearish divergence from price, which signals a possible trend change to the downside. The same concept applies if the price is moving down and ROC is moving higher. This could signal a price move to the upside. Divergence is a notoriously poor timing signal since a divergence can last a long time and won't always result in a price reversal.

The Difference Between the Price Rate of Change (ROC) and the Momentum Indicator

The two indicators are very similar and will yield similar results if using the same n value in each indicator. The primary difference is that the ROC divides the difference between the current price and price n periods ago by the price n periods ago. This makes it a percentage. Most calculations for the momentum indicator don't do this. Instead, the difference in price is simply multiplied by 100, or the current price is divided by the price n periods ago and then multiplied by 100. Both these indicators end up telling similar stories, although some traders may marginally prefer one over the other as they can provide slightly different readings.

Limitation of Using the Price Rate of Change (ROC) Indicator

One potential problem with using the ROC indicator is that its calculation gives equal weight to the most recent price and the price from n periods ago, despite the fact that some technical analysts consider more recent price action to be of more importance in determining likely future price movement.

The indicator is also prone to whipsaws, especially around the zero line. This is because when the price consolidates the price changes shrink, moving the indicator toward zero. Such times can result in multiple false signals for trend trades, but does help confirm the price consolidation.

While the indicator can be used for divergence signals, the signals often occur far too early. When the ROC starts to diverge, the price can still run in the trending direction for some time. Therefore, divergence should not be acted on as a trade signal, but could be used to help confirm a trade if other reversal signals are present from other indicators and analysis methods.