Order Flow and Market Microstructure · Lesson 4 of 5

VWAP Explained: Formula, Calculation and How Traders Use It

VWAP, the volume-weighted average price, is the average price of all trades over a period, each price weighted by the volume traded at it. It resets at the start of each session and shows the average price paid by everyone who traded that day.

Intermediate · 9 min read · Updated

What you will learn

Calculate VWAP by hand, explain why institutions use it and read it without overinterpreting it.

Read first: Bid, Ask and Spread: How Prices Are Quoted and What They Cost

The formula

VWAP = Σ(price × volume) ÷ Σ(volume), summed from the start of the session. On bar charts, the price of each bar is often approximated by its typical price, (high + low + close) ÷ 3; with tick data, each trade is used at its exact price.

Hypothetical example · VWAP after three bars

Bar 1: typical price 100.57, volume 900. Bar 2: 101.27, volume 700. Bar 3: 101.87, volume 650. VWAP = (100.57 × 900 + 101.27 × 700 + 101.87 × 650) ÷ 2,250 ≈ 101.16. Bar 1, with the most volume, pulls the average towards its price.

Session VWAP over a series of barsTwelve hypothetical candles with a line showing the session VWAP, which starts near 100.6 and rises slowly to about 101.5 as volume accumulates.Session VWAP
Session VWAP calculated from typical prices and hypothetical volumes; the line becomes steadier as volume accumulates. Hypothetical illustration drawn for this lesson — not real market data.

Why institutions watch it

Large orders are often measured against VWAP: an execution desk that buys below the day’s VWAP has, on average, paid less than the market. Because of that, VWAP is a common benchmark for executing big orders over a session, and many algorithms aim to trade close to it. This is a reason traders watch the line; it does not mean price must react to it.

Reading VWAP on a chart

  • Price above VWAP: buyers of the day are, on average, in profit; below, they are at a loss.
  • A flat VWAP with price crossing it repeatedly suggests a balanced, rotational session.
  • A steadily rising VWAP with price above it suggests a directional session.

Standard deviation bands, calculated with the same volume weighting, show how far price is from the average relative to the session’s dispersion. The free TEVO VWAP draws the session, weekly, monthly and anchored VWAP with these bands in NinjaTrader 8.

Limits

  • VWAP is an average: it lags, especially late in the session when a lot of volume is already included.
  • It is not a support or resistance level by nature; any reaction is an observation to test, not a rule.
  • Bar-based VWAP differs slightly from tick-based VWAP; use the same method when you compare levels.
  • For overnight futures sessions, decide whether your VWAP starts at the electronic session open or at the regular session open, and keep that choice.

Standard deviation bands, worked through

Bands measure the volume-weighted dispersion of prices around VWAP: σ = √(Σ volume × (price − VWAP)² ÷ Σ volume).

Hypothetical example · Bands after three bars

With the three bars above and a VWAP of 101.16, the deviations of the typical prices are −0.593, +0.107 and +0.707. Squared and weighted by volume: 900 × 0.352 + 700 × 0.011 + 650 × 0.500 ≈ 649. Divided by 2,250 that gives about 0.289, and its square root σ ≈ 0.54. The first bands sit at 101.16 − 0.54 = 100.62 and 101.16 + 0.54 = 101.70.

Bands widen when prices spread out and narrow in quiet sessions. Price outside the second band is unusual for that session, which is a description of the day so far, not a forecast of a return to the average.

Common mistakes

  • Buying every touch of VWAP without context.
  • Comparing a VWAP calculated from a different session start.
  • Forgetting that early in the session VWAP rests on very little volume and moves a lot.

The next lesson shows the anchored version, which starts from an event you choose instead of the session open.

Practice exercise

On a 5-minute chart, export the high, low, close and volume of the first six bars of a session. Calculate the VWAP after each bar with a spreadsheet, then compare it with the VWAP of your platform. Explain any difference.

Check your understanding

1. What does VWAP weight each price by?

  1. Time
  2. Volume traded
  3. Number of trades
Show the answer

Answer: Volume traded. Each price counts in proportion to the volume traded at it.

2. Two bars: 100 with volume 300, 110 with volume 100. What is the VWAP?

  1. 102.5
  2. 105
  3. 107.5
Show the answer

Answer: 102.5. (100 × 300 + 110 × 100) ÷ 400 = 102.5.

3. Why do execution desks use VWAP?

  1. It predicts the close
  2. It is a benchmark for the average price paid during the session
  3. It is set by the exchange
Show the answer

Answer: It is a benchmark for the average price paid during the session. Buying below VWAP means paying less than the market on average.

Practise with the free tools

Frequently asked questions

Does VWAP work on daily charts?

Session VWAP is built for intraday charts. For longer periods, weekly, monthly or anchored VWAP are used instead.

Is VWAP the same as a moving average?

No. A moving average weights each bar equally over a rolling window; VWAP weights by volume from a fixed starting point.

Why is my VWAP different from another platform’s?

Different session starts, bar-based versus tick-based calculation, or different data can all change the value slightly.

Related lessons

References and further reading

  1. Order Flow Volumetric Bars (NinjaTrader 8 Help Guide) — NinjaTrader
  2. Time & Sales (NinjaTrader 8 Help Guide) — NinjaTrader
  3. E-mini Nasdaq-100 futures contract specifications — CME Group

Written with the help of AI tools, then checked against the sources listed and our methodology. Report an error and we will correct it. Methodology · Editorial policy · Report an error

Educational content only, not investment advice. Futures and leveraged products can lose more than the initial deposit.

Educational content. These indicators are not investment advice and guarantee no result. Futures trading involves a risk of loss that can exceed the initial investment. Terms of use · Disclaimers