VWAP — Volume-Weighted Average Price — is the price at which the average institutional dollar transacted since the session open. Pension funds, mutual funds, and algorithmic desks measure their execution quality against VWAP. That performance pressure creates predictable price behavior: the market gravitates toward VWAP, tests it repeatedly, and reacts strongly at it.

Volume / Support-Resistance
Category
Advanced
Difficulty
Price scale — same units as the chart
Output Range
Session (resets at open each day)
Default Period
None — cumulative from session open, immutable on closed bars
Repaint Risk
Moderate — requires intraday volume data
Data Need
VOLUME · SUPPORT_RESISTANCE · DATA_INTENSIVE · BEGINNER_FRIENDLY · REAL_TIME
Tags

Section 1: Core Mechanics

VWAP is the cumulative sum of (Typical Price × Volume) for each bar from the session open, divided by the cumulative sum of Volume. It resets at each market open. Price above VWAP means the average buyer today is in profit. Price below VWAP means the average buyer is losing.

What Is VWAP?

Developed as an institutional execution benchmark, VWAP allows large traders to measure whether their orders were executed favorably relative to the day's average. A buy order executed at $50.10 when VWAP is $50.35 = favorable execution (below average price). This performance pressure makes VWAP a self-fulfilling price anchor — institutions buying below it and selling above it creates the mean-reversion behavior you observe.

Formula

Where:

  • (Typical Price for bar i)
  • = Volume for bar i
  • = number of bars since session open

VWAP accumulates from bar 1 (open) to bar n (current bar). Every new bar updates the running numerator and denominator.

Example calculation (first 3 bars of a session):

Bar TP Volume TP × Vol Cumulative TP×Vol Cumulative Vol VWAP
1 100.33 500,000 50,165,000 50,165,000 500,000 100.33
2 101.17 750,000 75,877,500 126,042,500 1,250,000 100.83
3 100.83 600,000 60,498,000 186,540,500 1,850,000 100.83

Inputs

  • High, Low, Close: Used to calculate Typical Price per bar
  • Volume: Weights each bar's contribution
  • Session anchor: VWAP resets at each new session open

Parameters

Parameter Default Notes
Session anchor Market open (9:30 AM ET for US stocks) Can be anchored to any date for Anchored VWAP
Standard deviation bands ±1 and ±2 SD Optional overlay to define expected daily range
Typical Price source (H+L+C)/3 Fixed convention — do not change

Output Range

VWAP plots on the price scale, overlaid on candlesticks as a solid line. It starts near the opening price, updates with each bar, and drifts throughout the session. It never resets mid-session.

Visual Behavior

Early in the session, VWAP closely tracks price because few bars have accumulated. By midday, VWAP becomes stable — it takes significant volume to shift it meaningfully. Late-session VWAP is heavily anchored to the day's dominant price action. Price oscillates around VWAP throughout the day in a mean-reverting pattern.


Section 2: Interpretation & Signals

Signal Zones

Price vs. VWAP Interpretation
Price above VWAP Buyers are in profit — bullish intraday bias
Price below VWAP Buyers are underwater — bearish intraday bias
Price returning to VWAP from above Support test — key intraday level
Price returning to VWAP from below Resistance test — sellers defending average cost
Price accepted above VWAP after opening below Intraday trend shift — bullish
Price opens above VWAP, stays above all day Strong trend day — momentum trade
Price repeatedly testing and rejecting VWAP Range day — mean-reversion optimal

Institutional Context — Why VWAP Creates These Reactions

Institutional orders break large trades into many smaller slices executed throughout the day. The VWAP algorithm (VWAP execution) distributes these slices proportionally to volume — more shares traded during high-volume periods.

When an institutional desk is executing a 5-million-share buy order throughout the day using VWAP, they are specifically buying when price is below the current VWAP — because that improves their execution quality. This systematic buying below VWAP is what creates the support effect you trade.

VWAP Mean Reversion — Price Tests VWAP as Support Three Times

VWAP Standard Deviation Bands

Adding ±1 SD and ±2 SD bands creates a Bollinger-like channel anchored to volume-weighted fair value:

  • Price at VWAP + 2SD = statistically extended above VWAP — reversion likely
  • Price at VWAP - 2SD = statistically extended below VWAP — bounce likely
  • Price between ±1SD = inside normal daily distribution

Anchored VWAP

Anchored VWAP lets you calculate VWAP from any user-defined starting date — not just the session open. Common anchor points:

  • Earnings date: VWAP from the post-earnings gap day = average cost basis for all buyers who bought after the earnings event
  • IPO date: VWAP from IPO = average cost for all public shareholders
  • Major low or high: VWAP from a significant reversal = directional anchor

Anchored VWAP at an earnings gap creates powerful swing-level S/R that persists for weeks or months.

💡 TIP
When an anchored VWAP from a major low aligns with the current session's standard VWAP and a Volume Profile POC from last week's profile — three institutional references at the same price — you have one of the highest-conviction entry zones in the market. These triple-confluence levels appear 2–3 times per month per instrument.
⚠️ WARNING
VWAP resets at session open. It is entirely an intraday indicator in its standard form. Displaying VWAP on a daily chart is technically valid (the line shows where VWAP closed each day) but loses its institutional meaning. For swing trading, use Anchored VWAP anchored to a specific event, not the session-reset VWAP.

Section 3: Pass vs. Live — Real-Time Reliability

None — VWAP value for each closed bar is final and permanent
Repaint Risk
Minimal — VWAP updates with every new bar from session open
Lag
Live VWAP shifts with every trade — use confirmed bar closes for signals
Confirmation Timing
Intraday mean reversion entries; institutional S/R in futures and ETFs; execution quality benchmarking
Best Use
Overnight or pre-market sessions (VWAP anchors to regular session open); applying standard VWAP to weekly charts
Avoid

VWAP is a real-time indicator by design. It updates with each trade (or each new bar, depending on your platform). Closed bars' VWAP values are fixed — the current bar's VWAP moves continuously throughout the session.

The live-bar updating is not a flaw — it is the feature. VWAP is designed for execution-level decision-making. Early-morning VWAP is less stable (fewer bars, lower volume) than midday VWAP. This is expected and should be incorporated into how aggressively you trade early VWAP tests.


Section 4: Practical Use Cases

Setup: Standard VWAP + VWAP ± 1SD and ± 2SD bands on 5m or 15m chart Signal: Price pulls back to VWAP from above in an uptrend, touches VWAP, and first 5m bar closes back above VWAP Entry: Close of the first bar that bounces back above VWAP with volume > 20-period average volume Exit: VWAP + 1SD (first target) or VWAP + 2SD (full target on a trend day) Key Rule: On range days, fade VWAP + 1SD and buy VWAP - 1SD. On trend days, buy every pullback to VWAP in the trend direction.

Real example: JPMorgan Chase (JPM) after its Q1 2024 earnings release on April 12, 2024. The stock gapped from $194 to $200 on earnings day. Anchored VWAP calculated from April 12 forward gave an Anchored VWAP at approximately $205 by late April. When JPM pulled back to $205 on April 25 (intraday low $204.50), the Anchored VWAP held as support and the stock bounced to $211 over the following week — a clean 3% gain from the Anchored VWAP re-entry.


Section 5: Pseudo Code

INPUT: high[], low[], close[], volume[], session_start_index=0

PROCESS:
  Step 1: For each bar i from session_start_index to current:
            tp[i] = (high[i] + low[i] + close[i]) / 3
            cumulative_tpv[i] = cumulative_tpv[i-1] + tp[i] * volume[i]
            cumulative_vol[i] = cumulative_vol[i-1] + volume[i]
            if cumulative_vol[i] > 0:
              vwap[i] = cumulative_tpv[i] / cumulative_vol[i]
            else:
              vwap[i] = tp[i]  # First bar edge case

  Step 2: Calculate standard deviation bands (optional)
            For each bar i:
              variance_sum[i] = variance_sum[i-1] + volume[i] * (tp[i] - vwap[i])**2
              vwap_variance[i] = variance_sum[i] / cumulative_vol[i]
              vwap_sd[i] = sqrt(vwap_variance[i])
              upper1[i] = vwap[i] + 1 * vwap_sd[i]
              lower1[i] = vwap[i] - 1 * vwap_sd[i]
              upper2[i] = vwap[i] + 2 * vwap_sd[i]
              lower2[i] = vwap[i] - 2 * vwap_sd[i]

  Step 3: Detect mean reversion signal
            if close[i] > vwap[i] and close[i-1] < vwap[i-1]:
              signal = "Price crossed VWAP upward — bullish intraday shift"
            if close[i] < lower1[i] and close[i-1] >= lower1[i-1]:
              signal = "Price entered VWAP - 1SD zone — mean reversion opportunity"

OUTPUT: vwap[], upper1[], lower1[], upper2[], lower2[], signal[]
EDGE CASES:
  - Session start: reset all cumulative sums to zero before first bar
  - Zero volume bar: skip — do not update cumulative volumes
  - Extended hours: use only regular session data for institutional VWAP
  - Anchored VWAP: replace session_start_index with anchor bar index — do not reset

Section 6: Parameters & Optimization

Standard VWAP Applications

VWAP Type Anchor Primary Use
Session VWAP Market open each day Day trading intraday reference
Weekly VWAP Monday open Swing trading weekly reference
Monthly VWAP Month's first session Position-level trend anchor
Anchored VWAP (earnings) Earnings release date Post-earnings swing S/R
Anchored VWAP (IPO) IPO date Long-term cost basis reference
Anchored VWAP (swing low) Major reversal date Bull market re-entry timing

Band Width Conventions

Band Use Case
VWAP ± 1SD Normal daily range boundary — fade at extremes on range days
VWAP ± 2SD Statistically extended — high-probability reversal zone
VWAP ± 3SD Extremely extended — only appears on major news days
Does VWAP work for crypto markets?

Yes, but with important differences. Crypto trades 24/7 with no official session open. Most platforms let you choose the VWAP anchor: midnight UTC, New York open (9:30 AM ET), or a custom time. For trading US crypto during US hours, anchor VWAP to 9:30 AM ET for comparability with equity market sessions. CME Bitcoin futures use regular 9:30 AM ET open — their VWAP aligns directly with equity session behavior.

What is the difference between VWAP and a volume-weighted moving average?

VWAP anchors to the session open and accumulates all bars since open — it never "forgets" early session volume. A volume-weighted moving average (VWMA) uses a rolling window (last N bars), just like an SMA but with volume weighting. VWAP shows where the entire session traded on average. VWMA shows where the last N bars traded on average. For intraday institutional reference, VWAP is the standard. For rolling trend analysis, VWMA is more appropriate.


Section 7: Synergies & Conflicts

Works Well WithAvoid Combining With
Volume Profile POCVWAP gives today's session average; Volume Profile POC gives the prior period's highest-volume level. When both are at the same price, it is a maximum-confluence institutional level.
Market Profile Value AreaVWAP sitting inside the prior day's Value Area = balanced market. VWAP outside prior Value Area = potential trend day developing. Market Profile contextualizes VWAP's position.
Moving AveragesOn daily charts, the 20-day SMA and Anchored VWAP from a key event often converge at the same level — both provide dynamic S/R, but from different methodologies. Confluence strengthens the level.
Price Action (candlestick)A bullish engulfing candle at VWAP support with volume above the 20-bar average = highest-conviction VWAP bounce setup. The pattern provides structure; VWAP provides the institutional anchor.
Standard RSI on 5m chart at VWAPRSI on very short timeframes produces so much noise that combining with VWAP adds confusion rather than clarity. On short timeframes, use VWAP + volume only.
EMA on intraday charts alongside VWAPEMA and VWAP will frequently be at different prices, creating conflicting signals. Decide which is your primary reference — VWAP for institutions, EMA for retail momentum — and use the other as secondary context only.

Section 8: Common Mistakes

Mistake Root Cause Solution
Using standard session VWAP on daily charts VWAP resets each session — daily chart VWAP is not institutional reference Use Anchored VWAP for swing and position trading
Buying every touch of VWAP without context VWAP touches fail frequently on trending-down days Determine if today is a trend day or range day first. On trend days, price doesn't bounce at VWAP — it barely touches and keeps going.
Ignoring pre-market volume Pre-market volume shifts VWAP's starting calculation on some platforms Know whether your platform includes or excludes pre-market volume in VWAP
Applying VWAP without volume data VWAP calculated with even-weight (no volume) is just Typical Price MA Verify your platform uses real volume weighting in VWAP, not equal weighting
Missing the trend vs. range day distinction Applying mean-reversion VWAP strategy on a trend day Check the first 30 minutes: if price moved 1%+ from VWAP and didn't return, it is a trend day — only trade in the trend direction at VWAP

Section 9: Cheat Sheet

ℹ️ INFO
**VWAP (Volume-Weighted Average Price)**

USE WHEN: Intraday trading on stocks, futures, or ETFs where institutional participation is high. Price pulling back to VWAP in an established intraday trend. Anchored VWAP acting as support after an earnings gap.

AVOID WHEN: Illiquid instruments or off-hours sessions (thin volume distorts VWAP). Using standard session VWAP on daily or weekly charts for swing signals — use Anchored VWAP instead.

ENTRY SIGNAL: Price touches VWAP from above in an uptrend + first bar close back above VWAP + volume above 20-period average on that bar.
EXIT SIGNAL: VWAP + 1SD (range day target) or VWAP + 2SD (trend day target). Exit if price closes below VWAP with two consecutive bars — intraday trend has shifted.

PARAMETERS: Session reset daily. Bands: ± 1SD and ± 2SD. Anchored VWAP: anchor to earnings date, IPO, or major swing low.

CONFLUENCE: Volume Profile POC (same price) + VWAP + Price Action reversal candle = triple institutional confluence

RISK: On trend days, VWAP provides minimal resistance — mean-reversion plays fail. Identify trend vs. range day in first 30 minutes before committing to strategy type.

BEST TIMEFRAME: 5m to 1H for session VWAP (day trading). Daily to weekly for Anchored VWAP (swing trading).