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.
- What Is Anchored VWAP and Why Anchor to Major Pivots
- The March 2020 COVID Crash: Anchor Point #1
- The June 2022 Bear Market Low: Anchor Point #2
- Comparing the Two Anchored VWAPs: Dual-Anchor Analysis
- How Anchored VWAP Acts as Dynamic Support During Rallies
- How Anchored VWAP Acts as Resistance During Pullbacks
- ThinkScript Code: Anchored VWAP From a Specific Date
- ThinkScript Code: Dual Anchored VWAP With Standard Deviation Bands
- ThinkScript Code: Anchored VWAP Scanner
- Practical Trading Setups Using Anchored VWAP
- Combining Anchored VWAP With Other Thinkorswim Tools
- Common Mistakes When Using Anchored VWAP
- Frequently Asked Questions
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.
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.
| Ticker | Mar 23, 2020 Low | Jun 2022 Price | Feb 2025 Price | AVWAP (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.
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.
| Scenario | Price vs. Jun 2022 AVWAP | Price vs. Mar 2020 AVWAP | Interpretation |
|---|---|---|---|
| Strong Bull | Above | Above | Both cohorts in profit, trend intact |
| Normal Pullback | Testing | Above | 2022 buyers defending, healthy correction |
| Deep Correction | Below | Testing | 2022 buyers underwater, COVID buyers defending |
| Bear Market | Below | Below | All cohorts underwater, distribution likely |
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.
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.
# 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.
# 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.
# 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.
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.
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.
Ready to Trade With an Edge?
Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.
Get the Bundle