SPX historical build. Same cascade methodology as the SPY study, rebuilt on FirstRateData SPX cash-index history. Intraday source is 1-minute data aggregated to 3-minute RTH bars from Jan 2 2008 through May 1 2026, with daily bars from Nov 2000 onward seeding previous close and Wilder ATR(14).
Data window
Loading available years…
Start here · overall ATR probability map

The first chart is the broad same-day probability map.

This overview uses a range-inclusion methodology: for each RTH session, any ATR level inside that day's regular-hours high-low range counts as hit. If SPX opens beyond a level, that level still counts as hit for this overall map. Each arrow reads as P(target hit | start level hit) for the same trading day. The year filter above updates this chart too; red deltas below the arrows show percentage-point change versus the all-years baseline.

How this differs from Saty's work

Saty's chart is the benchmark. Our version rebuilds the same ATR ladder on FirstRateData SPX cash-index history using 1-minute bars aggregated to 3-minute RTH bars from 2008-2026. The timeframe and source window are slightly different, so the probabilities should not match exactly. They should be close. That closeness is the sanity check that our ATR math, level definitions, and inclusion rules are correct.

SPX level-to-level · 4,612 days · 20,736 public events

Once SPX hits a level, where does price go next?

After the broad same-day map above, this interactive study switches to cleaner first-hit sequence logic: for every first-touch of an ATR level during regular hours, we ask whether the next adjacent level reached was the one further out (continuation) or the one closer to PDC (retrace). Filterable by the hour of day the level was first hit.

--
Continue to next level (overall)
loading events
--
Retrace toward PDC (overall)
--
No further adjacent move
(level was day's last)
--
Median time to next adjacent level
3-minute bar resolution
01
Watch the ladder
25 rungs from -2 ATR through PDC up to +2 ATR. Includes Β±0.236, Β±0.382, Β±0.50, Β±0.618, Β±0.786 in the inner band.
02
First touch only
For each RTH session, mark the first 3-minute bar that touches each level. Earlier hits don't count again.
03
Watch the next move
From that first hit, look forward. Did price reach the next level out (away from PDC) or back (toward PDC) first?
04
Slice by hour
Bucket events by the hour the first hit occurred. 09:30 triggers behave very differently from 15:00 triggers.

The grid below has one row per ATR level (lower at top, higher at bottom; PDC omitted as origin). Each cell is a (level, hour-bucket) cohort. Click any cell to load its full breakdown on the right: outcome distribution, time-to-next-level, and a 9-bin histogram of how fast the next level arrives. Use the toggle to color the heatmap by which outcome you care about. Striped cells have n < 50.

color by
0% 100% striped = n < 50
Click any cell to inspect See the outcome breakdown, average and median time to next level, and a histogram of how quickly the next level arrives.

Click a starting level on the ladder. After each pick, the two adjacent rungs around the current level become live. This includes revisits, so a move from +1.00 back to +0.786 counts as the immediate retrace instead of requiring a full retrace through PDC. The stats panel can match either days whose adjacent-walk starts with your path, or days where that same path occurs anywhere in the day.

Try the Up to +1 ATR preset to load the path PDC → +0.236 → +0.382 → +0.50 → +0.618 → +0.786 → +1.00. From there, because you are on the upper side, retrace is the down/toward-PDC rung +0.786. On lower-side paths, retrace is the up/toward-PDC rung. You can keep walking all the way back toward call trigger, PDC, or back up to GG Open.

controls match presets
No path yet — click a starting level on the ladder
Click a starting level to begin The first level you click becomes step β‘ . After that, only the rungs that extend the high or low frontier light up. try a preset above ↑

The path explorer only tracks new first-hit rungs. This panel answers the retouch question directly: after price hits the trigger and then opens the GG at Β±0.382, does a retrace back to the trigger before Β±0.618 change the odds of completing the Golden Gate?

Each card shows a level. Bars are stacked: green = continuation, blue = retrace, gray = level was last. Reading these top-to-bottom tells you the time-of-day shape for that level. The triggers (Β±0.236) flip from continuation-dominant in the morning to balanced midday and last-dominant near the close.

LevelNameHourN %Beyond%Behind%Last%Ambig Avg→Bey minMed→Bey Avg→Beh minMed→Beh
Touch rule for first-hit Upper-side level L: first 3-minute bar where high ≥ L. Lower-side: low ≤ L. PDC: low ≤ PDC ≤ high. Gaps over a level still register as a hit at the opening bar.
Continuation (beyond) Upper-side: next bar with high ≥ Li+1. Lower-side: low ≤ Li-1. "Beyond" always means further from PDC.
Retrace (behind) Upper-side: next bar with low ≤ Li-1 (price retreats toward PDC). Lower-side: high ≥ Li+1. The "behind" target may or may not have been hit earlier in the day — we only need price to revisit that level after the origin.
Last / ambiguous Last = neither adjacent level reached again before the RTH close. Ambiguous = continuation and retrace both first occurred in the same 3-minute bar, where OHLC cannot sequence which adjacent rung came first.

Full historical SPX sample, but N still matters. Most central-rung cells now have strong denominators. Extreme ATR rungs and narrow hour buckets can still be thin, so treat any low-N cell as directional context, not a standalone edge.

Trigger continuation is now measured on the full SPX file. Use the heatmap and detail panel for current values by rung and hour; the denominators now come from the FirstRateData build rather than the earlier short Tesrak window.

SPX is now a real historical sample. The page uses 4,612 RTH sessions and 20,736 public first-hit events after excluding ATR levels already passed at the RTH open. Per-rung extremes like Β±2 ATR still have smaller denominators, so use the shown N before leaning on those cells.

Best-result source choice. The 1-minute file is canonical because it preserves the most intrabar detail; the study aggregates it to the same 3-minute cadence used by the SPY cascade. The 5-minute, 30-minute, and 1-hour files are reference files, not the primary measurement source.

Timing is still bar-based. A same-bar adjacent move is counted as 0 minutes because OHLC only proves the level was touched inside that 3-minute window, not the exact second.

← back to drafts