Volume & money flow

Percentage Volume Oscillator · PVO

MACD's formula applied to volume — the momentum of participation, with signal line and histogram.

Works in most conditionsEngine-computed on a fixed sample series
14512096

The formula

Run MACD's formula on volume rather than price: subtract a slow volume EMA from a fast one, divide by the slow EMA, and multiply by 100. Because it is normalised to a percentage, PVO is comparable across instruments with very different volume levels, with a signal line and histogram like MACD.

PVO = (Fast EMA of Volume − Slow EMA of Volume) ÷ Slow EMA of Volume × 100
Worked example
InputValue
Fast EMA of volume (12)1,200,000
Slow EMA of volume (26)1,000,000
Difference200,000
÷ Slow × 100+20%

PVO = (1,200,000 − 1,000,000) ÷ 1,000,000 × 100 = +20% — volume is running 20% above its slower average.

What it is

The Percentage Volume Oscillator applies the MACD formula to trading volume instead of price, producing a read on the momentum of participation — whether the crowd is showing up in greater or smaller numbers over time. It answers a question price-based tools cannot: is volume expanding or contracting, and is that change itself speeding up or slowing down? Just as MACD compares a fast and slow moving average of price, PVO compares a fast and slow moving average of volume, and because it is expressed as a percentage it can be compared across instruments with wildly different volume levels. It says nothing about which way price is going, only about how much fuel is flowing into the market. For a beginner it is best pictured as a MACD that watches the size of the crowd rather than the direction they are pushing.

How it is calculated

PVO subtracts a slow exponential moving average of volume from a fast one, divides by the slow volume EMA, and multiplies by 100, the standard lengths being 12 and 26 for the EMAs with a 9-period signal line, exactly mirroring MACD. Dividing by the slow EMA normalizes the figure into a percentage, so a stock trading millions of shares and one trading thousands can be compared on the same axis. The signal line is a 9-period EMA of the PVO, and the histogram is PVO minus signal. A positive PVO means the fast volume average is above the slow one — volume is running above its recent norm — while a negative PVO means participation has thinned below its longer-term average. The construction is deliberately identical to MACD so that the familiar crossover and histogram readings transfer directly.

Reading it, step by step

When PVO is above zero, recent volume is running hotter than its longer-term baseline, and when below zero, volume has cooled off. A rising PVO means participation is accelerating as more traders engage, while a falling PVO means the crowd is dispersing. The signal-line crossover marks when that expansion or contraction of volume is itself gaining or losing momentum, and the histogram visualizes the same shift earlier. Crucially, PVO carries no directional information about price, so a spike in PVO merely says a lot of volume arrived, not whether it was buying or selling — you must overlay price to interpret it. High and rising PVO during a price breakout confirms real participation, while high PVO during a price top can equally signal a climax of selling.

Best timeframes

  • Scalping1m – 5m
  • Day trading5m – 15mbreakout confirm
  • Swing1h – Daily
  • PositionDaily

PVO confirms whether a price move has participation behind it; always read it next to price, never alone.

PVO vs other volume-momentum tools

PVOVolume OscillatorVolume ROC
UnitsPercentPercent or rawPercent
Signal lineYesNoNo
Shows price directionNoNoNo
Comparable across assetsYesPartlyYes

Common price-action setups

How the signal typically plays out on the chart.

Breakout with volume

PVO rises through zero as price breaks resistance — the expansion in participation confirms the move; enter the breakout with a stop below the base.

Buy confirmed
Backed by volume
Volume-momentum cross

PVO crosses above its signal line, showing volume momentum building — use it to confirm a fresh price signal pointing the same way.

Confirm entry
Participation rising
Thinning rally

Price grinds to new highs while PVO falls — the move is running on fading volume; treat it as a caution to tighten stops.

Tighten stops
Rally on light volume

Best timeframes and settings

The 12, 26, and 9 defaults transfer from MACD and work on daily charts for swing traders and intraday charts for day traders alike. Shorter EMA lengths make PVO react faster to bursts of volume but introduce more noise and false crossovers, while longer lengths give a smoother, more reliable read of the participation regime at the cost of lag. Because it is percentage-based, keeping the settings constant lets you compare volume momentum across a whole watchlist, which is one of its practical strengths. Intraday traders confirming breakouts may prefer slightly faster settings, while position traders gauging accumulation over weeks keep the standard lengths. As always, faster settings favor responsiveness and slower ones favor reliability.

When and where to use it

PVO is a confirmation tool, most useful for validating whether a price move — a breakout, a trend, a reversal — has genuine participation behind it. It works across any market with trustworthy volume data such as equities, futures, and liquid ETFs, though it is unreliable on instruments where reported volume is fragmented or thin, as in some forex feeds. It is regime-agnostic on its own but gains meaning only when paired with price, so it should never be traded in isolation. Use it to separate high-conviction breakouts, where price and PVO both surge, from hollow ones where price rises while PVO fades. Avoid drawing directional conclusions from PVO alone, since it is deliberately blind to price direction.

Strategies that use it

The core strategy is breakout confirmation — take a price breakout above resistance only when PVO is rising and preferably crossing above zero, evidence that real volume is fueling the move, and be skeptical of breakouts on falling PVO. A trend-health approach watches for PVO to sag while price trends higher, warning that the move is thinning out and may be nearing exhaustion, which can cue tightening stops or taking profit. A climax-detection use flags an extreme PVO spike at the end of an extended move as a possible blow-off or capitulation, where combining it with a reversal candle or price extreme sets up a fade. In every case PVO supplies the participation half of the read and price supplies the direction half, and the two must be interpreted together.

Combining it with other indicators

PVO's essential partner is price itself, and by extension price-based tools like moving averages, trendlines, or the MACD, whose signals PVO can confirm or contradict. On-Balance Volume or the Accumulation/Distribution line add a directional volume read that complements PVO's directionless one, telling you whether the participation is buying or selling. Support and resistance and breakout levels give PVO something concrete to confirm. Momentum tools such as RSI round out the picture by flagging whether the price move is also stretched. The consistent logic is to let PVO judge how much volume is present while price and directional-volume tools judge what that volume is doing.

Where it fails

PVO's defining limitation is that it is directionless — it tells you volume expanded but not whether buyers or sellers drove it, so read alone it is easy to misinterpret a selling climax as bullish participation. It inherits MACD's lag and its tendency to produce false crossovers in choppy conditions, and it is only as reliable as the underlying volume data, which can be fragmented or misleading on some instruments and in fast markets. A common mistake is treating a PVO spike as automatically bullish; another is acting on its crossovers without reference to price. The remedy is to always pair PVO with a directional read and a price level it is meant to confirm, and to discount its signals when volume-data quality is poor. Treating its extremes as fixed thresholds is also an error, since it is unbounded and its meaningful levels vary by instrument.

A worked example

Suppose a stock has been coiling under resistance at 50 for two weeks on quiet volume, leaving PVO drifting below zero near minus 10. On the breakout day price closes at 51 and volume explodes to three times its recent average, driving PVO sharply up through zero and above its signal line — the participation confirms the break, and a trader takes the long with confidence the move has fuel. Contrast a second scenario where price nudges to 51 but volume is flat and PVO stays negative and falling; the same price break now looks hollow, and the trader stands aside, suspecting a false breakout likely to fail back under 50. Later, after a long rally, price pushes to a new high on a massive volume surge that spikes PVO to an extreme, and combined with a bearish reversal candle, that climactic participation warns of a possible blow-off top rather than a healthy continuation.

Common mistakes

  • Reading PVO for price direction — it only measures volume momentum, never which way price goes.
  • Trading PVO crossovers alone instead of using them to confirm a separate price signal.
  • Ignoring MACD-style lag and false crossovers in choppy, low-conviction conditions.
  • Trusting it on instruments with dirty or thin volume data.
  • Treating a high PVO as bullish; heavy volume can accompany a sell-off just as easily.