Rate of Change Percentage (ROCP)

Parameters: period = 14 (5–50)

Overview

The Rate of Change Percentage (ROCP) calculates momentum using the straightforward formula: [(Current Price - Price n Periods Ago) / Price n Periods Ago] × 100. This creates an oscillator that fluctuates above and below zero, with positive values indicating upward momentum and negative values showing downward momentum. Developed by Morton Baratz in the late 1940s as one of the first momentum oscillators, ROCP represents momentum in its purest form - the percentage change in price over time. Its simplicity and effectiveness have made it a cornerstone indicator for over seven decades.

What makes ROCP particularly valuable is its intuitive interpretation and unbounded nature. The percentage format allows traders to immediately understand momentum strength - a reading of +10 means price has risen 10% over the lookback period, while -5 indicates a 5% decline. While theoretically unlimited on the upside (prices can rise indefinitely), ROCP has a natural floor at -100% since prices cannot fall below zero. The indicator accelerates into positive territory during strong advances and plunges deeper negative during sharp declines, providing clear visual representation of momentum shifts that often precede trend changes.

Interpretation & Trading Signals

Momentum Zones:

  • Above Zero: Bullish momentum, prices rising vs n periods ago
  • Below Zero: Bearish momentum, prices falling vs n periods ago
  • Extreme Positive: Strong upward acceleration, potential overbought
  • Extreme Negative: Sharp decline, potential oversold condition

Trading Signals:

  • Zero Line Cross: Buy above zero, sell below zero crossovers
  • Divergences: Price/ROCP divergences signal potential reversals
  • Overbought/Oversold: Extreme readings suggest mean reversion trades
  • Momentum Shifts: Direction changes precede price reversals

Period Selection:

  • Short (10 days): Volatile oscillator for active trading
  • Medium (14-20 days): Balanced for swing trading
  • Long (30+ days): Smooth line for position trading
  • Multiple Periods: Compare different timeframes for confirmation

Example Usage

Code examples will be available once the Rust implementation is complete.

Performance Analysis

Related Indicators