{"slug":"market-recap-2026-07-30","qid":"baseline_scoreboard","label":"SPY / QQQ / DIA / IWM: July 30 vs the July 29 close, regular hours","post_title":"Market Recap: July 30, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-30#q-baseline_scoreboard","columns":["ticker","prior_close","day_open","day_close","gap_pct","intraday_pct","pct_change","day_high","day_low","shares_traded_m"],"rows":[{"ticker":"DIA","prior_close":515.38,"day_open":518.84,"day_close":521.53,"gap_pct":0.67,"intraday_pct":0.52,"pct_change":1.19,"day_high":521.98,"day_low":515.87,"shares_traded_m":2.8},{"ticker":"IWM","prior_close":288.6,"day_open":291.15,"day_close":292.54,"gap_pct":0.88,"intraday_pct":0.48,"pct_change":1.37,"day_high":292.84,"day_low":288.96,"shares_traded_m":20.1},{"ticker":"QQQ","prior_close":661.53,"day_open":674.76,"day_close":683.6,"gap_pct":2,"intraday_pct":1.31,"pct_change":3.34,"day_high":685.12,"day_low":673.3,"shares_traded_m":56.1},{"ticker":"SPY","prior_close":729.51,"day_open":736.05,"day_close":741.73,"gap_pct":0.9,"intraday_pct":0.77,"pct_change":1.68,"day_high":742.45,"day_low":734.59,"shares_traded_m":52.4}],"shape":"table","sql":"WITH prior AS (\n    SELECT ticker, argMax(close, window_start) AS prior_close\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')\n      AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00'\n    GROUP BY ticker\n),\nsess AS (\n    SELECT ticker,\n           argMin(open, window_start) AS day_open,\n           argMax(close, window_start) AS day_close,\n           max(high) AS day_high,\n           min(low) AS day_low,\n           round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')\n      AND window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'\n    GROUP BY ticker\n)\nSELECT\n    s.ticker AS ticker,\n    round(toFloat64(p.prior_close), 2) AS prior_close,\n    round(toFloat64(s.day_open), 2) AS day_open,\n    round(toFloat64(s.day_close), 2) AS day_close,\n    round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,\n    round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,\n    round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,\n    round(toFloat64(s.day_high), 2) AS day_high,\n    round(toFloat64(s.day_low), 2) AS day_low,\n    s.shares_traded_m\nFROM sess s LEFT JOIN prior p ON s.ticker = p.ticker\nORDER BY ticker","computed_at":"2026-08-01T23:58:31.791128+00:00","elapsed":0.784950817}