What it measures

The volume-weighted moving average is a simple moving average in which each bar's price is weighted by the volume traded on it. A price reached on heavy volume pulls the average more than the same price on thin volume. It is a rolling-window cousin of VWAP, which anchors to the start of a session instead.

The calculation

VWMA = Σ(price × volume) / Σ(volume), over the last n bars

With equal volume on every bar it is exactly the SMA; the difference between the two is a measure of whether recent volume arrived on higher or lower prices.

Inputs and defaults

  • Length: 20 by default.
  • Source: close.

How it is read

VWMA above the SMA of the same length means the heavy-volume bars were the higher-priced ones, which is read as buying conviction; below, the reverse. Crossovers of price and VWMA are used like any average cross.

Where it fails

On crypto the volume field depends on the venue: exchange-reported volume differs across platforms, includes wash trading on some, and is simply the venue's own flow on a single exchange's data. An average weighted by an unreliable number is an unreliable average. The desk's screen ran on one exchange's spot candles, so a VWMA rule tested there is a rule about that venue's volume.

How the desk reads it

Volume-conditioned rules are read with the question of which venue's volume they were fitted to. When a strategy's edge changes materially between a volume-weighted and a plain average of the same length, the desk reads that as a statement about the venue's volume rather than about price.

In the desk's screen

Of the 614 screened strategies in the library, 31 (5.0%) use this indicator somewhere in their logic.

8 of those were gross-profitable on enough cells to reach the after-fee replay.

The count is read from the compiled code of each strategy in the library; a strategy that computes the indicator by hand under another name is not counted. The desk's own rules are not part of the count.