Concept

PVO

PVO, also known as percentage volume oscillator, is a Volume & Order Flow concept. The Library holds 1 implementation — a working definition you can pull into Quant.

Top PVO indicator

The top custom implementation, built on the original standard PVO formula.

1 total

What is the PVO?

The PVO, or percentage volume oscillator, measures the momentum of volume itself. It takes the difference between a fast and a slow exponential moving average of volume and expresses it as a percentage of the slow average, producing an oscillator that swings above zero when volume is expanding relative to its recent norm and below zero when it is contracting. A signal line and histogram complete the construction, making it the volume-domain sibling of the PPO, which applies the identical math to price.

The indicator exists to answer a question raw volume bars answer badly: is participation picking up or fading right now, relative to its own baseline? Raw volume is noisy and scale-dependent, so comparing today's bar to yesterday's tells you little across instruments or regimes. By normalizing the fast/slow spread into a percentage, the PVO puts a liquid index ETF and a small-cap stock on the same footing and turns volume expansion and contraction into a comparable series.

Traders care because most volume-based reasoning ultimately reduces to the same test: moves accompanied by expanding participation deserve more trust than moves on fading participation. The PVO mechanizes that test. Its critical limitation is that it is direction-blind. Volume expands on heavy selling exactly as it does on heavy buying, so a rising PVO says only that something energetic is happening, and it must always be paired with price context before it means anything directional.

How it's calculated

The PVO applies MACD-style math to volume and normalizes the result into a percentage.

PVO = 100 * (EMA_fast(volume) - EMA_slow(volume)) / EMA_slow(volume)
signal = EMA_s(PVO)
histogram = PVO - signal
EMA_fast: exponential moving average of volume over the fast period (default 12)
EMA_slow: exponential moving average of volume over the slow period (default 26)
EMA_s: exponential moving average of the PVO over the signal period (default 9)
volume: per-bar traded volume

Defaults of 12, 26, and 9 mirror the standard MACD/PPO settings.

Because volume cannot be negative, the PVO is bounded below near -100 but has no fixed upper bound during extreme volume spikes.

How traders use it

  • Confirming breakouts: a breakout accompanied by the PVO rising above zero indicates participation is expanding with the move, one of the standard checks for volume at breakout quality.
  • Flagging fading trends: price grinding to new highs while the PVO trends lower shows the advance is drawing progressively less participation, the oscillator form of a volume divergence.
  • Timing volatility regimes: sustained readings below zero mark quiet, contracting-volume conditions from which expansions often launch, so some traders use PVO troughs as a setup filter rather than a signal.
  • Cross-instrument screening: because the output is a percentage, screens can rank many symbols by volume expansion on equal terms, which raw volume cannot do.
  • Respecting direction-blindness: the PVO must be combined with price action or a signed measure such as volume delta, since a surging PVO is equally consistent with climactic buying or panicked selling.

PVO vs neighboring volume indicators

Volume oscillator: The plain volume oscillator takes the same fast/slow MA spread but often leaves it in raw units or uses simple averages. The PVO's percentage normalization is what makes readings comparable across instruments.

PPO: Identical construction applied to price instead of volume. The PPO measures price momentum; the PVO measures participation momentum, and the two are often read together.

OBV: OBV signs each bar's volume by price direction and accumulates it, producing a directional pressure line. The PVO ignores direction entirely and measures only whether volume is expanding or contracting.

Concept family

Volume & Order Flow

88 concepts mapped · 88 in the Library

PVO FAQ

What is the difference between the PVO and MACD?

The math is nearly the same, but the input differs: MACD runs on price, the PVO runs on volume and normalizes the spread into a percentage. A PVO crossover says volume momentum shifted, nothing directly about price direction.

Is a high PVO bullish?

Not inherently. It means volume is expanding relative to its baseline, which happens in crashes as readily as in rallies. Direction must come from price.

What settings should I use?

The 12, 26, 9 defaults are standard and adequate for most uses. Shorter settings make it a faster but noisier participation gauge; there is no evidence any particular tuning is reliably superior.

Does the PVO work on all markets?

It needs trustworthy volume data. It behaves well on equities and futures, while spot forex tick volume and unevenly reported crypto volume make readings less meaningful there.

Build PVO your way.

Quant writes, tests, and refines it with you — then it runs on LuxAlgo charting or ports to TradingView.