Percentage Price Oscillator (PPO)

Parameters: fast_period = 12 (2–200) slow_period = 26 (2–200) signal_period = 9 (2–50)

Overview

The Percentage Price Oscillator transforms the MACD concept into a percentage-based momentum indicator that solves a critical limitation of its predecessor. While MACD measures the absolute dollar difference between two exponential moving averages, PPO expresses this difference as a percentage of the longer-term average. This seemingly simple modification creates a powerful tool for comparing momentum across different securities - a PPO reading of 5% means the same thing whether analyzing a $10 stock or a $1,000 stock, whereas MACD values would be incomparable between these securities.

The calculation involves subtracting the 26-period EMA from the 12-period EMA, then dividing by the 26-period EMA and multiplying by 100 to express as a percentage. Like MACD, PPO includes a signal line (9-period EMA of PPO) and a histogram showing the difference between PPO and its signal line. This three-component system provides multiple layers of analysis: the PPO line reveals momentum strength, the signal line smooths out fluctuations for clearer crossover signals, and the histogram visualizes momentum acceleration or deceleration. The centerline at zero represents equilibrium where both EMAs are equal.

Interpretation & Trading Signals

Signal Line Crossovers:

  • Bullish Signal: PPO crosses above signal line from below
  • Bearish Signal: PPO crosses below signal line from above
  • Histogram Positive: PPO above signal, momentum accelerating
  • Histogram Negative: PPO below signal, momentum decelerating

Centerline Crossovers:

  • Above Zero: Short-term EMA above long-term, uptrend confirmed
  • Below Zero: Short-term EMA below long-term, downtrend confirmed
  • Cross Above Zero: Bullish trend change signal
  • Cross Below Zero: Bearish trend change signal

Divergence Trading:

  • Bullish Divergence: Price makes lower low, PPO makes higher low
  • Bearish Divergence: Price makes higher high, PPO makes lower high
  • Histogram Divergence: Early warning of momentum shifts
  • Cross-Market Analysis: Compare PPO values across different assets

Example Usage

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

Performance Analysis

Related Indicators