On This Page
Key Takeaways
- VWMA divides the sum of bar price times bar volume by total volume across the latest n observations.
- When every bar in the lookback carries identical volume, the VWMA equals the simple moving average of the same length exactly.
- VWMA rolls a fixed window. Session VWAP accumulates within a session; anchored VWAP accumulates from the selected starting point.
- VWMA − SMA equals price-volume covariance divided by mean volume for the same window. Its sign describes the relationship between price levels and volume weights.
- A close-based VWMA averages closes using bar-volume weights. Transaction VWAP averages actual trade prices using trade sizes; bar-based VWAP charts can use a selected price proxy.
- Use a defined price input and nonnegative volume observations with positive total volume. The selected volume feed determines the weights.
What is a volume-weighted moving average (VWMA)?
A volume-weighted moving average, or VWMA, is a moving average that multiplies each selected bar price by its volume, sums those products across the latest n bars and divides by total volume in the same window. Heavier-volume bars pull the average toward their prices, so the line shows the volume-weighted price level of the recent window.
A bar with half the window’s volume receives half the weight. A bar with zero volume receives zero weight. With nonnegative volumes and a positive total, the result lies within the range of the selected prices.
Formula
VWMA(n) = sum(P_i × V_i) / sum(V_i), summed over the most recent n bars- n is the lookback length in bars, commonly 20 on a daily chart.
- P_i is the chosen price for bar i, usually the close.
- V_i is the nonnegative volume for bar i. The window’s total volume must be positive.
- Both sums cover the same n bars and roll forward one bar at a time.
How to calculate VWMA: five-period example
A 5-period VWMA is calculated on closes of $48, $50, $49, $52, and $51, each on 1.0 million shares, then a new bar closes at $54 on 4.0 million shares.
- Equal-volume window: (48 + 50 + 49 + 52 + 51) / 5 = $50.00, and the VWMA matches it because every weight is 1.0
- New window drops $48 and adds $54: closes $50, $49, $52, $51, $54 on volumes 1.0, 1.0, 1.0, 1.0, and 4.0 million
- Numerator: 50 + 49 + 52 + 51 + (4 × 54) = 202 + 216 = 418
- Denominator: 1.0 + 1.0 + 1.0 + 1.0 + 4.0 = 8.0
- VWMA = 418 / 8.0 = $52.25, against a 5-period SMA of $51.20
The $54 close carries half of the window’s eight million shares. It lifts VWMA to $52.25, which is $1.05 above the $51.20 SMA.
VWMA vs SMA: reading the gap
For the same window, VWMA − SMA = covariance(price, volume) / mean(volume), using covariance divided by n.
A positive gap means higher price levels receive more volume weight on balance. A negative gap means lower price levels receive more volume weight. Zero covariance makes the two averages equal, including some windows with unequal volumes.
Price levels and bar-to-bar changes are different measurements. Closes of $100, $99 and $98 on volumes 10, 1 and 1 produce VWMA of $99.75 and SMA of $99.00 while the closes decline. Read the gap together with the actual price path and volume bars.
For a percentage comparison across positive-price instruments, use 100 × (VWMA − SMA) / SMA. Define that normalization consistently when ranking names.
VWMA vs VWAP: rolling and cumulative averages
VWMA retains the latest n observations. A new bar adds its price-volume product and volume while the oldest bar removes both.
Session VWAP accumulates within a session. Anchored VWAP accumulates from a chosen start. Their update weights follow newly added volume relative to the accumulated total; VWMA’s weights follow volume retained in its rolling window.
The input price also matters. Close-based VWMA averages closes. Transaction VWAP averages actual trade prices by size. A chart using typical price or another bar proxy calculates a volume-weighted average of that selected input. If each bar input is its exact transaction VWAP, volume-weighting those bars reproduces transaction VWAP across their combined window.
VWMA settings, data feeds and volume proxies
Select the instrument, interval, lookback, price input and volume feed. A cash index needs an explicitly selected volume proxy. A listed stock's consolidated volume and a single venue’s volume define different weights. On spot FX, identify whether the feed supplies traded size or tick activity.
Track a large-volume bar as it enters and leaves the window. Both events change the weighting. Compare the VWMA with an SMA of the same length and read the underlying price structure alongside the gap. Turn that read into a trade in the Options Profit Calculator: set the target from the price structure and an expiration that fits the VWMA’s lookback, then compare each structure’s payoff at that target.
Limitations of the VWMA
- Track heavy-volume bars as they enter and leave the window. VWMA averages a window of past bars, so older prices stay in the average until they drop out, and a heavy-volume bar changes the weighting twice: when it enters and when it leaves.
- Name the volume feed and keep it fixed. Consolidated or single-venue volume, tick counts or traded size, and a proxy for a cash index each produce a different line.
- Read the gap with the price path. A positive gap over the SMA means higher prices carried more volume: closes of $100, $99 and $98 on volumes 10, 1 and 1 put VWMA above SMA while price declines.
- Use VWAP for the average price at which shares traded. A close-based VWMA averages closes, and it reproduces transaction VWAP only when each bar’s input is that bar’s exact VWAP.
Bottom line
The VWMA is a rolling average that weights each price by its volume, so it leans toward the prices of the heaviest-volume bars. Compare it with an SMA of the same length, read the gap alongside the price path and volume bars, and keep the lookback, price input and volume feed fixed.
Clear answers
Frequently Asked Questions
Sources and Further Reading
- thinkorswim Learning Center: VWMA Breakouts
- thinkorswim Learning Center: VWAP study
- thinkorswim Learning Center: Weighted Moving Average study
- Fidelity Technical Indicator Guide: Simple Moving Average
How entries are sourced, calculated and updated: editorial methodology.