Markets: A Rigorous Course

4A.3 Volume, relative volume and VWAP

Core about 15 min

Motivation

Practitioners say "volume confirms price": a breakout on heavy volume is more trustworthy than one on light volume. There is solid evidence that volume and volatility move together, and some evidence that unusual volume predicts returns. There is much less evidence for the specific confirmation rules traders use.

4A.3.1Evidence on volume#

What is known

  • Volume and volatility are positively correlated (Karpoff, "The relation between price changes and trading volume: a survey", Journal of Financial and Quantitative Analysis 22(1), 1987, 109–126; Cont's stylised fact 10, M02 · 2.5). In the mixture-of-distributions view (Clark 1973), both are driven by the rate of information arrival. High volume on a breakout is therefore partly just a high-volatility day.
  • The high-volume return premium. Gervais, Kaniel and Mingelgrin, "The high-volume return premium", Journal of Finance 56(3), 2001, 877–919: US stocks with unusually high (low) trading volume over a day or a week tend to rise (fall) over the following month. They attribute it to visibility: a volume shock attracts attention and subsequent demand. The effect is stronger when the volume shock is not accompanied by an extreme return. Note that this is about volume, not about volume confirming a price pattern.
  • Volume and momentum. Lee and Swaminathan, "Price momentum and trading volume", Journal of Finance 55(5), 2000, 2017–2069, find that past trading volume predicts the magnitude and persistence of momentum. This is a cross-sectional result about portfolios, not a timing rule for single breakouts.

4A.3.2Time-of-day relative volume#

Relative volume M04 defined daily relative volume RVOLtn=Vt/1n∑k=1nVt−k\mathrm{RVOL}^n_t=V_t/\frac1n\sum_{k=1}^nV_{t-k}. Intraday, volume is U-shaped across the session (heavy at the open and close; M05 · 5.6), so the right comparison at time ss into the session is with the same time of day:

RVOLtn(s)=Vt(0,s)1n∑k=1nVt−k(0,s),(4A.2)\mathrm{RVOL}^n_t(s)=\frac{V_t(0,s)}{\frac1n\sum_{k=1}^{n}V_{t-k}(0,s)}, \tag{4A.2}

where Vt(0,s)V_t(0,s) is cumulative volume from the open to time ss on day tt. Comparing 10:00 cumulative volume with a full-day average understates relative volume by the share of the day's volume normally done after 10:00. The "stocks in play" literature (M05 · 5.8) uses (4A.2).

4A.3.3VWAP as a reference level#

Definition 4A.5VWAP and anchored VWAP

The session VWAP at time ss is ∑pivi/∑vi\sum p_iv_i/\sum v_i over trades since the open (M05 (5.14)). An anchored VWAP starts the sums at a chosen event (an earnings day, a breakout bar, the 4 June 2024 low); on daily bars it is computed with the typical price (H+L+C)/3(H+L+C)/3 as a proxy for each day's trade prices. Interpretation: the anchored VWAP is the average cost of everyone who bought since the anchor. Price above it means those buyers, as a group, are in profit.

Why VWAP works as a reference level is institutional: execution desks are benchmarked to it (Berkowitz, Logue and Noser 1988; M05 · 5.6), so a buy programme that is behind its VWAP schedule must buy, and one ahead can wait. That creates order flow conditioned on price versus VWAP. Whether it creates a predictable return is a separate question. M05 · 5.8 discusses the "price above VWAP, go long" intraday papers, which are author backtests in US markets with low costs.

Proposition 4A.3distance from VWAP under a random walk

Let the price be St=S0+σWtS_t=S_0+\sigma W_t on [0,T][0,T] and let volume arrive at a deterministic rate with density w(t)w(t) on [0,T][0,T], ∫0Tw=1\int_0^Tw=1. The VWAP is A=∫0TStw(t) dtA=\int_0^TS_tw(t)\,dt. Then

Var⁡(ST−A)=σ2(T−2∫0Tw(t) t dt+∫0T ⁣ ⁣∫0Tw(s)w(t)min⁡(s,t) ds dt),(4A.3)\operatorname{Var}(S_T-A)=\sigma^2\Big(T-2\int_0^Tw(t)\,t\,dt+\int_0^T\!\!\int_0^Tw(s)w(t)\min(s,t)\,ds\,dt\Big), \tag{4A.3}

which for uniform volume (w=1/Tw=1/T) equals σ2T/3\sigma^2T/3. In particular P(ST>A)=12P(S_T>A)=\tfrac12.

Proof

ST−A=σ(WT−∫wW)S_T-A=\sigma\big(W_T-\int wW\big) is a centred Gaussian. Expand the variance with Cov⁡(Ws,Wt)=min⁡(s,t)\operatorname{Cov}(W_s,W_t)=\min(s,t): Var⁡WT=T\operatorname{Var}W_T=T, Cov⁡(WT,∫wW)=∫w(t)min⁡(T,t) dt=∫w(t)t dt\operatorname{Cov}(W_T,\int wW)=\int w(t)\min(T,t)\,dt=\int w(t)t\,dt, and Var⁡∫wW=∬w(s)w(t)min⁡(s,t)\operatorname{Var}\int wW=\iint w(s)w(t)\min(s,t). For w=1/Tw=1/T: ∫t/T dt=T/2\int t/T\,dt=T/2 and 1T2∬min⁡(s,t)=T3\frac1{T^2}\iint\min(s,t)=\frac{T}{3}, so the bracket is T−T+T/3T-T+T/3. Symmetry of the centred Gaussian gives P(ST>A)=12P(S_T>A)=\tfrac12.∎

Worked example 4A.2how far the close is from VWAP on a quiet day

The median trailing Parkinson estimate of Nifty's intraday volatility over 2011–2026 is 0.687% per session (computed from Yahoo ^NSEI daily bars). With uniform volume, the standard deviation of close minus VWAP is 0.687%/3=0.397%0.687\%/\sqrt3=0.397\%, about 95 points with Nifty at 24,000. A close 50 points above VWAP is about half a standard deviation: ordinary. "Closed above VWAP" is a coin flip under the null, so it is a signal only if the conditional forward return differs from the unconditional one, after costs. With U-shaped volume the variance is slightly smaller (Problem 4A.9).

Practitioner notes

  • Volume on NSE is reported per exchange; a stock's total traded volume is NSE plus BSE. For Nifty constituents NSE dominates, but for some stocks BSE share is material. Use consistent sources.
  • Relative volume on expiry Tuesdays, index rebalance days (4A.11) and MSCI/FTSE review days is mechanically high. Exclude or flag them before reading volume "confirmation".
  • Block deals (4A.5) print large volume in a separate window. Treat them as one trade, not as broad participation.

Create a free account

Reading is open to everyone. An account keeps your progress, answers, notes and code drafts, and gives you the study plan, the journals and the simulator. Running code needs an account approved for it.