NEWAI Portfolio Risk Engine is live for stress testing and hedge planningExplore engine →
📊 TECHNICAL

Percentage Price Oscillator

A percentage-based version of MACD that measures the gap between two EMAs as a ratio, making momentum readings comparable across stocks of any price.

G
Gerald Appel
Strategy Author
Updated 15 Jul 2026
410KUses
28700Likes
0Comments
📊 Open on Chart
Live Demo — Percentage Price Oscillator applied to NIFTY 50 (illustrative)
PriceEMA(9)EMA(21)SMA(20)

What is the Percentage Price Oscillator?

The Percentage Price Oscillator (PPO) is a momentum indicator derived from the same lineage as MACD, which Gerald Appel introduced in the late 1970s. Instead of expressing the gap between a fast and slow EMA in absolute price units, PPO expresses it as a percentage of the slow EMA. This normalization lets traders compare momentum strength across different stocks, indices, or the same stock at very different price levels over time.

Formula

EMA_fast = EMA(Close, fastLength)      // default 12
EMA_slow = EMA(Close, slowLength)      // default 26

PPO = 100 * (EMA_fast - EMA_slow) / EMA_slow

Signal Line = EMA(PPO, signalLength)   // default 9
Histogram   = PPO - Signal Line

Parameters

ParameterDefaultDescription
Fast Length12Period of the faster EMA
Slow Length26Period of the slower EMA
Signal Length9EMA period applied to the PPO line to generate the signal line
SourceClosePrice field used for the EMAs

Signal Interpretation

  • PPO crossing above its signal line is a bullish momentum shift; crossing below is bearish.
  • PPO above zero means the fast EMA is above the slow EMA (uptrend momentum); below zero signals downtrend momentum.
  • A widening histogram shows accelerating momentum; a shrinking histogram warns of a stalling move.
  • Divergence between price making new highs/lows and PPO failing to confirm often precedes a reversal.
  • Because PPO is percentage-based, readings can be compared directly across different securities, unlike raw MACD values.

Tips & Best Practices

  • Use PPO instead of MACD when screening or comparing momentum across a watchlist of stocks with different price ranges.
  • Combine with a longer-term trend filter (e.g., 200-period MA) to avoid trading signal-line crossovers against the dominant trend.
  • Zero-line crossovers are more reliable trend-change signals than signal-line crossovers, which fire more often but with more noise.