SDES  /  VPOC Data

ES VPOC migration — August 2026

Aggregated from AMT ForeSight event journals across 8 trading days in August 2026. RTH only (9:30–16:00 ET) — pre-market and overnight events excluded from this analysis. (The addon itself supports Globex, RTH, or Custom session presets — your own logs can include ETH if you set it that way.) All numbers below are real — not modeled, not back-tested, not simulated.

Instrument: ESTrading days: 8Source: AMT ForeSight event journalsRTH 09:30–16:00 ET
Exclude opening:Active: excluding first 1 min (matches BMBridge opening buffer)
Min shift size:No size filter · drops single-tick flutter when active (ES tick = 0.25)

What happened this month

Filter Active · 1-Min Opening Buffer
All numbers on this page exclude VPOC activity in the first 60 seconds of RTH (9:30:00–9:30:59 ET) — the window where the developing volume profile flickers before volume settles. This matches the opening buffer used by the companion BMBridge tool. Click None in the filter bar above to see raw unfiltered counts, or extend the buffer to 5, 10, 15, or 30 minutes.

Every chart and card below updates live when you change the filter — event counts, cumulative migration, net directional, session activity, naked lifetime, the hour-by-hour activity chart, and big shifts. The filter bar stays visible as you scroll.

8
Trading days (RTH)
9:30–16:00 ET only
258
Total VPOC shifts
32 per trading day
239
Naked touches
30 per trading day
402
DVPOC changes
50 per trading day
2.00
Avg shift size (pts)
Max: 23.00
514.75
Cumulative migration (pts)
64.34 pts per trading day
-7.25
Net directional move (pts)
-0.91 pts per trading day
-12.78
Avg session net (pts)
Initial → final VPOC per session
Direction split — up vs down VPOC shifts
Each VPOC shift either promoted a higher price (up shift) or a lower price (down shift) to the new VPOC. The bar shows the split for the active filter.
↑ Up shifts: 16/day (49.6%)↓ Down shifts: 16/day (50.4%)
Balanced (no directional bias)

August 2026 — day by day

One cell per calendar day. Green border = trading session captured. Amber dashed = weekday with no data (PC off, holiday, or no sessions). Muted = weekend. Each green cell shows that day's shift count and net-directional move (color-coded). Hover any cell for full stats.

Mon
Tue
Wed
Thu
Fri
Sat
Sun
1
weekend
2
weekend
3
no data
4
no data
5
46 shifts
-4.00 pts
6
50 shifts
-21.00 pts
7
13 shifts
+22.00 pts
8
weekend
9
weekend
10
39 shifts
-0.50 pts
11
16 shifts
-3.25 pts
12
48 shifts
-14.75 pts
13
20 shifts
+36.50 pts
14
26 shifts
-22.25 pts
15
weekend
16
weekend
17
future
18
future
19
future
20
future
21
future
22
weekend
23
weekend
24
future
25
future
26
future
27
future
28
future
29
weekend
30
weekend
31
future

8 trading days with data · 2 weekdays missing (PC off, holiday, or no sessions). Hover any green cell to see the full day stats.

Raw data downloads: events.csv — every parsed event with prices, sizes, RTH flag (audit any aggregate). · daily_summary.csv — per-day rollups with invariant check. Open in Excel to verify any number on this page.

✓ Sanity check (per dedup spec): 269 matched tested + 38 still naked = 307 migrations

Range, activity rate, and DVPOC confirmation

DVPOC here means Developing VPOC — the live intraday challenger to the current VPOC. Not the Daily VPOC (some traders use the same acronym for the prior day's settled point of control). What's the difference? →

32.97
Avg VPOC range / segment (pts)
Median: 29.75 · Max: 49.00
17
Median distinct VPOC prices
Avg: 17.2 per segment
5.9
VPOC shifts / RTH hour
Over 52.0 RTH hours
8.7%
DVPOC → VPOC confirmation
26 of 298 shifts

DVPOC confirmation is the rate at which a VPOC shift landed on the price the Developing VPOC was already pointing to. It’s a historical observation, not a forecast signal — it tells you how often the addon’s DVPOC anticipated the next VPOC shift in past sessions.

How long Naked VPOCs sat untouched

4m 11s
Avg time naked before touched
Mean across 269 matched touches
6s
Median time naked before touched
Half are faster, half are slower
69%
Touched within 1 minute
186 of 269
3%
Naked > 30 minutes
7 of 269

Quick touches vs slow touches — how far did the VPOC drift?

Each Naked level is bucketed by how long it stayed untouched. For each bucket, we measure the maximum distance the current VPOC drifted from the Naked level during its naked window. The expectation: quick touches happen because the VPOC barely moved away; slow touches survive because the VPOC drifted farther before snapping back.

Time naked before touchedLevels per dayAvg distance VPOC drifted (pts)Median (pts)Max (pts)
Under 30 sec17/day (58%)0.610.505.75
30 sec – 1 min2.0/day (7%)1.561.004.75
1 – 5 min6.8/day (23%)2.832.509.25
5 – 30 min2.8/day (9%)4.863.6211.25
Over 30 min0.9/day (3%)10.219.0020.00

When VPOC migrated most

Bucket size:
09:3010:0011:0012:0013:0014:0015:00
216.01.50.51.63.04.6

Each column is one time bucket in the RTH window (9:30–16:00 ET). Numbers shown are per-trading-day averages. Darker green = more VPOC shifts per typical session in that window. Hover any cell to see the raw total across all trading days. Toggle the bucket size to zoom in: 1 hour shows the broad shape, 15 min shows minute-level micro-structure.

Where the VPOC moves most in a typical session

Two views of activity, both shown as per-session averages (total across 8 trading days, divided by 8). Avg migration distance / session = how many points the VPOC typically moves in this hour on a single trading day. Avg net move / session = signed direction — positive bars (green) mean VPOC typically drifts up in this hour, magenta means net down. The cumulative totals across the full month appear in smaller text underneath each row for context.

Hour (ET)Avg migration distance / sessionAvg net move / session
09:30–10
27.31 pts/session · 21.1 shifts
(218.50 pts total · 169 shifts)
-1.25 pts/session
10:00–11
12.59 pts/session · 6.0 shifts
(100.75 pts total · 48 shifts)
+3.47 pts/session
11:00–12
9.53 pts/session · 1.5 shifts
(76.25 pts total · 12 shifts)
-5.72 pts/session
12:00–13
0.84 pts/session · 0.5 shifts
(6.75 pts total · 4 shifts)
+0.34 pts/session
13:00–14
6.94 pts/session · 1.6 shifts
(55.50 pts total · 13 shifts)
-2.44 pts/session
14:00–15
4.12 pts/session · 3.0 shifts
(33.00 pts total · 24 shifts)
-0.44 pts/session
15–16:00
9.12 pts/session · 4.6 shifts
(73.00 pts total · 37 shifts)
+3.56 pts/session

Not a return metric. These bars measure how much the Volume Point of Control moved — not P&L. Most activity does not imply best trading hours; it implies most fair-value contention, which can cut either way.

How big the shifts were

0.25 pts
10 / day (26.4%)
0.50 pts
7.1 / day (18.6%)
0.75 pts
4.2 / day (11.1%)
1.00 pts
3.4 / day (8.8%)
1.25–2.00 pts
5.0 / day (13.0%)
2.00–5.00 pts
5.4 / day (14.0%)
5.00+ pts
3.1 / day (8.1%)

ES futures move in 0.25-pt ticks, so most VPOC shifts are exactly one tick. The long tail toward larger shifts captures moments when volume migrated more aggressively.

When the biggest VPOC migrations actually happened

"Big shift" is defined from the data, not a hardcoded number. A shift counts as big if it's in the chosen top percentile by size — switch between Top 25%, Top 10%, or Top 5% to see the threshold shift. The percentile is computed from the currently-filtered set, so it adjusts as you change the opening-bell filter too.

Threshold:
4.35
Big-shift threshold (pts)
90th percentile of 307 RTH shifts
31
Big shifts (top 10%)
3.9 per trading day
23.00
Largest single shift (pts)
Thu 13:16

By hour of day

09:30–10
12 big shifts (39%) · 1.50/day
10:00–11
5 big shifts (16%) · 0.62/day
11:00–12
4 big shifts (13%) · 0.50/day
12:00–13
0 big shifts (0%) · 0.00/day
13:00–14
4 big shifts (13%) · 0.50/day
14:00–15
2 big shifts (6%) · 0.25/day
15–16:00
4 big shifts (13%) · 0.50/day

By day of week

Monday
4.0/monday (13%) · 1 monday
Tuesday
3.0/tuesday (10%) · 1 tuesday
Wednesday
3.0/wednesday (19%) · 2 wednesdays
Thursday
6.5/thursday (42%) · 2 thursdays
Friday
2.5/friday (16%) · 2 fridays

Big-shift counts are RTH-only. The threshold (90th percentile) is computed per-period — May's threshold may differ from April's because volatility regimes shift. Day-of-week sample sizes are small for a single month; cross-month patterns will be more meaningful as more sessions log.

Observations

August 2026 produced 258 VPOC shifts across 8 trading days. Direction was balanced. Most active hour: 09:00 ET with 169 VPOC shifts. For every VPOC shift, the prior level becomes a Naked candidate; this month logged 239 Naked touches (prior VPOCs that price revisited).

At a normalized rate, the VPOC migrated 5.9 times per RTH hour on average. Each log segment held a median of 17 distinct VPOC prices and covered a typical range of 29.75 points from the lowest to highest VPOC observed within that segment.

Cumulatively, the VPOC traveled 514.75 points across all shifts this month — the sum of every individual shift's distance. The signed net was -7.25 points (down), meaning if you summed every shift's direction, the VPOC ended the month a net 7.25 points down from where individual shifts started. Per session, the VPOC moved an average of -12.78 points from open to close.

On the Naked side, 307 levels became naked during the month (when a VPOC shift moved away from them), and 88% of those were tested before their session ended. The median naked level sat untouched for 6s before being revisited; the mean was 4m 11s. The gap between those two numbers reflects the long-tail distribution — most naked levels get tested fast, a small number sit much longer.

When a Developing VPOC was active and a VPOC shift occurred, the shift landed on the DVPOC price 8.7% of the time (26 of 298 eligible shifts). This is a historical observation of how often the addon's Developing VPOC anticipated the next VPOC — it isn't a forecast signal, and shifts that didn't match still happened frequently.

Each shift here represents real volume migration — the market's declared fair value physically moving to a new price as that level absorbed more contracts than any other. This is one trader's chart-time during RTH, not a back-test; sample size for August is 8 trading days.

The public dataset is moving forward with AMT ForeSight. Historical April and May pages keep their VPOC Migration Pro attribution. Publication resumes with August 2026. Months without qualifying published sessions are omitted, not reported as zero.

See AMT ForeSight →See VPOC Migration Pro →
AMT FORESIGHT · LOCAL-FIRST

Follow the VPOC on your own chart.

Free + Paid
PAID PRICING COMING SOON

ForeSight works locally in Bookmap. The public data pipeline accepts only complete live RTH journals; partial, stale, replayed, or conflicted sessions stay unpublished.

See AMT ForeSight