Momentum & oscillatorsRate of Change · ROC
The percentage change in price over a fixed lookback — pure, unsmoothed momentum.
Works in most conditionsEngine-computed on a fixed sample series
What it is
The Rate of Change is the simplest possible momentum indicator: it measures the percentage change in price over a fixed number of bars, capturing pure, unsmoothed speed of movement. It answers the direct question of how fast and in which direction price is moving compared with where it was a set time ago. Plotted as a line oscillating around zero, it reads positive when price is higher than it was N bars back and negative when lower, with the distance from zero showing how fast the move is. Because it applies no smoothing, it reflects raw momentum without lag from averaging, at the cost of being noisy. For a beginner it is best understood as a speedometer for price that simply asks how much higher or lower we are than N bars ago, in percent.
How it is calculated
ROC takes today's close, divides it by the close N bars ago, subtracts one, and multiplies by 100 to express the result as a percentage, so a close of 110 today against a close of 100 ten bars ago gives a ROC of plus 10 percent. It oscillates around a zero line, where positive means price is above its level N bars ago and negative means below, and the magnitude reflects the pace of the move. The only parameter is the lookback N, which sets how far back the comparison reaches — a short N measures recent, fast momentum and a long N measures a broader sweep. Because nothing is averaged or smoothed, each reading depends on exactly two prices, today's close and the close N bars ago. Its close cousin Momentum uses the raw price difference instead of the percentage, making ROC the scale-free, comparable version.
Reading it, step by step
Zero-line crosses are the basic events — ROC rising through zero means momentum has turned positive, price is now above where it was N bars ago, and falling through zero means it has turned negative. A rising ROC signals an accelerating advance, while a ROC that is still positive but falling means the advance is decelerating even though price is higher than before. Extremes relative to the indicator's own recent history flag stretched moves, though because ROC is unbounded there is no fixed overbought or oversold level. Divergence is one of its most valuable reads: if price makes a higher high but ROC makes a lower high, the move is losing momentum and may be near exhaustion. The shape — rising, falling, diverging — often matters more than the precise value.
Best timeframes and settings
ROC is flexible across timeframes, with common lookbacks of 9, 12, 14, or 25 for shorter momentum reads and longer settings like 100 or 250 for measuring broad, cyclical momentum on daily charts. A short lookback makes ROC fast and reactive but noisy, generating frequent zero-line crosses, while a long lookback smooths the read and highlights major momentum shifts but responds slowly. This responsiveness-versus-noise trade-off is the main dial, and the right setting depends on whether you are scalping, swing trading, or gauging long-term momentum for asset rotation. Because it is a percentage, the same ROC setting is directly comparable across instruments, which is central to its use in ranking. Many traders apply a short moving average to the ROC line to tame its noise when they want cleaner turns.
When and where to use it
ROC is regime-flexible and works across equities, futures, forex, and crypto, useful both for confirming trend strength and for spotting momentum divergences at potential turns. It is especially valuable in momentum-rotation and relative-strength strategies, where its percentage scale lets you rank a whole universe of assets by their recent return and hold the strongest. In trending markets it confirms the pace of the move, while near tops and bottoms its divergences give early warning. Its main weakness is noise in choppy markets, where unsmoothed zero-line crosses whipsaw, so it is often smoothed or paired with a filter there. Reach for ROC when you want a clean, comparable read on momentum speed, whether to confirm a trend, spot divergence, or rank assets.
Strategies that use it
A momentum-rotation strategy ranks a basket of assets by their ROC over a chosen lookback, such as 3, 6, or 12 months, and holds the strongest performers, rebalancing periodically — a well-documented approach that harnesses ROC's comparability. A divergence strategy watches for price to make a new high or low that ROC fails to confirm and uses that divergence as an early warning to tighten stops or fade the move with confirmation. A zero-line strategy takes ROC crossing above zero as a momentum-long trigger and below zero as a short, ideally filtered by the larger trend and often smoothed to cut whipsaws. Across these, ROC is used for its comparability and its divergence read, with a trend filter or smoothing added to manage its noise in choppy conditions.
Combining it with other indicators
The raw Momentum indicator is ROC's un-normalized twin and behaves similarly, so ROC is preferred when comparing across instruments. The MACD and moving averages add trend context that tells you whether to trust a ROC zero-line cross or expect it to fail in a range. The Commodity Channel Index and RSI provide bounded momentum reads that complement ROC's unbounded one and help judge whether a move is stretched. In rotation strategies, ROC pairs with a trend or volatility filter to avoid holding assets whose high ROC comes with excessive risk. The recurring logic is to use ROC for its clean momentum speed and comparability while trend and bounded-oscillator tools supply context and stretch readings.
Where it fails
Being unsmoothed, ROC is inherently noisy, and its zero-line crosses whipsaw in choppy markets, so trading every cross without a filter leads to repeated small losses. Its overbought and oversold levels are not fixed, so applying a universal threshold across instruments or regimes is a mistake, and extremes must be judged relative to the indicator's own recent range. A subtler pitfall is the drop-off effect: a single outlier bar N periods ago can distort today's reading purely because that old value is leaving the lookback window, creating a move in ROC that has nothing to do with current price action. The remedies are to smooth the line or add a trend filter for cleaner signals, to read extremes in context rather than against fixed levels, and to be aware of the drop-off distortion around large past bars. Treating ROC as a standalone system rather than a momentum gauge is the broader error.
A worked example
Suppose a stock closed at 100 twelve bars ago and at 112 today, giving a 12-bar ROC of plus 12 percent, a strong, positive momentum read confirming an accelerating advance. Over the next several sessions price grinds up to 116, a new high, but because the pace has slowed, the 12-bar ROC slips to plus 8 percent, making a lower high even as price makes a higher high; this bearish divergence warns a swing trader that momentum is fading beneath the rising price. The trader tightens the trailing stop and declines to add, and when price rolls over to 110 the divergence proves its worth. Separately, a rotation trader comparing this stock's plus 12 percent ROC against a peer's plus 4 percent would rank this one stronger and favor it, the percentage scale making the comparison valid. A watchful reader also notes that part of a sudden ROC jump could come from a large bar dropping out of the 12-bar window, and checks the underlying price before acting.