The calculation, exactly
The formula is a weighted mean:
VWAP = Σ(Pi × Vi) ÷ Σ(Vi)
where Pi is the typical price of bar i, computed as (High + Low + Close) / 3, and Vi is the volume of that bar. The sum is cumulative from the session open. Concretely, on each new bar the platform multiplies the typical price by the bar's volume, adds it to a running numerator, adds the bar's volume to a running denominator, and divides. The line you see is that ratio plotted bar by bar.
Two properties follow directly. First, VWAP is path-dependent: it integrates everything that has happened so far in the session. Second, it resets at the open. There is no carry from yesterday's tape. In software-engineering terms it behaves like a stateful accumulator that gets reinitialized at 9:30 every morning. Anything you want to remember across sessions has to be stored elsewhere — pinned levels, prior-day VWAP close, or moving averages that do not reset.
Why institutions care
A pension fund that needs to acquire 500,000 shares of a name does not want to print the order in one block. The desk works it through the day — algorithms slice the parent into children, pace them against displayed volume, and the trader is graded after the close on a single number: the average fill versus session VWAP. Filling under VWAP on a buy is a good day; over VWAP is an explanation to the portfolio manager.
That benchmark structure is reflexive. Because a large fraction of working orders are explicitly priced against VWAP, institutional flow tends to cluster near the line. The aggregate of every desk trying not to be measured as a poor execution produces a level where buying interest concentrates from below and selling interest from above. This is why VWAP is more than a moving average in different clothing. It is a price level that has actual order flow tied to it, which is why intraday support and resistance (see also) shows up there empirically, not just by tradition.
Reading VWAP as a regime variable
The first useful read is sign and persistence. Price above VWAP all session means the marginal participant who bought today is, on average, profitable. Price below VWAP means the marginal buyer is underwater. These are not signals; they are state descriptions that condition every other signal you might use.
From there, two structural setups recur:
VWAP bounce (long). A trending-up name pulls back to the line during the morning. Entry on a reversal candle (hammer or bullish engulfing) at or near VWAP. Stop below VWAP by 1–2× the bar ATR. Target high of day or the next horizontal resistance. The trade is a bet that institutional buyers stepping in to defend their average price will absorb the pullback.
VWAP rejection (short). A name gaps down, rallies into VWAP, and fails to reclaim. Entry on a bearish candle (shooting star, bearish engulfing) at the line. Stop above VWAP by 1–2× ATR. Target low of day or the open. The trade is a bet that desks who are short above VWAP will defend their average sale price.
In both setups, the entry rule is uninteresting; the regime classifier is everything. A VWAP bounce on a name with broad-market beta into a falling tape is not the same trade as a VWAP bounce on a relative-strength leader into a rising tape, and pretending it is will produce a flat backtest at best.
Standard deviation bands around VWAP
Most charting packages will draw bands at ±1σ and ±2σ around VWAP, where σ is the volume-weighted standard deviation of typical price from VWAP. Mechanically these are cousins of Bollinger Bands, with the time-window equal-weighting replaced by intraday volume weighting.
Assuming approximately stationary intraday volatility — which is a strong assumption and frequently wrong — the ±1σ band contains roughly 68% of bar typical-prices and the ±2σ band roughly 95%. A touch of −2σ is therefore a 1-in-20 event under the model, and a candidate for a mean reversion trade back toward VWAP. In practice the realized distribution has fatter tails than the normal model, so 2σ touches are more frequent than the 5% nominal rate would suggest. Conditional on a quiet, range-bound session the bands work as advertised; conditional on a trend day they are run through repeatedly. The band is a measurement, not a fence.
Anchored VWAP
Anchored VWAP (AVWAP) drops the daily-reset constraint. You pick the start point and the cumulative weighted mean runs forward from there. Useful anchors:
Earnings date. AVWAP from the last earnings print gives the average traded price since the fundamental information set last shifted. It is the carry-cost basis of every position opened since.
Significant pivot. AVWAP from a swing low shows the average price paid by participants who entered during the rally. That level often acts as support on subsequent retests, because it is, by construction, the average buyer's break-even.
High-volume day. Anchor to a breakout, gap, or news bar where ADV was exceeded by a large multiple. The volume on that day represents committed positions; the AVWAP from that anchor is the average cost basis of that committed flow.
For swing traders holding positions across sessions, AVWAP is the version of the indicator that survives an overnight gap. Standard VWAP does not.
Where VWAP fails
Standard VWAP is intraday-only. Before 9:45 AM Eastern the line is undertrained — the opening auction and the first few minutes produce extreme bar weights and the running mean is dominated by a small sample. From roughly 2:30 PM onward the opposite problem: the cumulative volume in the denominator is large enough that new bars barely move the line. As an intraday level it is usable across the middle of the session and increasingly inert toward the close.
It also degrades in low-volume names. A name that prints 80,000 shares a day has a noisy VWAP because the law of large numbers has not had enough samples to do its work; in penny stocks and thinly-traded micro-caps the line is closer to a random walk than a meaningful benchmark. And on chop days — sessions with no directional momentum — VWAP sits in the middle of a range and produces whipsaw both ways. The strategies above are conditional on a directional regime, not on the indicator alone.
VWAP versus moving averages
| Feature | VWAP | Moving Average |
|---|---|---|
| Weighting | Volume-weighted | Equal- or exponentially time-weighted |
| Reset | Daily, at session open | Continuous, no reset |
| Native timeframe | Intraday (1-min, 5-min) | All (intraday through weekly) |
| Institutional relevance | High — explicit execution benchmark | Moderate — trend filter |
| Primary use | Intraday fair value, entry timing | Trend direction, dynamic support/resistance |
For an intraday operator VWAP is the primary tool and a moving average is context. For a swing or position trader the ordering inverts: the moving average defines regime over weeks and VWAP, where used at all, exists only to time the entry within the current session.
Pacing the indicator: a non-mathematical aside
Solo cyclists who train with power meters know that the average watts you can sustain for an hour is a different number from what you can sustain for ten minutes, which is a different number from a thirty-second sprint. The same rider, the same legs, three different sustainable averages depending on the window. VWAP is the same kind of object for a stock. It is the average price the market has been able to sustain across a window of accumulated volume, and what is sustainable in the first half hour is not what is sustainable in hour six. A name that pulls away from VWAP early can hold the deviation for a long time before reverting; a name that pulls away late, when the line has gone heavy, almost always reverts because there is not enough remaining volume in the session to carry the move. Reading VWAP as a single static level misses this. The line ages, and what you can ask of a position that is fading from VWAP at 10:15 is different from what you can ask of one fading at 3:30. The mechanics in the rest of this article still hold; the framing in this paragraph is just how an operator who has watched a few thousand sessions tends to think about it.
Practical notes
Wait for the first fifteen minutes to clear before trusting VWAP signals. The opening auction and the immediate post-open noise produce a line that has not yet settled into anything stable. After 9:45 AM the indicator is reliable.
VWAP tells you where the volume-weighted center of the day is; it does not tell you whether price has the energy to move away from it or back toward it. Combine with RSI or MACD for the momentum read. A bounce off VWAP on a name with RSI turning up out of the low 40s is a different trade from a bounce on a name with RSI flat at 50.
The reclaim trade is worth tracking specifically. A name that breaks below VWAP, holds for an hour or two, and then reclaims the line on rising volume is broadcasting that the absorption is done. That setup is one of the higher base-rate intraday long entries available, modulo execution slippage on the reclaim itself, which can be material in fast tape. Mark prior-day VWAP close on the chart as well; despite the daily reset, that level frequently shows up as support or resistance the next session, because the same desks that benchmarked against it yesterday are still in the names today.
Assumptions, on the record for this article: continuous trading, sufficient session volume to make the volume-weighted mean a stable estimator, and intraday volatility regimes that do not change abruptly within the session. When any of those breaks — halts, illiquid names, regime-shift news bars — the indicator becomes noisier than the standard reading suggests, and position sizing should reflect that.
See also: Understanding Volume · Moving Averages Explained · Day Trading · Support and Resistance · Mean Reversion Trading


