PVO

The PVO, or percentage volume oscillator, measures the momentum of volume itself. PVO, also known as percentage volume oscillator, is a Volume & Order Flow concept. The Library holds 1 implementation, ready to run on Vela.

Top PVO indicator

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

1 total

Want to trade PVO? Put the implementation below on a live chart in Vela, and Quant will help you build a strategy on it and backtest it.

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.

PVO FAQ

Turn PVO into a trading strategy.

Open the implementation from this page in Vela. Quant, our coding agent, builds the strategy with you and backtests it on real data.

Build a strategy in Vela
Browse this familyVolume & Order Flow91 concepts mapped · 91 in the Library