Back to Research
112 long

Anchored VWAP – March 2020 vs. June 2022

Comparative analysis using Anchored VWAP from two major market pivots: the COVID crash low in March 2020 and the bear market low in June 2022, with ThinkScript code for thinkorswim implementation.

Published June 30, 2022 Updated February 25, 2026
$218.26SPY COVID Low (Mar 23, 2020)
$362.17SPY Bear Low (Jun 17, 2022)
150%+SPY Return From 2020 Low
2 AnchorsKey AVWAP Reference Points

What Is Anchored VWAP and Why Anchor to Major Pivots

Anchored VWAP (AVWAP) calculates the volume-weighted average price starting from a specific bar or date chosen by the trader. Unlike standard VWAP, which resets at the start of each trading session, Anchored VWAP accumulates price and volume data from any user-defined anchor point forward. This makes it a preferred tool among institutional traders who track the average cost basis of positions built during high-volume events.

The two most significant market pivots of the past five years occurred on March 23, 2020 (the COVID crash low) and June 17, 2022 (the 2022 bear market low). Anchoring VWAP to these dates creates a persistent, volume-weighted reference line that tracks where institutions accumulated shares at scale. When price revisits these lines, it often finds support or resistance because large participants defend or distribute around their average entry price.

Many traders using thinkorswim indicators rely on the built-in VWAP study, which resets each session. By adding Anchored VWAP studies with specific date inputs, you gain a view into longer-term institutional positioning that daily VWAP hides. If you run thinkorswim scanners filtered by price relative to these anchored levels, you can isolate stocks trading near institutional cost basis.

Key Takeaway: Anchored VWAP from major market pivots reveals institutional cost basis levels that persist for months or years. The March 2020 and June 2022 lows represent the two largest accumulation events in recent history, making them ideal anchor points for long-term AVWAP analysis.

The March 2020 COVID Crash: Anchor Point #1

On March 23, 2020, the S&P 500 hit an intraday low of 2,191.86, and SPY printed a low of $218.26. QQQ bottomed near $164.93. This was the culmination of a 34% decline from the February 19, 2020 all-time high. The Federal Reserve responded with emergency rate cuts and massive liquidity programs on the same day, triggering one of the fastest recoveries in market history.

Volume on March 23, 2020 was extraordinary. SPY traded over 500 million shares that week, roughly 3x normal weekly volume. This concentration is what makes Anchored VWAP from this date effective: the sheer number of shares exchanged at panic lows means the resulting AVWAP line carries significant weight as an institutional reference.

TickerMar 23, 2020 LowJun 2022 PriceFeb 2025 PriceAVWAP (Mar 2020) Est.
SPY$218.26$362.17$602.00~$430
QQQ$164.93$271.08$525.00~$380
AAPL$56.09$129.04$232.00~$165
MSFT$132.52$241.51$412.00~$310
AMZN$81.30$101.26$228.00~$155
NVDA$5.38$15.20$138.00~$60

The June 2022 Bear Market Low: Anchor Point #2

The second anchor point is June 17, 2022, when SPY printed a closing low of $362.17 after a 24.5% decline from the January 3, 2022 all-time high. QQQ dropped 34% to a low of $271.08. This bear market was driven by aggressive Federal Reserve rate hikes, with the fed funds rate rising from near zero to 5.25%.

Anchored VWAP from June 17, 2022 sits much closer to current price action than the March 2020 anchor. For SPY, the June 2022 AVWAP currently tracks near the $460 to $480 range, making it a more relevant near-term support reference. This is the level where traders using thinkorswim scripts for day trading should watch for bounces during corrections.

Anchor Point Selection: When choosing between the June 2022 intraday low and the October 2022 closing low as your anchor, consider your timeframe. Swing traders often prefer the June 2022 anchor because it captures a broader accumulation zone. Position traders may use the October 2022 low for a tighter reference. Plot both to see which aligns better with subsequent price reactions.

Comparing the Two Anchored VWAPs: Dual-Anchor Analysis

Plotting both Anchored VWAPs simultaneously creates a dual-anchor framework that reveals multiple layers of institutional support. The March 2020 AVWAP sits below the June 2022 AVWAP, forming a support zone rather than a single line. When price pulls back to the June 2022 AVWAP and holds, that is a normal pullback. When price drops through and approaches the March 2020 AVWAP, it signals a more severe correction.

ScenarioPrice vs. Jun 2022 AVWAPPrice vs. Mar 2020 AVWAPInterpretation
Strong BullAboveAboveBoth cohorts in profit, trend intact
Normal PullbackTestingAbove2022 buyers defending, healthy correction
Deep CorrectionBelowTesting2022 buyers underwater, COVID buyers defending
Bear MarketBelowBelowAll cohorts underwater, distribution likely
Key Takeaway: Using two anchor points creates a support zone rather than a single line. The area between the March 2020 AVWAP and June 2022 AVWAP acts as a cushion during corrections. The wider this zone, the more institutional support exists below current prices.

How Anchored VWAP Acts as Dynamic Support During Rallies

During sustained uptrends, Anchored VWAP from major lows rises gradually because new volume is added at higher prices, pulling the weighted average upward. This creates a rising floor of support that tracks the trend. Unlike static support levels, AVWAP adjusts with each new bar.

Between March 2020 and January 2022, the March 2020 AVWAP for SPY rose from $218 to approximately $380. SPY tested this line several times: September 2020 (the 10% tech selloff), March 2021 (growth rotation), and January 2022. Each time the AVWAP held as support.

Traders who incorporate the Volatility Box alongside Anchored VWAP can identify confluence zones. When price reaches the AVWAP at the same time the volatility box defines the lower expected range, the probability of a bounce increases.

How Anchored VWAP Acts as Resistance During Pullbacks

Anchored VWAP also functions as resistance when price drops below it. This occurred when SPY fell below the March 2020 AVWAP briefly during the October 2022 low. Once price broke below the AVWAP, it became overhead resistance.

The June 2022 AVWAP showed this resistance behavior in late 2022. After SPY bottomed in October 2022, it rallied toward the June 2022 AVWAP near $400. The first test was rejected. SPY did not cleanly reclaim the June 2022 AVWAP until January 2023. Traders using thinkorswim scanners can build scans that identify stocks currently testing their AVWAP from major pivots.

Caution: When price breaks below an Anchored VWAP that previously acted as support, do not immediately assume it will hold on the next test. The first retest from below often acts as resistance. Wait for a confirmed close above the AVWAP with above-average volume before treating it as support again.

ThinkScript Code: Anchored VWAP From a Specific Date

The following ThinkScript code plots an Anchored VWAP starting from any date you specify. This code works on daily, weekly, and intraday charts in thinkorswim.

ThinkScriptthinkScript
# Anchored VWAP from Specific Date
# Use on daily or intraday charts

input anchorDate = 20200323; # Format: YYYYMMDD
input showLabel = yes;

def active = GetYYYYMMDD() >= anchorDate;
def volumeSum = if active and active[1] == 0 then volume
                else if active then volumeSum[1] + volume
                else 0;
def volumePriceSum = if active and active[1] == 0 then volume * hlc3
                     else if active then volumePriceSum[1] + (volume * hlc3)
                     else 0;

plot AnchoredVWAP = if active and volumeSum > 0 then volumePriceSum / volumeSum else Double.NaN;
AnchoredVWAP.SetDefaultColor(Color.CYAN);
AnchoredVWAP.SetLineWeight(2);
AnchoredVWAP.SetPaintingStrategy(PaintingStrategy.LINE);

AddLabel(showLabel, "AVWAP from " + anchorDate, Color.CYAN);

ThinkScript Code: Dual Anchored VWAP With Standard Deviation Bands

This version plots two Anchored VWAPs simultaneously with optional standard deviation bands for identifying overbought and oversold conditions relative to each institutional cost basis level.

ThinkScriptthinkScript
# Dual Anchored VWAP with StdDev Bands

input anchorDate1 = 20200323; # COVID crash low
input anchorDate2 = 20220617; # 2022 bear market low
input showBands = yes;
input devMultiplier = 1.0;

# AVWAP 1
def a1 = GetYYYYMMDD() >= anchorDate1;
def vS1 = if a1 and !a1[1] then volume else if a1 then vS1[1] + volume else 0;
def vpS1 = if a1 and !a1[1] then volume * hlc3 else if a1 then vpS1[1] + (volume * hlc3) else 0;
def vp2S1 = if a1 and !a1[1] then volume * Sqr(hlc3) else if a1 then vp2S1[1] + (volume * Sqr(hlc3)) else 0;
def av1 = if vS1 > 0 then vpS1 / vS1 else Double.NaN;
def sd1 = if vS1 > 0 then Sqrt((vp2S1 / vS1) - Sqr(av1)) else 0;

plot AVWAP_2020 = if a1 then av1 else Double.NaN;
AVWAP_2020.SetDefaultColor(Color.CYAN);
AVWAP_2020.SetLineWeight(2);
plot Upper_2020 = if a1 and showBands then av1 + devMultiplier * sd1 else Double.NaN;
plot Lower_2020 = if a1 and showBands then av1 - devMultiplier * sd1 else Double.NaN;

# AVWAP 2
def a2 = GetYYYYMMDD() >= anchorDate2;
def vS2 = if a2 and !a2[1] then volume else if a2 then vS2[1] + volume else 0;
def vpS2 = if a2 and !a2[1] then volume * hlc3 else if a2 then vpS2[1] + (volume * hlc3) else 0;
def vp2S2 = if a2 and !a2[1] then volume * Sqr(hlc3) else if a2 then vp2S2[1] + (volume * Sqr(hlc3)) else 0;
def av2 = if vS2 > 0 then vpS2 / vS2 else Double.NaN;
def sd2 = if vS2 > 0 then Sqrt((vp2S2 / vS2) - Sqr(av2)) else 0;

plot AVWAP_2022 = if a2 then av2 else Double.NaN;
AVWAP_2022.SetDefaultColor(Color.YELLOW);
AVWAP_2022.SetLineWeight(2);
plot Upper_2022 = if a2 and showBands then av2 + devMultiplier * sd2 else Double.NaN;
plot Lower_2022 = if a2 and showBands then av2 - devMultiplier * sd2 else Double.NaN;

AddLabel(yes, "AVWAP 2020: " + Round(av1, 2), Color.CYAN);
AddLabel(yes, "AVWAP 2022: " + Round(av2, 2), Color.YELLOW);

ThinkScript Code: Anchored VWAP Scanner

You can use Anchored VWAP in thinkorswim scanners to find stocks approaching institutional cost basis. Use this code in the thinkorswim Stock Screener.

ThinkScriptthinkScript
# Anchored VWAP Scanner
# Use in thinkorswim Scan/Stock Hacker tab

input anchorDate = 20220617;
input proximityPct = 2.0; # Within 2% of AVWAP

def active = GetYYYYMMDD() >= anchorDate;
def vSum = if active and !active[1] then volume
           else if active then vSum[1] + volume else 0;
def vpSum = if active and !active[1] then volume * hlc3
            else if active then vpSum[1] + (volume * hlc3) else 0;
def avwap = if vSum > 0 then vpSum / vSum else 0;
def pctFromAVWAP = if avwap > 0 then AbsValue((close - avwap) / avwap) * 100 else 100;

plot scan = pctFromAVWAP <= proximityPct and active;

This scanner finds stocks where the current close is within a specified percentage of the Anchored VWAP. A 2% threshold works well for identifying stocks about to test institutional support or resistance. These thinkorswim scripts for day trading can be adapted for any anchor date.

Practical Trading Setups Using Anchored VWAP

Setup 1: AVWAP Bounce. When price pulls back to the June 2022 AVWAP on declining volume and prints a reversal candle on increasing volume, enter long with a stop 1% below the AVWAP. Target the prior swing high.

Setup 2: AVWAP Reclaim. After price breaks below the June 2022 AVWAP, wait for a close back above it on volume greater than the 20-day average. Enter on the close above with a stop at the recent swing low.

Setup 3: Dual-AVWAP Squeeze. When price trades between the March 2020 AVWAP and June 2022 AVWAP, watch for range contraction. Combine with the TTM Squeeze thinkorswim indicator to confirm momentum direction. Learn more in the Squeeze Course.

Volume Confirmation: Always check volume when price interacts with an Anchored VWAP level. An AVWAP bounce on light volume is less reliable than one on above-average volume. Institutional participants transact in size, so genuine defense of an AVWAP level should come with visible volume increases.

Combining Anchored VWAP With Other Thinkorswim Tools

AVWAP + TTM Squeeze: The TTM Squeeze thinkorswim indicator identifies low-volatility compression periods. When a TTM Squeeze fires while price sits on an Anchored VWAP level, the resulting breakout tends to be stronger.

AVWAP + Volatility Box: The Volatility Box defines expected price ranges. When the lower boundary of the volatility box aligns with an Anchored VWAP, you have a high-confidence support zone. The Volatility Box for futures applies the same logic to ES and NQ.

AVWAP + Volume Profile: When a Volume Profile high-volume node aligns with an Anchored VWAP line, that level carries double significance. Explore more thinkorswim indicators at the indicators page.

Common Mistakes When Using Anchored VWAP

Anchoring to insignificant dates. The anchor date must correspond to a high-volume event. A random pullback low on light volume does not carry the same weight as a pandemic crash low. Choose anchors where daily volume was at least 2x the 50-day average.

Ignoring the slope. A flat AVWAP means subsequent volume has been evenly distributed. A rising AVWAP indicates new volume at progressively higher prices, confirming trend strength. Always consider slope alongside the level.

Using AVWAP in isolation. Pair AVWAP with the TTM Squeeze thinkorswim setup or other thinkorswim indicators for more reliable signals. Thinkorswim scripts for day trading should incorporate multiple confirmation factors.

Caution: On very long-term charts (5+ years from anchor), Anchored VWAP becomes less responsive because the accumulated volume denominator is so large that new bars barely move the average. If your March 2020 AVWAP appears unresponsive, consider shifting your anchor to a more recent pivot while keeping March 2020 as a static reference line.

Frequently Asked Questions

What is Anchored VWAP and how does it differ from regular VWAP?

Anchored VWAP calculates the volume-weighted average price from a specific user-chosen date rather than resetting at the start of each session. Regular VWAP resets daily, reflecting only intraday positioning. Anchored VWAP accumulates data from your chosen anchor point forward, revealing the average cost basis of institutional participants who entered during events like the March 2020 COVID crash or June 2022 bear market low.

Why are March 2020 and June 2022 the best anchor dates for Anchored VWAP?

These two dates represent the highest-volume institutional accumulation events in recent market history. On March 23, 2020, SPY traded over 500 million shares in a single week as the Federal Reserve announced emergency support. On June 17, 2022, similar accumulation occurred at bear market lows driven by rate-hike concerns. The heavy volume means the resulting AVWAP lines carry significant statistical weight.

How do I add Anchored VWAP to my thinkorswim charts?

In thinkorswim, go to Charts, click the Studies button, and select Edit Studies. Click Create to open the thinkScript editor, then paste the Anchored VWAP code from this article. Set the anchorDate input in YYYYMMDD format (20200323 for the COVID low, 20220617 for the 2022 bear low). Click OK and Apply.

Can Anchored VWAP be used for day trading on intraday charts?

Yes. On intraday charts, anchor VWAP to any significant bar within the session or from previous sessions. Day traders commonly anchor to the opening bar, the first pullback low, or a key news event bar. For intraday use, plot both a session-anchored VWAP and a date-anchored VWAP from a major pivot for broader context.

What happens when price breaks below an Anchored VWAP level?

When price breaks below an AVWAP that acted as support, that level typically flips to resistance. Institutional participants who bought near the AVWAP are underwater and may exit at breakeven. The first retest from below is often rejected. To confirm a reclaim, wait for a close above the AVWAP on volume exceeding the 20-day average.

How do I combine Anchored VWAP with other thinkorswim indicators for better results?

The most effective combinations are AVWAP with TTM Squeeze, Volume Profile, or the volatility box. TTM Squeeze identifies low-volatility periods before directional moves. The volatility box defines expected price ranges, and when its boundaries overlap with AVWAP levels, you get high-probability support and resistance zones. Explore tools at the thinkorswim indicators page.

Anchored VWAP calculates the volume-weighted average price from a specific user-chosen date rather than resetting at the start of each trading session. Regular VWAP resets daily, which means it only reflects intraday institutional positioning. Anchored VWAP accumulates volume and price data from your chosen anchor point forward, revealing the average cost basis of institutional participants who entered during significant events like the March 2020 COVID crash or the June 2022 bear market low.
These two dates represent the highest-volume institutional accumulation events in recent market history. On March 23, 2020, SPY traded over 500 million shares in a single week as the Federal Reserve announced emergency support measures. On June 17, 2022, similar institutional accumulation occurred at bear market lows driven by rate-hike concerns. The heavy volume at these pivots means the resulting AVWAP lines carry significant statistical weight.
In thinkorswim, go to Charts, click the Studies button, and select Edit Studies. Click Create to open the thinkScript editor, then paste the Anchored VWAP code from this article. Set the anchorDate input in YYYYMMDD format (20200323 for the COVID low, 20220617 for the 2022 bear low). Click OK and Apply to add the study to your chart.
Yes. On intraday charts, you can anchor VWAP to any significant bar within the session or from previous sessions. Day traders commonly anchor to the opening bar, the first pullback low, or a key news event bar. The ThinkScript code works on all timeframes in thinkorswim.
When price breaks below an Anchored VWAP that previously acted as support, that level typically flips to resistance. Institutional participants who bought near the AVWAP are underwater and may look to exit at breakeven. The first retest from below is often rejected. To confirm a reclaim, wait for a close above the AVWAP on volume exceeding the 20-day average.
The most effective combinations are AVWAP with TTM Squeeze, Volume Profile, or the Volatility Box. TTM Squeeze identifies low-volatility periods before directional moves. When a squeeze fires at an AVWAP level, the breakout is more reliable. The Volatility Box defines expected price ranges, and when its boundaries overlap with AVWAP levels, you get high-probability support and resistance zones.

Ready to Trade With an Edge?

Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.

Get the Bundle