The same stock and the same last price, twelve different anchors (AAPL)
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-07, from Anchored VWAP Explained: Formula and Uses.
| anchor_from | anchored_vwap | close_vs_avwap_pct |
|---|---|---|
| Jul 2025 | 259.52 | 11.5 |
| Aug 2025 | 264.01 | 9.6 |
| Sep 2025 | 268.87 | 7.62 |
| Oct 2025 | 272.56 | 6.16 |
| Nov 2025 | 274.35 | 5.47 |
| Dec 2025 | 274.68 | 5.35 |
| Jan 2026 | 274.44 | 5.44 |
| Feb 2026 | 277.88 | 4.13 |
| Mar 2026 | 279.92 | 3.37 |
| Apr 2026 | 286.86 | 0.87 |
| May 2026 | 295.31 | -2.02 |
| Jun 2026 | 294.07 | -1.6 |
- Rows × columns
- 12 × 3
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
anchor_from |
text | 12 distinct values (Apr 2026, Aug 2025, Dec 2025…) | |
anchored_vwap |
number | 259.52 to 295.31 | |
close_vs_avwap_pct |
number | -2.02 to 11.5 | percent |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
the exact SQL behind every number
WITH
monthly AS (
SELECT
toStartOfMonth(date) AS m,
sum(toFloat64(vwap) * toFloat64(volume)) AS pv,
sum(toFloat64(volume)) AS vol
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date >= '2025-07-01'
AND date <= '2026-06-30'
GROUP BY m
),
anchored AS (
SELECT
m,
sum(pv) OVER (ORDER BY m ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
/ sum(vol) OVER (ORDER BY m ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS avwap
FROM monthly
),
final_close AS (
SELECT toFloat64(argMax(close, date)) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date >= '2026-06-01'
AND date <= '2026-06-30'
)
SELECT
formatDateTime(a.m, '%b %Y') AS anchor_from,
round(a.avwap, 2) AS anchored_vwap,
round(100 * (f.last_close / a.avwap - 1), 2) AS close_vs_avwap_pct
FROM anchored AS a
CROSS JOIN final_close AS f
ORDER BY a.m
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysisAnchored VWAP Explained: Formula and Uses
How much the newest session can move an anchored VWAP (AAPL)
ranking 13×2
→
Daily session VWAP against a VWAP anchored on one date (AAPL)
series 62×4
→
Anchored at each name's own lowest close of the past twelve months
table 5×5
→
Same session, five stocks, five VWAPs: final-minute price vs. session VWAP, July 2, 2026
ranking 5×4
→
AAPL price vs. running VWAP: July 2, 2026 regular session, sampled every 5 minutes
series 78×3
→
The receipt: VWAP from every individual trade vs. the minute-bar shortcut (AAPL, July 2, 2026)
scalar 1×5
→
See all 2,170 queries →