๐ PPO โ Percentage Price Oscillator
PPO is MACD's twin, with one change that matters a lot in practice: it expresses momentum as a percentage of price instead of raw price units, making it directly comparable across assets of any price level.
๐ก Financial Meaning
A โฌ2 MACD reading means something very different for a โฌ10 stock than for a โฌ500 stock. PPO removes that ambiguity: a PPO of 2% is 2% regardless of the instrument's price, so screening a whole portfolio for "which assets have the strongest momentum right now" becomes meaningful with PPO in a way it is not with raw MACD.
๐ข Mathematical Formulas
-
PPO Line โ the same fast/slow EMA spread as MACD, but divided by the slow EMA and rescaled to a percentage:
\[ PPO_t = 100 \cdot \frac{EMA_{fast}(C_t) - EMA_{slow}(C_t)}{EMA_{slow}(C_t)} \] -
Signal Line โ an EMA smoothing of the PPO line itself:
\[ Signal_t = EMA_{signal}(PPO_t) \] -
Histogram โ the momentum-of-momentum:
\[ Histogram_t = PPO_t - Signal_t \]
โ๏ธ Parameters
| Parameter | Key | Default | Description |
|---|---|---|---|
| Fast Period | fastPeriod |
12 | Short-term EMA window (sessions). |
| Slow Period | slowPeriod |
26 | Long-term EMA window (sessions), also the PPO's normalising denominator. |
| Signal Period | signalPeriod |
9 | EMA smoothing applied to the PPO line (sessions). |
๐๏ธ Signal Processing Equivalent โ Gain-Normalised Band-Pass Filter
MACD's band-pass output (see MACD) has an amplitude that scales with the input's absolute level. PPO divides that same band-pass output by a low-pass estimate of the signal's own level (\(EMA_{slow}\)) โ this is exactly Automatic Gain Control (AGC), a standard technique in signal processing for keeping a filter's output amplitude comparable regardless of the input's DC level.
flowchart LR
C["๐น Close"] --> EF["๐ EMA fast"]
C --> ES["๐ EMA slow"]
EF --> DIFF["โ EMA fast โ EMA slow"]
ES --> DIFF
DIFF --> AGC["๐๏ธ รท EMA slow ร100 (AGC)"]
AGC --> PPO["๐ PPO line"]
PPO --> SIG["๐ EMA(signalPeriod)"]
PPO --> HIST["๐ Histogram = PPO โ Signal"]
SIG --> HIST
Same crossovers, different scale
Every crossover rule that applies to MACD (line crosses signal, histogram flips sign) applies identically to PPO โ only the units change, from price to percent. Use PPO instead of MACD whenever comparing momentum across different instruments; use MACD when working on a single instrument in its native units.