Skip to content
Indicators 7 min read

Volume weighted average price (VWAP): how it works

How VWAP weights each trade’s price by volume from the session open, how to calculate it, why daily bars only approximate it, and how it differs from averages.

Hypothetical 15-minute candles for one session with the session VWAP line and a volume pane that is heavy at the open and the close.Session VWAPPrice crosses above VWAPVolume
Hypothetical intraday bars, not market data. VWAP starts at the first bar’s typical price, follows the morning slide on heavy volume and rises only slowly in the afternoon, while price crosses above it in the eleventh bar.

VWAP is the average price paid per share since the session opened, weighted by the shares traded at each price. It needs trade-by-trade or intraday data and resets every session; a daily bar can only approximate it.

What the volume weighted average price is

The volume weighted average price, or VWAP, is the total dollar value of a stock’s trades divided by the total number of shares traded, usually over one session. A price at which many shares changed hands moves it more than a price touched by a few shares. Trading desks use it as an execution benchmark: buying below the session VWAP means paying less than the session’s average price, and Berkowitz, Logue and Noser used it as a yardstick in a 1988 study of trading costs on the New York Stock Exchange.

  • Inputs: the price and size of every trade in the session, or intraday bars with their volume.
  • Start and reset: the first trade of the session; the calculation starts again the next session.
  • Units: dollars per share.
  • Cadence: intraday. A daily bar holds one high, low, close and volume, which is not enough to reproduce the session’s VWAP.

How to calculate VWAP

Multiply each trade’s price by its number of shares, keep running totals of that value and of the shares, and divide one total by the other after every trade. With intraday bars instead of trades, each bar’s typical price stands in for the prices traded inside it. Both versions start at the session open.

VWAP = Σ (Price × Shares) / Σ Shares, over all trades since the open
Bar version: VWAP = Σ (Typical price × Volume) / Σ Volume, over all bars since the open
Typical price = (High + Low + Close) / 3
Four hypothetical trades at the open
TradePrice ($)SharesPrice × shares ($)Cumulative value ($)Cumulative sharesVWAP ($)
150.0040020,00020,00040050.0000
250.1030015,03035,03070050.0429
349.9060029,94064,9701,30049.9769
450.2020010,04075,0101,50050.0067
Hypothetical hourly bars for one session (volume in thousand shares)
Bar (Eastern time)High ($)Low ($)Close ($)Volume (thousand shares)Typical price ($)Typical price × volume ($ thousand)VWAP since the open ($)
9:30–10:3050.4048.9049.201,80049.5089,10049.50
10:30–11:3049.6048.8049.411,10049.2754,19749.41
11:30–12:3049.9049.2049.7980049.6339,70449.46
12:30–13:3050.3049.6050.1060050.0030,00049.54
13:30–14:3050.6049.9050.4960050.3330,19849.63
14:30–15:3051.2050.4051.0190050.8745,78349.82
15:30–16:0051.4050.8151.301,00051.1751,17050.02

The first bar sets VWAP at its own typical price, $49.50. Heavy morning volume at low prices keeps the line under $50 until the last bar, even though the stock closes at $51.30.

Intraday VWAP compared with a daily-bar approximation

A true VWAP needs to know where during the session the volume traded. A daily bar keeps only the session’s high, low, close and total volume, so a VWAP-style line on a daily chart has to approximate each session’s average price, usually with the typical price weighted by daily volume. The approximation can miss by a wide margin when volume clusters at one end of the range.

The same hypothetical session, measured two ways
MeasureValue ($)
Session high51.40
Session low48.80
Session close51.30
Typical price of the daily bar50.50
VWAP from the hourly bars50.02
Typical price minus VWAP+0.48

Here the daily typical price overstates the average price paid by 48 cents, because most of the volume traded in the morning near the low. A trade-level VWAP can differ again from the hourly-bar figure, since each bar’s typical price is itself an approximation.

TradeClever works with daily session data and does not calculate VWAP. Its daily candles and volume show each session’s range and total activity, the information a daily approximation starts from.

Anchored VWAP compared with daily VWAP

The standard, or daily, VWAP starts at each session’s open and resets the next morning. An anchored VWAP starts at a session or bar that you choose, such as an earnings release, a gap or a swing low, and keeps accumulating across later sessions. The daily version answers “what has the average buyer paid today”, the anchored version “what has the average buyer paid since that event”.

Daily and anchored VWAP
FeatureDaily (session) VWAPAnchored VWAP
Starting pointThe session openA bar or session chosen by the chart reader
ResetEvery sessionOnly when the anchor is moved
Typical dataTrades or intraday barsIntraday bars, or daily bars as an approximation over many sessions
Typical useBenchmark for the day’s executionsAverage price paid since a specific event

Read more in the guide to anchored VWAP.

VWAP compared with a moving average

A moving average and VWAP both summarize past prices, but they weigh and window them differently. A simple moving average gives each of the last n closes the same weight and rolls forward one bar at a time without ever resetting, and an EMA tilts the weights toward recent closes. VWAP weights each price by the shares traded there and grows from the session open, so early in the day it rests on a handful of trades and late in the day on the whole session.

VWAP, SMA and EMA
FeatureVWAPSMAEMA
WeightsShares traded at each priceEqual for every close in the windowLarger for recent closes
WindowFrom the session open to nowThe last n barsAll past bars, with fading weight
ResetEvery sessionNeverNever
InputsPrices and volumeClosing pricesClosing prices

A volume-weighted moving average sits between the two: it weights a rolling window of closes by their volume, like VWAP, but keeps a fixed window, like an SMA. See moving averages in chart research.

How to use VWAP on stock charts

On an intraday chart, VWAP is drawn as a line over the price bars of the current session. Price above the line means the latest trades are above the average paid so far; price below means they are under it. Intraday traders often watch whether price holds above or below the line and how far it stretches from it, while execution desks compare their fills with it after the session.

  • Start from the open. The first readings rest on few trades and can swing widely.
  • Read the slope. A rising VWAP means trades are happening at higher prices than the running average.
  • Read distance as context. A price far from VWAP late in the session reflects a large move on the day, not a forecast of a return to the line.
  • Keep the session definition in mind. Whether pre-market and after-hours trades are included changes the line.

A VWAP stock chart example

The hypothetical chart on this page shows one session of 15-minute bars with the session VWAP and volume. The line starts at the first bar’s typical price, follows the morning slide on heavy volume and flattens near $49.80 as volume thins out around midday. Price crosses above VWAP in the eleventh bar and finishes the session above it, while VWAP, still carrying the weight of the heavy morning volume, rises only to about $50.19.

Limitations in sideways markets and beyond

In a sideways session, price oscillates around a flat VWAP and crosses it many times, so each crossing says little. Late in the day the cumulative weight makes VWAP slow to respond, and a new move can carry price far from the line before the line follows.

  • Many crossings in a range. A flat line through a range invites crossings that lead nowhere.
  • Slow late in the session. By the afternoon most of the day’s volume is already in the average.
  • Session only. Daily VWAP says nothing about the average price paid on previous days; that takes an anchored version.
  • Data choices. Results change with the trade data used, the session hours included and how bars approximate trades.
  • Not a measure of value. VWAP describes where trading happened, not what a share is worth.

Sources

  • Stephen A. Berkowitz, Dennis E. Logue and Eugene A. Noser, “The Total Cost of Transactions on the NYSE,” Journal of Finance, vol. 43, no. 1 (1988), pp. 97–112

Read our data and methodology notes for calculation context. This guide explains research tools and observations. It does not recommend a trade or investment.

Follow your curiosity

One good question leads to another.

All guides
Make room for better research

Put your curiosity to work.

Build a scan with filters or CleverScan rules. Explore the results. Find your next idea.

Open a stock chart