ROC (Rate of Change)
The simplest momentum indicator -- percentage price change over N candles, zero-line crossovers, and the 4 ROC variants.
What is the Rate of Change?
The Rate of Change (ROC) is the simplest momentum indicator: it measures how much the price has changed over the last N candles, expressed as a percentage. If the current close is 55 and the close 10 candles ago was 50, ROC = 10% -- the price is 10% higher than it was 10 candles ago.
ROC oscillates around a zero line. Above zero means the price is higher than N candles ago (positive momentum). Below zero means it is lower (negative momentum). The further from zero, the stronger the momentum.
How It's Calculated
In plain English: take the current closing price, subtract the closing price from N candles ago, divide by that same old closing price, and multiply by 100 to get a percentage.
For example, if the current close is 63 and the close 10 candles ago was 55: (63 - 55) / 55 * 100 = 14.55%. The price has gained 14.55% over the last 10 candles.
The Four ROC Variants
Simula includes four indicators that all measure the same thing -- price change over N candles -- but express it in different formats. Using the same example (close = 63, old close = 55):
| Indicator | Formula | Result | Center |
|---|---|---|---|
| ROC | (63 - 55) / 55 * 100 | 14.55 | 0 |
| ROCP | (63 - 55) / 55 | 0.1455 | 0 |
| ROCR | 63 / 55 | 1.1455 | 1 |
| ROCR100 | 63 / 55 * 100 | 114.55 | 100 |
All four tell you the same story: the price is 14.55% higher than 10 candles ago. The difference is cosmetic. ROC (percentage) is the most intuitive for most traders.
Zero-Line Crossovers
When ROC crosses above zero, the current price is higher than the price N candles ago -- momentum has shifted from negative to positive. When ROC crosses below zero, the reverse is true.
These crossovers are conceptually similar to a price crossing above or below a moving average. ROC above zero means the price is above where it was N candles ago (bullish context). ROC below zero means it is below (bearish context).
Zero-line crossovers are lagging by nature. By the time ROC crosses above zero, the price has already risen from its low point. The crossover confirms the shift rather than predicting it.
Divergence
ROC is commonly used to spot divergence -- when the price makes a higher high but ROC makes a lower high (bearish divergence), or when the price makes a lower low but ROC makes a higher low (bullish divergence). See the overview article for a visual example.
Parameters
Things to Watch Out For
The drop-off effect
ROC compares the current close to one specific past close. When that past candle was unusually high or low, it drops out of the window and ROC can jump sharply -- not because anything changed in the current price, but because the reference point shifted. This is a known quirk of any indicator that compares two single data points rather than using a smoothed average.
No fixed overbought/oversold levels
Unlike RSI (which has standard 70/30 levels), ROC has no fixed boundaries. A ROC of 20% might be extreme for one asset and normal for another. If you want to use ROC for overbought/oversold signals, you need to calibrate the thresholds based on the asset's recent history. Parameter optimization can help find thresholds that fit a given asset and timeframe.
ROC vs MOM
MOM (Momentum) calculates the raw difference: close - close[N ago]. ROC divides by the old close to normalize it. This means MOM = 5 could be a 10% move on a $50 stock or a 1% move on a $500 stock. ROC would show 10% and 1% respectively, making it easier to interpret across different price levels.
Where to Go Next
Momentum Indicators Overview -- all 10 momentum indicators including APO, PPO, TRIX, and BOP.
MACD -- a more sophisticated momentum/trend indicator built from EMAs.
RSI -- a bounded oscillator that measures momentum differently (ratio of up moves to down moves).
Trend Following -- strategies where ROC zero-line crossovers can serve as entry filters.