Direct Answer

Percentage Price Oscillator (PPO) is a percentage-normalized moving-average oscillator that expresses the gap between a faster and slower exponential moving average relative to the slower average. A higher reading generally means the faster average is increasingly above the slower average in percentage terms; a lower reading generally means the faster average is increasingly below the slower average. The main limitation is that like MACD it is price-derived and lagging; normalization improves cross-price comparability but does not remove whipsaws.

By Swoopr Editorial Team AI-assisted research, human-verified

Percentage Price Oscillator (PPO): Formula, Meaning, Signals, Examples and How to Use It

How Is Percentage Price Oscillator Calculated?

The Percentage Price Oscillator is MACD expressed as a percentage: the gap between a fast and a slow exponential moving average divided by the slow average. Because it is a ratio, readings can be compared across instruments with different price levels.

Formula: PPO = 100 * (EMA(12) - EMA(26)) / EMA(26); Signal = EMA(9) of PPO; Histogram = PPO - Signal

Inputs:

Worked example. With a 12-period EMA of 52 and a 26-period EMA of 50, the PPO is 4.00 percent. The inputs are illustrative numbers, not market data.

Reading it. A PPO above zero means the fast average is above the slow one, and the larger the percentage, the wider the gap relative to price. Crossings of the signal line, movement through zero and divergences from price are read in the same way as MACD.

Limits. Like MACD it is derived from past prices, so it lags, and normalizing by the slow average does not remove whipsaws in sideways markets. It has no fixed upper or lower bound, so extreme readings are judged against the instrument's own history.

Indicator snapshot

AttributeValue
CategoryTrend
Creator / originTechnical-analysis oscillator; no single universally cited originator
Common settings12, 26, 9 common
Primary purposeDescribe trend direction, persistence, strength, or a smoothed price reference.
Main limitationLike MACD it is price-derived and lagging; normalization improves cross-price comparability but does not remove whipsaws.

What is Percentage Price Oscillator?

Percentage Price Oscillator is a percentage-normalized moving-average oscillator that expresses the gap between a faster and slower exponential moving average relative to the slower average. It is a transformation of market data, not an independent forecast. Its value comes from making one market property measurable and repeatable so the same rule can be compared through time or across instruments when the input convention stays fixed.

This profile is separate from any trading strategy. It explains what the measure does, how it is calculated, what its readings mean, where it fails, and what other evidence can complement it. Entry, exit, position sizing and portfolio construction belong to strategy or risk-management content.

Formula

PPO = 100 × (EMAfast − EMAslow) / EMA_slow; a signal line is commonly an EMA of PPO

Calculation requirements

  1. Define the asset, timeframe, session and data source before calculation.
  2. State lookback, smoothing, reset and initialization rules.
  3. Define behavior for missing values, zero denominators and warm-up periods.
  4. Reproduce a worked example from raw inputs.
  5. Compare the result with an independent implementation before publication.

How to interpret it

A higher reading generally means the faster average is increasingly above the slower average in percentage terms. A lower reading generally means the faster average is increasingly below the slower average. That is a description of the selected inputs, not a promise about what price will do next. Strong readings can persist, reverse, or become irrelevant when the market regime changes.

The neutral zone should be defined by the indicator’s job rather than a generic red/green treatment. Direction-neutral measures should never be visually labeled bullish solely because the number is high.

Settings and parameter sensitivity

A common reference is 12, 26, 9 common. Defaults are conventions, not universal optima. Shorter windows usually respond faster and create more state changes; longer windows smooth more history and react later. When multiple platform conventions exist, publish the exact one Swoopr uses and identify important alternatives.

Worked hypothetical example

Take a liquid instrument and compute Percentage Price Oscillator using the documented convention. If the reading moves materially, trace the change back to its raw inputs before assigning meaning. Then compare the reading with one independent information family such as volume, volatility, benchmark-relative performance or price structure. Finally, define what observation would invalidate the interpretation. This prevents the indicator from being treated as a standalone prediction engine.

Strengths

Weaknesses and false signals

Combining Percentage Price Oscillator with other indicators

Prefer a second measure that answers a different question. Related entities include Aroon, Average Directional Index, Choppiness Index, Exponential Moving Average, Ichimoku Cloud, MACD. Before calling two signals “confirmation,” test how often they disagree and whether the second measure changes out-of-sample decisions after costs.

When not to use it

Do not use Percentage Price Oscillator as a standalone buy/sell instruction or as a substitute for liquidity checks, risk sizing and execution planning. Avoid publishing optimized settings without a clearly defined universe, timeframe, cost model and validation period. Provider-defined indexes or metrics must use the provider’s disclosed methodology and licensing rules.

Practical checklist

Frequently asked questions

Is Percentage Price Oscillator a buy or sell signal?

No. It is an analytical measure. A decision still needs a hypothesis, trigger, invalidation rule, size and exit process.

What is the best setting?

There is no universal best setting. Start from the common convention (12, 26, 9 common), test nearby values, and prefer stable parameter regions over a single historical winner.

Can it be used by itself?

It can describe its specific market property, but a complete decision usually needs additional context from another information family.

Why can the reading differ between platforms?

Data feeds, session rules, smoothing, initialization, lookback and provider methodology can all differ. Check the exact convention a given platform uses.

Does it work on every timeframe?

The formula may transfer, but behavior changes with timeframe, liquidity, volatility and execution costs. Validate the exact use case.

How should it be backtested?

Write rules before testing, use point-in-time data, include realistic costs, reserve an out-of-sample period, break results out by regime and compare with a simpler baseline.

Related Swoopr content

Sources and further reading

Editorial note

Educational content only. Do not imply guaranteed prediction, accuracy or outperformance. Any provider-specific methodology must be labeled as such and rechecked when the provider changes its methodology.

Frequently Asked Questions

Is Percentage Price Oscillator a buy or sell signal?

No. A PPO above zero means the fast average is above the slow one, and the larger the percentage, the wider the gap relative to price. Like MACD it is derived from past prices, so it lags, and normalizing by the slow average does not remove whipsaws in sideways markets. A trade built on it still needs a trigger, an invalidation rule, a position size and realistic execution assumptions.

What is the best setting for Percentage Price Oscillator?

Percentage Price Oscillator takes these inputs: a price series, most often the close; fast EMA period 12 and slow EMA period 26; signal EMA period 9 (12, 26, 9 is the common setting). There is no universal best setting for the tunable ones, so test them across instruments, regimes and out-of-sample periods and favor stable parameter regions over one historical winner.

Can Percentage Price Oscillator be used by itself?

Like MACD it is derived from past prices, so it lags, and normalizing by the slow average does not remove whipsaws in sideways markets. It has no fixed upper or lower bound, so extreme readings are judged against the instrument's own history. For that reason it is read next to measures of direction, participation, valuation, liquidity and risk, not alone.

Does Percentage Price Oscillator work on every timeframe?

The calculation (PPO = 100 * (EMA(12) - EMA(26)) / EMA(26); Signal = EMA(9) of PPO; Histogram = PPO - Signal) can be run on any bar size, but behavior is not portable: a reading on a five-minute chart describes a very different market window from the same reading on a daily chart. Validate the exact timeframe before relying on it.

Why does Percentage Price Oscillator give false signals?

The percentage form is relative to the slow EMA, so a gap of fixed size reads as a larger percentage in low-priced periods than in high-priced ones. Because it uses the same lagging averages as MACD, crossings of its signal line arrive after the swing that produced them. Lag, noise and regime changes add to this, because market participants react to new information after the reading is calculated.

How should Percentage Price Oscillator be backtested?

Rebuild Percentage Price Oscillator from a price series, most often the close using point-in-time data, write the rules before testing, include delisted securities where relevant, model realistic fills and costs, reserve a validation sample and compare with a simpler baseline.

Swoopr Editorial Team

The Swoopr Editorial Team produces independent investment education, research, and tools for understanding markets, evaluating opportunities, and managing risk. All content is educational only and does not constitute personalized investment advice.

See our editorial policy and corrections policy.