Skip to main content
All articlesSkip to article content
IndicatorsConcept PrimerJun 29, 2026 · 7 min read

VWAP Explained: Why Futures Traders Anchor to the Average

VWAP is the volume-weighted average price of a futures session, a benchmark for the average price paid. How it is built, why it resets daily, and how to use it.

By Imperial Analytics

VWAP is one of the most-watched lines on a futures chart, and one of the most misread. Traders treat it as a signal that price is about to bounce or break, when it is really a measurement of something that has already happened: the average price the market has paid since the session began, weighted by where the volume actually traded. Understanding what the line is built from, and what it is not, separates using it as context from treating it as a forecast. This post defines VWAP, walks through how it is constructed tick by tick, explains why it resets each session, and shows how to log it so its usefulness can be measured rather than assumed.

By Imperial Analytics

What VWAP is

VWAP is the volume-weighted average price of every trade in a session. It divides the total dollar volume by the total contract volume, so each price counts in proportion to the size traded there. The result is a single line marking the average price the market has paid so far today.

The full name carries the definition: VWAP is the volume-weighted average price. A plain average of prices treats a one-contract trade and a five-hundred-contract trade as equal. A volume-weighted average does not. It multiplies each trade's price by the number of contracts that traded at it, sums those products across the session, and divides by the total contracts traded. A price where heavy volume changed hands pulls the line toward it; a price touched by a single contract barely moves it.

That weighting is the whole point. Two sessions can cover the same price range and have very different VWAPs, because the line follows where the size was, not where the highs and lows were. A session that spent most of its volume near the lows prints a VWAP near the lows even if price briefly spiked higher. VWAP answers a narrower question than the chart does: not where did price go, but where did the money actually trade.

How VWAP is built through the session

VWAP is cumulative. It starts at the first trade of the session and updates with every print, adding each new trade's price times its size to a running total and dividing by the running volume. Early in the session it moves quickly; as volume accumulates, each new trade moves it less.

Mechanically, the calculation carries two running totals from the session open. The first is cumulative dollar volume, the sum of every trade's price multiplied by its size. The second is cumulative contract volume, the sum of every trade's size. VWAP at any moment is the first divided by the second. Every new print updates both totals, and the line redraws.

A small worked example makes the arithmetic concrete. Suppose the first three prints of a session are 200 contracts at 5,000.00, then 100 contracts at 5,002.00, then 200 contracts at 5,001.00. The cumulative dollar volume is 1,000,000 plus 500,200 plus 1,000,200, which is 2,500,400. The cumulative contract volume is 500. VWAP is 2,500,400 divided by 500, or 5,000.80. The line sits closer to 5,000.00 and 5,001.00 than to 5,002.00, because more size traded at the lower two prices.

Data note

The three prints above and the resulting 5,000.80 VWAP are illustrative figures chosen to make the calculation legible. They are not drawn from a live session. A real session aggregates thousands of prints, but the arithmetic is identical: cumulative dollar volume divided by cumulative contract volume, updated on every trade.

The cumulative structure explains why VWAP behaves differently across the session. In the first minutes only a few trades have accumulated, so a single large print can swing the line several ticks. By the afternoon the running volume is large, and a print of the same size barely registers against the total. The line stiffens as the session fills in, which is why a midday cross of VWAP carries different weight than one in the opening rotation.

Why VWAP resets each session

VWAP is anchored to the session open and resets when the next session begins. Because it sums volume from a fixed start, it answers a single question: what is the average price paid since this session started? A new session starts a new sum, so yesterday's VWAP does not carry forward.

The anchor is what makes VWAP a session tool rather than a trend tool. Both running totals begin at zero at the session open and accumulate only the trades that follow. The moment a new session starts, the sums reset and the line begins again from the first print. This is why the same chart shows a fresh VWAP each day rather than one continuous line stretching back across sessions.

That reset is also the source of the word anchor. VWAP is anchored to a specific starting point, and everything it reports is relative to that anchor. Some platforms let a trader re-anchor the calculation to a different event, such as a major news release or the prior day's high, which restarts the sums from that bar instead of the session open. The mechanics do not change; only the starting point of the running totals does. Whatever the anchor, the line always describes the average price paid since that point and nothing before it.

Why traders anchor to VWAP

Traders anchor to VWAP because it marks the average price the market has paid, weighted by where the volume actually traded. A buyer filled below VWAP paid less than the session average; a buyer filled above it paid more. That makes VWAP a reference for whether an entry sits on the cheap or expensive side of the day.

The benchmark use comes straight from the definition. If VWAP is the average price paid across all the volume, then any single fill can be placed on one side of it. A long entry below VWAP was filled under the session average; the same entry above VWAP was filled over it. For a trader sizing into a position, that framing turns a vague sense of good price into a concrete reference point tied to the session's own volume.

↳ Note

VWAP does not tell a trader where price is going. It tells them where the volume has already been.

This is also why VWAP differs from a moving average. A moving average smooths price over a fixed number of bars and weights every bar's close equally, regardless of how much traded in it. VWAP weights by volume and anchors to a fixed start. The two lines can sit close together or far apart, and they answer different questions: one describes recent price, the other describes where the session's size traded. Treating them as interchangeable misreads both.

How price relates to VWAP

Price above VWAP is not a buy and price below it is not a sell. VWAP is context, not a trigger. It describes where current price sits relative to the session's average, which can support a read built from other evidence, but on its own it says nothing about the next move.

The most common error with VWAP is to treat a cross of the line as a signal in itself. Price crossing above VWAP does not mean buyers have taken control, and a touch of VWAP from above does not mean the line will hold as support. The line is a running average of past trades; it carries no information about the next print that the trades behind it did not already contain. A trader who buys every VWAP cross is acting on a description of the past as if it were a forecast.

Where VWAP earns its place is as one input among several. A trader reading market structure might note that price is making higher lows and also holding above VWAP, and treat the two together as a more complete picture than either alone. The line adds the session's volume-weighted average to that read, but it does not replace the read. Stacking VWAP onto a setup is only useful when it carries information the other inputs do not, which is the same caution that applies to adding any indicator to a strategy.

How to log VWAP context so it can be measured

Record where each entry filled relative to VWAP: above, below, or at the line. Over a sample, that tag shows whether your setups perform differently on each side of the average. Like any pattern claim, the split means nothing until each side clears the twenty-trade floor.

The discipline that turns VWAP from a habit into a measured input is a single field on every trade: where the entry filled relative to the line. Three values cover it, recorded as above, below, or at VWAP at the moment of the fill. Stored across enough trades, that tag lets a trader split their results by VWAP side and ask whether the setups they take below the line close differently from the ones they take above it.

The answer is only trustworthy once the sample is large enough. A handful of above-VWAP wins says nothing, because a handful of anything says nothing. The same sample-size floor that governs every other pattern claim applies here: a per-side result is held back as a claim until that side has at least twenty matching trades, and it is reported with its sample size attached. The standard for a trustworthy behavioral pattern claim does not relax because the input is a popular indicator.

Logged this way, VWAP stops being a line a trader watches and starts being a variable they can test. If the split holds up across a real sample, the trader has found a genuine edge in where they enter relative to the average. If it does not, they have learned that the line they were anchoring to was context with no measured effect on their results, which is worth knowing before the next entry.

Frequently asked questions

  • q: What does VWAP stand for? a: VWAP stands for volume-weighted average price. It is the average price of every trade in a session, with each price weighted by the number of contracts traded at it, so prices where more volume changed hands count for more.
  • q: How is VWAP calculated? a: VWAP is cumulative dollar volume divided by cumulative contract volume, measured from the session open. Each trade adds its price times its size to a running total and its size to a running volume; the line is the first total divided by the second, updated on every print.
  • q: Why does VWAP reset every day? a: VWAP is anchored to the session open and sums volume only from that point forward. When a new session begins, both running totals reset to zero and the line starts again, so yesterday's VWAP does not carry into today.
  • q: Is price crossing VWAP a buy or sell signal? a: No. VWAP is a running average of past trades and describes where the session's volume has traded, not where price is going next. A cross of the line is context that can support a read built from other evidence, not a trigger on its own.
  • q: How is VWAP different from a moving average? a: A moving average weights every bar's close equally over a fixed number of bars. VWAP weights each trade by its volume and anchors to a fixed start such as the session open. They answer different questions and can sit far apart.
  • q: How can I tell if VWAP actually helps my trading? a: Tag every entry by where it filled relative to VWAP, then split your results by side once each side has at least twenty matching trades. If the below-line and above-line results differ across a real sample, the line is informative; if they do not, it is not.
vwapindicatorsvolumebenchmarktrading concepts