25 — Volume Indicators

VWAP Bands#

Debated1 min read
◆ The PatternStandard-deviation bands around VWAP: how far price has drifted from where volume puts fair value

VWAP Bands — standard deviation envelopes around VWAP.

VWAP ± 1σ, ± 2σ, ± 3σ
where σ = standard deviation of (Price − VWAP) weighted by volume
Institutional levels:
• ±1σ → ~68% of volume if prices were normal → short-term mean reversion zone
• ±2σ → ~95% if normal (fewer in practice) → stretched
• ±3σ → extreme → strong rubber-band effect
Day traders use these as dynamic support/resistance levels that adapt to volume distribution.
Worked example

Bands two volume-weighted standard deviations of the typical price either side of VWAP. Day 15: VWAP 103.80, bands 98.64 to 108.97. On day 13 the low of 98 dipped below the lower band (98.80), on the heaviest volume of the period.

The example data: 15 days, used in every indicator here
DayHighLowCloseVolume
11019910050,000
210310010262,000
310310010148,000
410510110470,000
510810410785,000
610810510660,000
711010610990,000
811010710872,000
910810410580,000
1010510210366,000
1110510210455,000
1210410110275,000
13102989995,000
141029910164,000
1510510110471,000
Where it misleads
  • The “68% within one band, 95% within two” rule assumes a bell curve; intraday prices rarely follow one.
  • Early in a session there is too little volume behind the bands, and they swing widely in the first bars.
  • Like VWAP itself, they are a reference for execution and context, not a signal with a tested edge.
In code
tp = (df['high'] + df['low'] + df['close']) / 3
v = df['volume']
vwap = (tp * v).cumsum() / v.cumsum()
sd = np.sqrt((v * (tp - vwap) ** 2).cumsum() / v.cumsum())   # volume-weighted SD
df['vwap'], df['vb_up'], df['vb_lo'] = vwap, vwap + 2 * sd, vwap - 2 * sd
Python, in your browser — edit the code and run it again

Assumes import numpy as np, import pandas as pd, and a DataFrame df with columns high, low, close and volume — the 15 days above.

Sources
  • S. Berkowitz, D. Logue & E. Noser, “The Total Cost of Transactions on the NYSE”, Journal of Finance 43(1), 1988 — VWAP as an execution benchmark
  • The bands are a practitioner construction; there is no canonical paper for them.

Last reviewed October 2026 · How this site checks its content · Report a mistake

Pattern bridge: VWAP ± standard deviation bands combine weighted mean with dispersion. The same construction as batch norm’s mean-and-variance framing.
Linked from 1
← Previous
Chaikin Oscillator
Open in the full reader, with the topic sidebar