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
Ncandles”:ROC > 0: the period is overall upROC < 0: the period is overall down- The larger the absolute
ROC: the more violent the move, the stronger the momentum
- 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 standardN-period ROC (using close price) is defined as:
ROC(N) = [P(t) / P(t−N) − 1] × 100%P(t): current closeP(t−N): closeNperiods agoN: lookback window (e.g., 5, 10, 20)
- Current price
P(t) = 12 - Price 10 days ago
P(t−10) = 10 ROC(10) = (12 / 10 − 1) × 100% = 20%
−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(N) ≈ Momentum(N) / P(t−N)
Momentumlooks at the “price difference” (how many dollars/yuan it moved)ROClooks 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.
- 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:- Zero-line crossings (trend direction switching)
- Relative extremes (short-term overbought/oversold)
- Strength changes (acceleration/deceleration)
Zero-Line Crossings
WithROC(N) = [P(t) / P(t−N) − 1] × 100%:
ROC > 0: current price is aboveNperiods ago → the pastNperiods are overall upROC < 0: current price is belowNperiods ago → the pastNperiods are overall down
-
ROCcrossing above zero from below:- The past
Nperiods shift from net down to net up - Can be used as a reference signal of bullish dominance
- The past
-
ROCcrossing below zero from above:- The past
Nperiods shift from net up to net down - Can be used as a reference signal of bearish dominance
- The past
-
When price is above a medium/long-term MA:
ROCcrossing above zero → can be treated as one signal of short-term momentum strengthening for buying/adding
-
When price is below the MA:
ROCcrossing 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
- Most of the time it may fluctuate between
-
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)
-
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
Ndays ago and held until now, what is the return?”
- Absolute momentum: “how many dollars/yuan it moved”
- ROC: “how many percent it moved”
- 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
- 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
- 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:
-
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
- Consider longs only when price is above the 20-day MA and the 20-day MA is rising;
-
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
-
When
-
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
-
If
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
-
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
-
Chasing longs at an extreme-high ROC often offers poor risk/reward
A better approach is to wait for:
-
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
-
Treat extreme-high ROC as a “time window to harvest moderately”:
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
-
Choose a window, say 20 days:
ROC(20) -
Compute current
ROC(20)for all candidates:- Larger value → larger rise over 20 days → stronger
- Smaller value → larger fall over 20 days → weaker
-
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
- Select the top 20% by
-
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
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
- Location (near major support/resistance?)
- Trend stage (just starting, mid-trend, late stage?)
- Volume, patterns, other indicators (e.g., RSI)
- 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:-
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
-
Reduce trading frequency:
- When price is in a tight range, trade less
- Focus on breakout / trending phases
-
Adjust the window:
- If
ROC(5)is too noisy, tryROC(10)orROC(20)to smooth meaningless fluctuations with a slightly longer lookback
- If
- 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)
- Daily ROC is the main tool (e.g.,
-
Medium/long-term:
- Weekly/monthly ROC is more informative
- Daily ROC is better for scaling fine-tunes, not primary entries/exits
- 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
Nperiods 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
Nperiods - Extremes: identify whether short-term moves are too fast (risk/opportunity hints)
- Strength comparison: screen the strongest/weakest performers over the recent window
- Zero-line crossings: judge shifts in net up/down direction over
-
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
- Has it been moving fast lately?
- 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.
