DATA FOR TRADERSSPXDashboard

LEVEL REACTION STATS · SPX 0DTE

How SPX reacted when it reached the levels on our board: 1,090 sessions, May 16, 2022 → Oct 2, 2026, rebuilt with the same math as the live board.

Updated Oct 2, 2026, 4:17 PM ET · method lrs-1.1
through Oct 2, 2026

The short answer

Across every level on the board, SPX held 62.1% of decided tests vs 61.4% at random lines (+0.7 pp, 90% CI −0.3 to +1.7). Other days' levels dropped onto the same candles did at least as well (+0.9 pp, 90% CI +0.3 to +1.4). As a group, the board adds nothing measurable beyond where levels tend to sit.

16,458 decided tests · 1,090 sessions · 90% CIs from a day-clustered bootstrap · a touch where levels coincide counts for each of them

Held % minus random linespp · 90% CI
Every board level+0.7 pp−0.3 to +1.7Other days' levels+0.9 pp+0.3 to +1.4
−3−1.5random+1.5+3

Random line = an ordinary strike away from the board's levels, same test (VWAP: lines riding VWAP). Other days' levels are the shuffle control.

Where the board does differ

each shown only when its interval supports it · click a level for its breakdown
Range by gamma regime

−γ days ranged wider after 10:00

+0.16×EM wider median range than +γ days (≈7 pts at the typical EM of 44.4)
+γ days n=6080.94×
−γ days n=4821.09×
0.5×1×1.5×
range after 10:00 ÷ EM · box = middle half of days · tick = median

90% CI +0.11× to +0.20× EM · similar-IV days +0.14× · whole day +0.12× · an association, not a cause

After multiple-testing control

Prior close ↓ held less often; Gamma flip ↑ with no other level within 2τ held more often than random lines

Prior close↓55.8%▾−6.2 ppheld less often than random linesrandom 62.0% · 774 decided · −γ 49.8%▾ · +γ 59.8% · other days' prior closes −0.5 pp
Gamma flip↑68.4%▴+9.8 ppalone: no other level within 2τ · held more often than random linesrandom 58.6% · 263 decided

▴ / ▾ = firm call after multiple-testing control. Breakdown intervals are the held-% interval against the random-line rate.

Tentative · 90% only

Not after multiple-testing control

Gamma flip↑64.9%+5.3 ppabove random lines at 90%random 59.6% · 703 decided · other days' gamma flips +1.4 pp↳ the flip moved onto price 1,348× vs 1,678 times price came to it (both sides)
VWAP↓61.0%−2.9 ppbelow lines riding VWAP at 90%lines riding VWAP 63.9% · 1,178 decided · −γ 61.8% · +γ 60.4% · other days' VWAPs −0.3 pp
Pin↓66.8%+5.3 ppabove random lines at 90%random 61.5% · 193 decided · −γ 60.7% · +γ 67.9% · other days' pins +1.0 pp↳ the pin moved onto price 4,801× vs 1,144 times price came to it (both sides)

4 of 13 level-sides clear random lines at 90%; about 1.3 would by chance alone if they were independent (they aren't: levels often coincide), so only ▴ / ▾ is a firm call.

Left out, muted (≈ in the scorecard): Call wall #1 ↑, Call wall #2 ↑, Put wall #2 ↓, Gamma flip ↓, Pin ↑, EM low ↓, Day high ↑, where other days' levels on the same candles also differ from random lines, so random lines aren't a fair yardstick.

What doesn't show up

common readings of the map that the history doesn't back
The #1 walls contain the close
61.7% vs 61.9%

closed between them from 10:00 vs the same distances on other days (−0.2 pp, CI −2.7 to +2.1); from 15:00: 68.2% vs 70.0% (CI −4.2 to +0.4)

The pin pulls the close
26.6% vs 27.0%

the pin strike ended nearer the settle than ‘no move from 15:00’ (CI 24.5%–28.7%, null 27.0%); from 15:30: 24.7% vs 26.2%

Walls hold more often
+2.5 / +1.1 pp

call / put walls vs random lines, matched by other days' walls on the same candles (+1.9 / +1.3 pp), so the lead comes from where walls sit

Walls stall price
25% vs 18%

call-wall tests went undecided more often than random lines, but so did non-wall levels (Gamma flip ↑ 17% vs 7%, EM high ↑ 28% vs 19%, Day high ↑ 19% vs 15%), so it isn't specific to walls

Window
Regime
Time

Levels are modeled from public open interest (customers assumed long calls / short puts). They are not actual dealer positions. These are past reactions, not predictions or advice.

Right now · nearest level above

Last session's levels · all-day stats
Reading the live board…

Right now · nearest level below

Last session's levels · all-day stats
Reading the live board…

Reading the numbers

64%
held %90% CIrandom lines, same testthin (<30)
  • Held = a 1-min bar closed back on the approach side first; n counts decided tests (held + broke).
  • ▴ ▾ held more / less often than random lines, after multiple-testing control. No glyph = no firm difference after that control.
  • ≈muted: other days' levels on the same candles also differ from random lines there, so random lines aren't a fair yardstick; no glyphs.
  • ~ the exact context was too thin, so a broader sample is shown.
  • fewer than 30 decided tests: read as a hint only.

Scorecard · every level on the board

All regimes · all day · 1,090 sessions · distances ≈ pts at the typical EM (±44.4)
Distances
Quarterly
1,145 · 601d66%≈+3.8 pp26%rand 18%≈2rand ≈2.5≈10rand ≈11≈11.5rand ≈1213%rand 16%601 / 1,090
766 · 525d63%≈+0.8 pp26%rand 20%≈2rand ≈2≈10rand ≈10.5≈11.5rand ≈1214%rand 18%525 / 1,090
497 · 405d64%+2.3 pp22%rand 17%≈2rand ≈2.5≈10.5rand ≈11.5≈12.5rand ≈12.512%rand 16%405 / 1,090
2,408 · 753d65%≈+2.5 pp25%rand 18%≈2rand ≈2.5≈10rand ≈11≈11.5rand ≈1213%rand 17%753 / 1,090
1,390 · 530d62%+1.7 pp11%rand 8%≈2.5rand ≈3≈11.5rand ≈11.5≈14rand ≈14.524%rand 28%530 / 1,090
1,104 · 486d59%≈−0.8 pp9%rand 7%≈3rand ≈3≈11.5rand ≈12≈14rand ≈14.523%rand 27%486 / 1,090
687 · 397d63%+2.6 pp8%rand 7%≈3rand ≈3≈12rand ≈12.5≈14.5rand ≈14.527%rand 29%397 / 1,090
3,181 · 654d61%≈+1.1 pp10%rand 8%≈2.5rand ≈3≈11.5rand ≈12≈14rand ≈14.524%rand 28%654 / 1,090
755 · 426d63%≈+2.0 pp9%rand 9%≈3rand ≈3≈11.5rand ≈11≈14.5rand ≈1520%rand 21%426 / 1,090
703 · 401d65%+5.3 pp17%rand 7%≈2.5rand ≈3≈11.5rand ≈12.5≈12.5rand ≈1321%rand 26%401 / 1,090
193 · 136d67%+5.3 pp8%rand 12%≈2rand ≈3≈10.5rand ≈11.5≈12rand ≈1428%rand 31%136 / 1,090
724 · 526d66%≈+3.7 pp22%rand 16%≈2rand ≈2.5≈10.5rand ≈11≈11rand ≈1214%rand 17%526 / 1,090
117 · 90d63%+1.7 pp6%rand 11%≈1rand ≈3≈9.5rand ≈10.5≈14rand ≈1421%rand 25%90 / 1,090
285 · 280d63%+0.8 pp28%rand 19%≈1.5rand ≈2≈10.5rand ≈11≈13rand ≈129%rand 19%280 / 1,090
448 · 261d62%≈+2.5 pp7%rand 7%≈3rand ≈3≈13rand ≈12.5≈13.5rand ≈14.528%rand 28%261 / 1,090
230 · 148d62%+1.9 pp9%rand 8%≈2.5rand ≈3≈11.5rand ≈12≈14.5rand ≈1423%rand 26%148 / 1,090
1,178 · 741d61%−2.9 pp12%rand 13%≈2.5rand ≈2.5≈11rand ≈11.5≈13.5rand ≈12.521%rand 23%741 / 1,090
1,278 · 760d61%−0.8 pp14%rand 15%≈2.5rand ≈2.5≈11rand ≈12≈12.5rand ≈1221%rand 21%760 / 1,090
774 · 503d56%▾−6.2 pp9%rand 9%≈3rand ≈3≈11.5rand ≈11.5≈14rand ≈1425%rand 24%503 / 1,090
699 · 456d61%−1.0 pp14%rand 14%≈2.5rand ≈2.5≈11rand ≈11.5≈12.5rand ≈1224%rand 21%456 / 1,090
1,497 · 820d63%≈+1.7 pp19%rand 15%≈2rand ≈2.5≈11.5rand ≈11.5≈12rand ≈1320%rand 21%820 / 1,090
1,988 · 822d61%−0.8 pp9%rand 8%≈2.5rand ≈3≈12rand ≈12≈13.5rand ≈14.524%rand 27%822 / 1,090
Rows without a cell for this cut are hidden.rand = matched random lines, same test (all tests; hidden under a filter).≈ muted: random lines aren't a fair yardstick for that level (hover ≈ for why), so no ▴ / ▾.Past reactions of modeled levels, not a forecast.
Level breakdown
tested from below (resistance)all tests: held 66% of 1,145 on 601 days · random 62%≈muted: random lines aren't a fair yardstick here

Regime × time of day

1,090 sessions

Positive gamma is supposed to make levels stickier. Here's what the tape says.

Open09:35Mid10:30Aft13:30Close15:00All day 
+γ
−γ
All
below randomabove · ±15 pp<30 decided≈ Muted: no tint and no ▴ / ▾ (random lines aren't a fair yardstick for this level).

What the held % varies with

exploratory · all tests

Exploratory: many comparisons, so a row is highlighted only after multiple-testing control (false-discovery rate 0.1 across every cell and breakdown). This level is muted (≈), so nothing here is highlighted: Other days' #1 call walls, dropped onto the same candles, held more often than random lines (+2.1 pp, 90% CI +0.3 to +3.8 pp), so random lines aren't a fair yardstick for this level. No ▴ / ▾.

Test number today
1st test65% n=7332nd test68% n=2763rd+ test66% n=136
Approach
slow approach66% n=962fast approach68% n=183
Expected move used
EM used < 50%66% n=423EM used 50–100%66% n=441EM used > 100%65% n=281
Confluence
alone (no other level within 2τ)57% n=72confluence (level within 2τ)67% n=1,073
Wall strength
weak wall69% n=198mid wall60% n=305strong wall68% n=642
Day type
non-OPEX day66% n=1,112OPEX52% n=33
40%50%60%70%80%
this level overall 66%random lines 62%above / below random after multiple-testing control

How far through before it held

conditional on holds · all tests
share of holdsp50 ≈0 ptsp80 ≈2 ptsrandom p80 ≈2.5 pts
30%
60%
p50p80rand p80
0≤1.1≤2.2≤3.3≤4.4≤6.7≤8.9≤13.3>13.3
never traded throughpts past the level at today's EM

Conditional on holds: how far price traded through on tests that went on to hold. Tests that broke went further by definition, so this describes holds only.

What happened next

minutes after the touch · all tests
middle half of all testsheld (median)broke (median)random lines (median)pts at today's EM

At the touch you don't know which path you're on. The band is every test.

Breaks

389 broke · all day
Median run≈11.5 ptsrandom ≈12 pts+γ ≈11.5 pts · −γ ≈11.5 pts
Failed break13%random 16%+γ 9% · −γ 37%
Reached next level53% of 379+γ 52% of 333 · −γ 61% of 46
Time to break13 min+γ 13 min · −γ 7 min

A break is a 1-min close ≈5.3 pts through (0.12× EM, 4–10 pts), so every run includes that threshold: the median run is ≈6 pts beyond it.

Latest tests

SessionLevelOutcomeMove
Oct 2 15:387,730Held 17mbounce ≈6.5
Oct 2 10:187,750Undecided—
Oct 2 09:457,750Held 6mbounce ≈20.5

Did the day respect the map?

Whole sessions, not single tests · 1,090 days · anchors read as of the time shown

Expected move

1,090 days
Closed inside ±EM69% 1σ 68%
Whole range inside47%
Tagged EM high27% 1σ 32%
Tagged EM low27% 1σ 32%
if the EM were exactly 1σ (continuous path; RTH-only touches run lower)
+γ days closed inside 70% · n=608−γ days closed inside 67% · n=482
Weekends & holidays. The EM uses calendar time, so after a weekend or holiday it includes hours the market was shut. Those sessions closed inside 76% (n=237, CI 71%–80%) vs 67% for the rest (n=853), and used a median 0.96× of it vs 1.07×. After a gap, the EM ran wide more often.

The median day used 1.04× of its EM (middle half 0.74×–1.42×).

Walls containment

call wall #1 ↔ put wall #1
From 10:00 ET · n=1,090 · walls 1.53× EM apart (median)
Closed between them62% null 62%
Range stayed inside38% null 37%
close vs null −0.2 pp (CI −2.7 pp … +2.1 pp)
From 15:00 ET · n=1,090 · walls 0.98× EM apart (median)
Closed between them68% null 70%
Range stayed inside54% null 54%
close vs null −1.8 pp (CI −4.2 pp … +0.4 pp)
null: same distances applied to other days' moves

Pin into the close

settle vs the pin strike
From 15:00 ET · n=1,079 · pts from settle
Pin strike15.1 (6.6–33.2)
No move from 15:007.2 (3.5–13.9)
Pin closer than no-move27% null 27%
settled within 5 pts 19% · within 10 pts 37%
From 15:30 ET · n=1,079 · pts from settle
Pin strike12.1 (5.2–28.8)
No move from 15:306.0 (2.6–10.7)
Pin closer than no-move25% null 26%
settled within 5 pts 23% · within 10 pts 44%
010203040
Boxes: middle half of days, tick = median.null: the pin's offset applied to other days' moves

Regime vs range

regime at 10:00 ET
Range after 10:00 (high − low) ÷ EM
+γ days · n=6080.94× (0.75×–1.24×)
−γ days · n=4821.09× (0.85×–1.38×)
0×0.5×1×1.5×

−γ days ranged a median 0.16× EM wider after 10:00 (90% CI 0.11×–0.20×). Comparing days with similar implied vol: 0.14×. Whole day, including the minutes before the regime read: 0.12×. An association, not a cause: the 10:00 regime is partly set by how the day opened.

+γ days−γ days
|10:00 → close| median0.45×0.51×
Trend days37%44%

56% of sessions were +γ at 10:00; 77% kept the same regime at 15:30. Trend day = closed in the top or bottom 20% of a range after 10:00 ≥ 0.8× EM.

▶

Methodology & robustness

definitions · baseline · robustness · diagnostics · caveats · method lrs-1.1

Definitions · at the typical EM of ±44.4 pts

A test starts once SPX has been at least 8.9 pts away from a level (0.20× that day's expected move) and then trades within 1.8 pts of it. It held if a 1-minute bar then closed 5.3 pts back on the side it came from before any bar closed 5.3 pts through. It broke if the reverse happened first. Neither within 30 minutes counts as undecided; those are shown but left out of held %.

Why ‘vs random lines’ matters: under these rules even a random price ‘holds’ about 61% of the time, because a test starts slightly on the near side of the level. So we run the identical test on ordinary strikes that weren't on the board (every 5-pt strike and the 2.5s between them; for VWAP, a line riding VWAP ± 0.25× EM), in the same regime, time of day and direction, matched for round numbers, how fast price arrived and how wide the day ran. A level only matters if it beats that.

Poke-through. Levels rarely hold to the tick. Poke-through is how far SPX traded past the level before it held. It is measured only on tests that held, so it is conditional on the hold and understates how far price goes on tests that break.

Failed break. Share of breaks where SPX closed back 5.3 pts on the original side within 30 minutes.

How the history is rebuilt

Touch τ
0.04× EM, 1.5–3 pts → 1.8 pts today
Arm A
0.2× EM, 6–14 pts → 8.9 pts today
Hold / break D
0.12× EM, 4–10 pts → 5.3 pts today, on 1-min closes
Decision window
30 min from the touch bar
Tested windows
09:35–15:49 ET (first 5 min skipped, ≥10 min left)
Known at the time
levels from the snapshot 1 bar before the touch; VWAP and day high / low through the prior bar
New levels
a level shown < 3 bars is left out; one that moves onto price is not a test
Level moves
a jump of more than 5 pts (max of 0.5× A, 5 pts) is a new place: it voids the approach and restarts the age
History steps
1-min greeks history, open interest as of 6:30 AM ET
Intervals
90% day-clustered bootstrap (1,000 draws); FDR q = 0.1
Minimums
rate shown at 10+ decided; badge at 30+ on 15+ days; glyph at 40+
Glyphs
▴ / ▾ after Benjamini–Hochberg over every cell and breakdown jointly; none for a level the shuffle control mutes

Robustness · held vs random at D = 0.08 / 0.12 / 0.18 × EM

Level0.08×0.12× (used)0.18×
Call wall #1↑68% / 64%66% / 62%64% / 62%
Call wall #2↑65% / 64%63% / 62%63% / 61%
Call wall #3↑66% / 64%64% / 62%61% / 61%
Call walls (any)↑67% / 64%65% / 62%63% / 61%
Put wall #1↓63% / 62%62% / 60%59% / 58%
Put wall #2↓61% / 62%59% / 60%57% / 59%
Put wall #3↓62% / 62%63% / 60%61% / 59%
Put walls (any)↓62% / 62%61% / 60%59% / 59%
Gamma flip↓66% / 63%63% / 61%61% / 60%
Gamma flip↑68% / 62%65% / 60%65% / 59%
Pin↓71% / 63%67% / 62%66% / 60%
Pin↑67% / 64%66% / 62%64% / 61%
EM high↓65% / 63%63% / 62%60% / 59%
EM high↑65% / 64%63% / 62%64% / 61%
EM low↓63% / 62%62% / 60%61% / 59%
EM low↑67% / 62%62% / 60%55% / 59%
VWAP↓63% / 65%61% / 64%59% / 63%
VWAP↑64% / 64%61% / 62%60% / 62%
Prior close↓57% / 63%56% / 62%54% / 61%
Prior close↑62% / 63%61% / 62%60% / 61%
Day high↑65% / 63%63% / 62%62% / 61%
Day low↓62% / 63%61% / 61%60% / 60%

held / random lines. A level whose lead over random survives a tighter and a looser barrier is not an artefact of one threshold.

Quarterly stability · held % by quarter

Level’22Q2 Q3 Q4’23Q1 Q2 Q3 Q4’24Q1 Q2 Q3 Q4’25Q1 Q2 Q3 Q4’26Q1 Q2 Q3 Q4
Call wall #1↑716451686770715866637876626569627365·
Call wall #2↑586353667465647351465457536964687069·
Call wall #3↑425071635762657081676356587974686244·
Call walls (any)↑626155666767686565596866586968667063·
Put wall #1↓556065667158506063575672586960615864·
Put wall #2↓545754736252585155596662516457685860·
Put wall #3↓706646576772836870516259615657685763·
Put walls (any)↓586058676758615861576065576458655863·
Gamma flip↓466059576767708062605965646061596365·
Gamma flip↑396761566658617557686669648267646968·
Pin↓·64··7573·83·63·6473····46·
Pin↑616551656968676867637765607065667364·
EM high↓·······71·61·········
EM high↑·63555333605552577564·628282716173·
EM low↓537263675063586161676660596848636471·
EM low↑·60·89·55··5867367446·62507765·
VWAP↓546152536261566372587162576656676163·
VWAP↑706464566168586656565854456167676663·
Prior close↓354256556856526650525652535063716451·
Prior close↑676359644460549158625756487060637353·
Day high↑515161597774686765637559566460616271·
Day low↓646054676355566162576859586562655558·

Held % per calendar quarter (· = fewer than 10 decided; levels too thin for any quarter are left out). Tint vs the level's whole-window random-line rate:belowabove · ±15 ppMuted levels (≈) are left untinted.

Sample & provenance

  • 1,090 sessions, May 16, 2022 → Oct 2, 2026. Every session in the window has a same-day SPXW expiry.
  • Excluded: half-day sessions (9 days) · too many index bars missing (1 day).
  • Provenance: 1,090 days rebuilt from historical option data (recon-1.0), 0 recorded by the live worker.
  • Steps: 1,090 days at 1-min, 0 at 5-min. Typical EM over the window: 44.4 pts.

Diagnostics

  • Every board level (a touch where levels coincide counts for each): held 62.1% vs 61.4% for random lines; vs random +0.7 pp (90% CI −0.3 pp…+1.7 pp).
  • Shuffle test (other days' levels on each day's candles, 1 / 2 / 3 / 5 / 8 days apart): vs random +0.9 pp (90% CI +0.3 pp…+1.4 pp; 95% +0.2 pp…+1.5 pp), passes the publish gate (fails only beyond ±2.0 pp with the 95% CI excluding 0).
  • Muted per level: other days' levels on the same candles also differed from random lines (90% CI excluding 0), in either direction, so random lines aren't a fair yardstick and there are no glyphs. Other days' vs random, then the level itself: Call wall #1 ↑ +2.1 pp (level +3.8 pp) · Call wall #2 ↑ +1.9 pp (level +0.8 pp) · Call walls (any) ↑ +1.9 pp (level +2.5 pp) · Put wall #2 ↓ +1.9 pp (level −0.8 pp) · Put walls (any) ↓ +1.3 pp (level +1.1 pp) · Gamma flip ↓ −1.9 pp (level +2.0 pp) · Pin ↑ +1.9 pp (level +3.7 pp) · EM low ↓ +2.7 pp (level +2.5 pp) · Day high ↑ +1.5 pp (level +1.7 pp).
  • Levels that moved onto price (not tests): flip 1,348 (vs 1,678 times price came to it) · pin 4,801 (vs 1,144 times price came to it) · VWAP 2 (vs 2,829 times price came to it) · day high 10 (vs 1,852 times price came to it) · day low 14 (vs 2,178 times price came to it).
  • Snapshot lag 0 / 1 / 2 bars: held 62.0% / 62.1% / 62.0% · random 61.1% / 61.4% / 61.4%.
  • EM parity vs live: 70 live days, mean abs error 1.4%.
  • Events: grid 28,087 · real 19,511 · fresh 176 · shadow 2,520 · migrated hod 10 · migrated lod 14 · migrated pin 4,801 · migrated flip 1,348 · migrated grid 0 · migrated real 6,175 · migrated vwap 2 · migrated shadow 23 · placebo discarded 33,316

Caveats

  • Positioning is modeled from open interest, not known dealer positions.
  • OI is the 6:30 AM print, so intraday 0DTE opening flow isn't in it.
  • History is rebuilt at 1-minute steps, while the live board updates every 3s.
  • Tests on the same day are correlated, so the intervals are day-clustered.
  • With this many cells some will look strong by chance; significance is FDR-controlled.
  • Where other days' levels on the same candles also differ from random lines (the shuffle control), the level is muted: random lines aren't a fair yardstick there.
  • Levels often coincide, and a touch at coincident levels counts for each, so level-sides aren't independent tests.
  • The EM uses calendar time, so after weekends and holidays it runs wide.
  • Market structure drifts; see the quarterly chart.
  • No costs or slippage are modeled.

Version

method lrs-1.1 · records recon-1.0 · generated Oct 2, 2026, 4:17 PM ET · seed 1729

← BACK TO THE LIVE DASHBOARDModeled from open interest, not dealer positions. Past reactions, not a forecast.