Guide · Trading

Anchored VWAP, and the one setup that survived testing

VWAP is just an average price weighted by volume. Anchoring it to an event instead of the session open turns it into something more useful: a running record of what everyone who traded since that event has paid.


What is anchored VWAP?

VWAP — volume-weighted average price — is the average price paid per share over a period, weighting each price by the volume traded there. Standard VWAP resets every session. Anchored VWAP (AVWAP) starts from a bar you choose and keeps running from there.

VWAP = Σ(price × volume) ÷ Σ(volume), summed from the anchor bar to now

That choice is the whole idea. Anchor to an earnings gap and the line tracks the average cost basis of everyone who has traded since that earnings report. When price sits above it, that cohort is collectively in profit; below it, collectively underwater. The technique was popularised by Brian Shannon, whose framing is that price and volume tell you what participants actually did, not what they said.

Where do you anchor?

An anchor is only meaningful if the event changed who owns the stock. Useful anchors:

  • The earnings gap — the most common one, because it resets the story
  • A 52-week high or low, where a lot of positioning changed hands
  • The first bar of a major news event, index inclusion, or guidance change
  • The start of a base or consolidation, to see whether the base is being absorbed or distributed
  • The exact bar of a prior failed breakout, to measure whether trapped buyers are back to breakeven

Anchoring to a random Tuesday produces a line that looks meaningful and means nothing. If you cannot say in one sentence why that bar mattered, it is not an anchor.

What is an AVWAP reclaim?

A reclaim is price crossing back above an anchored VWAP it had been trading under, and then holding. The reading is simple: the average buyer since that event has gone from losing to breaking even. Supply that was overhead — people waiting to get out flat — is either gone or has stopped pressing.

The mechanical version I test looks for three things: price closes back above the AVWAP from a defined anchor, the reclaim holds for a confirming bar rather than wicking through, and the stop goes just below the AVWAP so the invalidation is the same line that generated the signal. That last part matters — the setup and the risk are defined by the same object, which is what makes it sizeable.

Does it actually work?

Some of it does. I built a screener and a no-lookahead backtest engine, then ran my own swing setups through walk-forward testing rather than a curve-fit in-sample check. Most of them did not survive.

SetupWalk-forward resultVerdict
AVWAP reclaim+0.117R over 4,933 trades (95% CI +0.057 to +0.174)Kept — the only survivor. An earlier +0.23R on 101 trades did not survive my own re-test
VCP-style contraction≈ breakevenNeutral, not traded mechanically
Gap / opening-range-breakout proxy−0.28RDropped

+0.117R per trade is not a windfall. It is a marginal edge that only shows up over thousands of trades and gets erased by sloppy execution or oversized positions — and against a risk-matched random entry, only about +0.030R of it is attributable to the AVWAP trigger at all, with a confidence interval that crosses zero. My first version of this number was +0.23R over 101 trades; it did not survive my own adversarial re-test. I published that alongside it, because a strategy write-up without the failures is marketing.

Two filters I expected to help — a market-regime filter and a normalised-momentum-lag filter — were tested on the same data and cut expectancy, so both were rejected. The full write-up is here →

How to use it without fooling yourself

  1. Pick the anchor before you look at the outcome. Anchoring after the fact is how every chart becomes a winning chart.
  2. Use one anchor per thesis. Five AVWAPs on one chart means one of them will always look right.
  3. Define the stop as part of the signal, not after entry.
  4. Log every trade in R and judge the setup over 100 trades, not five.
  5. Assume your edge is smaller than the backtest says, because costs, slippage, and your own hesitation are not in the backtest.

Educational content, not financial advice. No live profit-and-loss figures are claimed anywhere on this site; backtest and walk-forward results are always labelled as such. Full terms: /terms.html

Tools referenced in this guide

  • Swing Screener — the screener and no-lookahead backtest engine behind these results.
  • TradeLog — an R-multiple journal that computes expectancy per setup, offline and local.
  • R-multiple & expectancy guide — the math for sizing and judging any of this.

FAQ

Quick answers

What is anchored VWAP?

A volume-weighted average price running from a bar you choose, not from the session open. It tracks the average cost basis of everyone who traded since that event.

How is it different from session VWAP?

Session VWAP resets daily and is an intraday tool. Anchored VWAP persists from its anchor, so it works on swing and position timeframes.

Where do you anchor it?

Bars where ownership changed: earnings gaps, 52-week highs or lows, major news, the start of a base, or a prior failed breakout.

What is a reclaim?

Price crossing back above an AVWAP it was under, and holding. The average buyer since the anchor is back to breakeven, so overhead supply thins out.

Does it work?

It was the only setup that survived my walk-forward test, at +0.117R over 4,933 trades. Marginal, not a windfall — my earlier +0.23R on 101 trades did not survive re-testing. Not advice.

Do regime filters help?

Not in my data. A market-regime filter and a normalised-momentum-lag filter were both tested and both cut expectancy, so both were rejected.