SPX Gamma Regime

Where does SPX sit against its gamma walls, and how has dealer gamma changed?

STALE · data 55h oldBuilt Oct 09 17:16 CT· Data last changed Oct 07 10:00 CT

Latest session

date
2026-10-07
spot
7,787
regime
Positive Gamma
pts_to_call_wall
62.77
pts_above_put_wall
287.23
net_gex
477.00
How computed
SELECT date, spot, regime,
       call_wall - spot AS pts_to_call_wall,
       spot - put_wall  AS pts_above_put_wall,
       net_gex_blended  AS net_gex
FROM gex ORDER BY date DESC LIMIT 1
1 rowDownload latest.csv

Spot against call wall and put wall

The walls are the strikes with the most call and put gamma.

How computed
SELECT date, spot, call_wall, put_wall
FROM gex ORDER BY date
132 rowsDownload spot_vs_walls.csv

Net dealer gamma (all expirations)

Positive means dealers damp moves. Negative means they add to moves.

How computed
SELECT date, net_gex_blended
FROM gex ORDER BY date
132 rowsDownload net_gex.csv

Next-day SPX move by gamma regime

Average and spread of the next session's point move, grouped by today's sign of net gamma.

regimesessionsavg_move_ptsavg_abs_move_ptsbest_ptsworst_pts
Negative gamma508.2046.60147.70-134.00
Positive gamma818.4045.50196.00-200.60
How computed
WITH t AS (
  SELECT date, net_gex_blended,
         LEAD(spot) OVER (ORDER BY date) - spot AS next_move
  FROM gex)
SELECT CASE WHEN net_gex_blended >= 0 THEN 'Positive gamma' ELSE 'Negative gamma' END AS regime,
       COUNT(next_move)                     AS sessions,
       ROUND(AVG(next_move), 1)             AS avg_move_pts,
       ROUND(AVG(ABS(next_move)), 1)        AS avg_abs_move_pts,
       ROUND(MAX(next_move), 1)             AS best_pts,
       ROUND(MIN(next_move), 1)             AS worst_pts
FROM t WHERE next_move IS NOT NULL
GROUP BY 1 ORDER BY 1
2 rowsDownload spot_move_by_regime.csv

SPX daily point change

How computed
SELECT date, spot_chg_1d
FROM gex WHERE spot_chg_1d IS NOT NULL ORDER BY date
131 rowsDownload daily_move.csv