Skip to main content

Overview

ROC (Rate of Change) is one of the most intuitive momentum indicators, used to measure how much a price has risen or fallen over a period (in percentage terms). You can think of ROC as:
  • “The total return curve over the past N candles”:
    • ROC > 0: the period is overall up
    • ROC < 0: the period is overall down
    • The larger the absolute ROC: the more violent the move, the stronger the momentum
Its advantages:
  • Simple formula and clear meaning
  • Expressed in percentages, making it easy to compare strength across different price levels and instruments
  • Well-suited for:
    • Judging trend strength
    • Helping identify whether a rise/fall is “too fast”
    • Cross-sectional momentum (screening strong candidates)

ROC Indicator

Calculation

Percentage Change

The standard N-period ROC (using close price) is defined as:
  • ROC(N) = [P(t) / P(t−N) − 1] × 100%
  • P(t): current close
  • P(t−N): close N periods ago
  • N: lookback window (e.g., 5, 10, 20)
Example:
  • Current price P(t) = 12
  • Price 10 days ago P(t−10) = 10
  • ROC(10) = (12 / 10 − 1) × 100% = 20%
Meaning: over the past 10 trading days, the instrument gained a total of 20%. If the result is −15%, it means it fell a total of 15% over that window.

Relationship to Momentum (Difference Form)

Simple momentum is often written as:
  • Momentum(N) = P(t) − P(t−N)
ROC simply takes that difference, divides by the starting price, and converts to a percentage—essentially:
  • ROC(N) ≈ Momentum(N) / P(t−N)
Difference:
  • Momentum looks at the “price difference” (how many dollars/yuan it moved)
  • ROC looks at the “percentage change,” which is better for comparing across different price levels

Choosing the Period

Common windows:
  • Short-term: ROC(5), ROC(10)
  • Swing: ROC(10), ROC(20)
  • Medium-term: ROC(20), ROC(30), etc.
General pattern:
  • Smaller N: more sensitive, more signals, but also more noise
  • Larger N: smoother, more suitable as a background reference for trend strength

Trading Signals

On charts, ROC is typically a line oscillating around the zero line. The three most-used types of information are:
  1. Zero-line crossings (trend direction switching)
  2. Relative extremes (short-term overbought/oversold)
  3. Strength changes (acceleration/deceleration)

Zero-Line Crossings

With ROC(N) = [P(t) / P(t−N) − 1] × 100%:
  • ROC > 0: current price is above N periods ago → the past N periods are overall up
  • ROC < 0: current price is below N periods ago → the past N periods are overall down
Therefore:
  • ROC crossing above zero from below:
    • The past N periods shift from net down to net up
    • Can be used as a reference signal of bullish dominance
  • ROC crossing below zero from above:
    • The past N periods shift from net up to net down
    • Can be used as a reference signal of bearish dominance
An illustrative usage (requires trend filtering):
  • When price is above a medium/long-term MA:
    • ROC crossing above zero → can be treated as one signal of short-term momentum strengthening for buying/adding
  • When price is below the MA:
    • ROC crossing below zero → can be treated as one signal of short-term momentum weakening for shorting/trimming

Overbought/Oversold (Extreme Zones)

ROC has no fixed upper/lower bounds (unlike RSI’s 0–100), so “overbought/oversold” usually means relative historical extremes. Typical approach:
  • Observe ROC(N) for an instrument over a past window (e.g., 1–2 years):
    • Most of the time it may fluctuate between −10% and +10%
    • Occasionally it may exceed > +20% or fall below < −20%, often aligning with short-term highs/lows
  • Then you can treat around +20% and −20% as:
    • A reminder zone that “the price has risen too fast” (short-term)
    • A reminder zone that “the price has fallen too fast” (short-term)
Practical meaning:
  • When ROC reaches a relatively extreme high:
    • It doesn’t mean you must short immediately, but chasing becomes riskier
    • You may consider:
      • Not adding further
      • Taking profits in parts, or tightening stops
  • When ROC reaches a relatively extreme low:
    • It doesn’t mean you must bottom-fish immediately, but panic selling should be cautious
    • Combine with support levels and candlestick patterns to watch for rebound opportunities

Core Concepts

Percentage-Based Momentum

ROC is essentially a time series of total % change over N periods, and can be understood as:
  • “If I bought N days ago and held until now, what is the return?”
Compared with simple momentum:
  • Absolute momentum: “how many dollars/yuan it moved”
  • ROC: “how many percent it moved”
So ROC is especially useful for:
  • Comparing relative strength across instruments
  • Screening “strong stocks/strong instruments”

Slightly Leading—But Also Noisy

Because ROC directly compares two points in price:
  • When a trend starts to slow:
    • Before price truly turns, ROC often falls back from high levels toward zero first
  • This “slightly early” behavior can be an advantage—or can generate false signals
In range markets:
  • Price moves up and down, ROC crosses zero frequently
  • If you mechanically treat every crossing as a trade signal, you can easily get ground down by fees and small losses
A more reasonable positioning:
  • ROC describes momentum strength and whether price is “moving too fast”
  • It serves as in-trend support and risk signaling, not a standalone entry/exit switch

Must Match Your Trading Horizon

A guiding principle:
  • Use an ROC window that roughly matches how long you plan to hold:
For example:
  • Short-term trades (within days):
    • ROC(5), ROC(10) are more meaningful
  • Swing trades (weeks):
    • ROC(10), ROC(20) or even weekly ROC
  • Medium/long-term:
    • Weekly/monthly ROC as background, with daily short-window ROC only for fine-tuning rather than driving decisions

Practical Applications

Case 1: MA Trend + ROC Zero-Line Filter

Setup:
  • Use the 20-day MA to judge medium-term trend direction
  • Use ROC(10) to judge short-term momentum changes
Illustrative rules:
  1. Consider longs only when price is above the 20-day MA and the 20-day MA is rising;
  2. Under those conditions:
    • When ROC(10) crosses above zero from negative:
      • The past 10 days shift from net down to net up
      • Treat as momentum recovery, a reference for initiating/adding
  3. While holding:
    • If ROC(10) drops below zero from positive:
      • The past 10 days start turning into net decline
      • Treat as the current up leg pausing, consider:
        • Partial profit-taking
        • Or tightening overall stops
Let the MA define the direction; use ROC for attack/defense rhythm.

Case 2: Risk Management Under Short-Term Extreme ROC

Background:
  • A stock rises from 10 to 13 in 10 days, so ROC(10) ≈ +30%
  • Looking at history, when ROC(10) exceeds +25%:
    • In most cases, it either goes sideways or pulls back afterward
Possible strategy:
  • If you are about to enter:
    • Chasing longs at an extreme-high ROC often offers poor risk/reward A better approach is to wait for:
      • A pullback
      • Or a consolidation and then a fresh breakout signal
  • If you are already in profit:
    • Treat extreme-high ROC as a “time window to harvest moderately”:
      • Scale out in parts
      • Or raise the stop closer to price
Conversely, after a sharp drop with ROC(10) ≈ −25% or −30%:
  • It doesn’t mean you must buy the dip immediately
  • But you should at least watch for:
    • Whether you’re panic-selling at the floor
    • Executing stops rationally at pre-planned levels, rather than acting emotionally

Case 3: Using ROC to Screen Strong Candidates

Scenario:
  • You have a basket of stocks or futures instruments and want to trade in the “strength keeps strength” direction
Simplified workflow:
  1. Choose a window, say 20 days: ROC(20)
  2. Compute current ROC(20) for all candidates:
    • Larger value → larger rise over 20 days → stronger
    • Smaller value → larger fall over 20 days → weaker
  3. Rank:
    • Select the top 20% by ROC(20) as a long candidate pool
    • If shorting is allowed, select the bottom 20% as a short candidate pool
  4. Then combine with:
    • MA trend (bullish/bearish alignment)
    • Key support/resistance
    • Volume, fundamentals, etc. to narrow to a few names for focused tracking and trading
Here ROC doesn’t provide buy/sell points—it acts as a “strength sieve” to help you focus on more trend-capable assets.

FAQs

Q1: Is high ROC = overbought and low ROC = oversold?

Not entirely.
  • High ROC means price has risen fast recently, but:
    • It may be a normal feature of a strong trend
    • Or it may be short-term overextension that can correct at any time
  • Low ROC means price has fallen fast recently, but:
    • It may be an accelerated leg of a trend decline
    • Or it may be the tail end of panic selling
To judge “overbought/oversold,” combine:
  • Location (near major support/resistance?)
  • Trend stage (just starting, mid-trend, late stage?)
  • Volume, patterns, other indicators (e.g., RSI)
A safer interpretation:
  • Extreme ROC = a signal of “violent movement” It tells you risk is rising, not that you must reverse immediately.

Q2: ROC keeps crossing around zero with many signals, but performance is poor—what should I do?

This is a typical range market + oversensitive indicator problem. Response ideas:
  1. Add a trend filter:
    • Only use “ROC crosses above zero” to go long when price is above a medium/long MA
    • Only use “ROC crosses below zero” to go short when price is below the MA
  2. Reduce trading frequency:
    • When price is in a tight range, trade less
    • Focus on breakout / trending phases
  3. Adjust the window:
    • If ROC(5) is too noisy, try ROC(10) or ROC(20) to smooth meaningless fluctuations with a slightly longer lookback
In short:
  • Don’t treat ROC as a baton that requires following every signal
  • Treat it as an auxiliary observation tool within the trend

Q3: Should I use ROC on daily charts or weekly charts? Can it be used on minute charts?

All are possible—what matters is matching your trading horizon:
  • Ultra-short/intraday:
    • You can use ROC on 1-minute, 5-minute, 15-minute charts
    • Also reference the daily trend to avoid repeatedly trading against the larger move
  • Short-term swings:
    • Daily ROC is the main tool (e.g., ROC(10), ROC(20))
    • Weekly ROC can serve as background (higher-level strength bias)
  • Medium/long-term:
    • Weekly/monthly ROC is more informative
    • Daily ROC is better for scaling fine-tunes, not primary entries/exits
One principle:
  • If you use a chart timeframe to make decisions, analyze ROC on the same timeframe;
  • Don’t use 1-minute ROC to decide a multi-month position, and don’t use monthly ROC to decide today’s scalp.

Summary

  • ROC (Rate of Change) compares current price with the price N periods ago to compute the total percentage change, making it one of the most basic and intuitive momentum indicators.
  • Core formula: ROC(N) = [P(t) / P(t−N) − 1] × 100% It is a time series of “total return over N periods.”
  • Main uses:
    • Zero-line crossings: judge shifts in net up/down direction over N periods
    • Extremes: identify whether short-term moves are too fast (risk/opportunity hints)
    • Strength comparison: screen the strongest/weakest performers over the recent window
  • Key usage points:
    • ROC describes momentum; it is not a standalone buy/sell command
    • Best combined with trend (MAs), support/resistance, volume, and patterns
    • The window must match your trading horizon to avoid “timeframe mismatch” misuse
Bringing ROC into your framework can help answer two questions more clearly:
  1. Has it been moving fast lately?
  2. At this pace, should I keep following—or start tightening risk?

Further Reading

  • Related resource links
    • Investor-education content from major brokers and futures firms often includes dedicated introductions to “ROC,” “rate-of-change indicators,” and “momentum indicators,” which you can practice alongside real charts.
    • Technical analysis teaching articles keyed by Rate of Change (ROC) and Momentum Indicators can show typical ROC behavior under trending vs. ranging conditions.
  • Recommended books or articles
    • Technical Analysis of the Financial Markets — John J. Murphy Provides systematic discussion of momentum indicators (including ROC) and how to combine them with trends and patterns.
    • Chapters on “momentum strategies,” “time-series momentum,” and “cross-sectional momentum” in systematic/quant trading books can help you understand, at a higher level, how ROC and related ideas can be used to build selection and risk-control strategies.