SDES  /  VPOC Data

ES VPOC migration — September 2026

Aggregated from AMT ForeSight event journals across 3 trading days in September 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: 3Source: AMT ForeSight event journalsRTH 09:30–16:00 ET
Exclude opening:Active: excluding first 1 min (opening-flicker 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 is the opening-flicker buffer used for the public headline statistics. 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.

3
Trading days (RTH)
9:30–16:00 ET only
85
Total VPOC shifts
28 per trading day
78
Naked touches
26 per trading day
140
DVPOC changes
47 per trading day
2.66
Avg shift size (pts)
Max: 30.25
226.00
Cumulative migration (pts)
75.33 pts per trading day
+13.00
Net directional move (pts)
+4.33 pts per trading day
+0.67
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: 14/day (50.6%)↓ Down shifts: 14/day (49.4%)
Balanced (no directional bias)

September 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
34 shifts
+1.25 pts
2
11 shifts
+33.50 pts
3
no data
4
40 shifts
-21.75 pts
5
weekend
6
weekend
7
future
8
future
9
future
10
future
11
future
12
weekend
13
weekend
14
future
15
future
16
future
17
future
18
future
19
weekend
20
weekend
21
future
22
future
23
future
24
future
25
future
26
weekend
27
weekend
28
future
29
future
30
future

3 trading days with data · 1 weekday 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): 88 matched tested + 11 still naked = 99 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? →

31.75
Avg VPOC range / segment (pts)
Median: 33.25 · Max: 33.50
19
Median distinct VPOC prices
Avg: 15.7 per segment
5.1
VPOC shifts / RTH hour
Over 19.5 RTH hours
15.4%
DVPOC → VPOC confirmation
14 of 91 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

7m 36s
Avg time naked before touched
Mean across 88 matched touches
16s
Median time naked before touched
Half are faster, half are slower
67%
Touched within 1 minute
59 of 88
6%
Naked > 30 minutes
5 of 88

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 sec14/day (55%)0.510.252.25
30 sec – 1 min2.0/day (8%)1.621.503.25
1 – 5 min5.3/day (21%)2.472.255.75
5 – 30 min2.7/day (10%)5.844.2517.50
Over 30 min1.7/day (6%)13.7014.7521.25

When VPOC migrated most

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

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 3 trading days, divided by 3). 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
20.25 pts/session · 14.3 shifts
(60.75 pts total · 43 shifts)
+0.08 pts/session
10:00–11
10.00 pts/session · 0.3 shifts
(30.00 pts total · 1 shifts)
+10.00 pts/session
11:00–12
10.58 pts/session · 1.3 shifts
(31.75 pts total · 4 shifts)
-9.92 pts/session
12:00–13
17.33 pts/session · 2.3 shifts
(52.00 pts total · 7 shifts)
+5.17 pts/session
13:00–14
6.58 pts/session · 4.3 shifts
(19.75 pts total · 13 shifts)
-5.08 pts/session
14:00–15
2.83 pts/session · 2.7 shifts
(8.50 pts total · 8 shifts)
+1.17 pts/session
15–16:00
12.67 pts/session · 7.7 shifts
(38.00 pts total · 23 shifts)
-0.17 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
11 / day (32.3%)
0.50 pts
6.0 / day (18.2%)
0.75 pts
4.7 / day (14.1%)
1.00 pts
0.0 / day (0.0%)
1.25–2.00 pts
2.7 / day (8.1%)
2.00–5.00 pts
5.7 / day (17.2%)
5.00+ pts
3.3 / day (10.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:
5.10
Big-shift threshold (pts)
90th percentile of 99 RTH shifts
10
Big shifts (top 10%)
3.3 per trading day
30.25
Largest single shift (pts)
Fri 11:29

By hour of day

09:30–10
1 big shifts (10%) · 0.33/day
10:00–11
1 big shifts (10%) · 0.33/day
11:00–12
1 big shifts (10%) · 0.33/day
12:00–13
3 big shifts (30%) · 1.00/day
13:00–14
1 big shifts (10%) · 0.33/day
14:00–15
1 big shifts (10%) · 0.33/day
15–16:00
2 big shifts (20%) · 0.67/day

By day of week

Tuesday
4.0/tuesday (40%) · 1 tuesday
Wednesday
1.0/wednesday (10%) · 1 wednesday
Friday
5.0/friday (50%) · 1 friday

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

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

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

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

On the Naked side, 99 levels became naked during the month (when a VPOC shift moved away from them), and 89% of those were tested before their session ended. The median naked level sat untouched for 16s before being revisited; the mean was 7m 36s. 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 15.4% of the time (14 of 91 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 September is 3 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