{"slug":"market-recap-2026-07-29","qid":"baseline_scoreboard","label":"SPY / QQQ / DIA / IWM: July 29 vs the July 28 close, regular hours","post_title":"Market Recap: July 29, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-29#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":526.94,"day_open":522.46,"day_close":515.38,"gap_pct":-0.85,"intraday_pct":-1.36,"pct_change":-2.19,"day_high":523.17,"day_low":514.82,"shares_traded_m":6.3},{"ticker":"IWM","prior_close":293.37,"day_open":292.49,"day_close":288.6,"gap_pct":-0.3,"intraday_pct":-1.33,"pct_change":-1.63,"day_high":293.67,"day_low":288.26,"shares_traded_m":30.9},{"ticker":"QQQ","prior_close":675.5,"day_open":675.5,"day_close":661.53,"gap_pct":0,"intraday_pct":-2.07,"pct_change":-2.07,"day_high":680.05,"day_low":661.14,"shares_traded_m":48.5},{"ticker":"SPY","prior_close":740.76,"day_open":739.97,"day_close":729.51,"gap_pct":-0.11,"intraday_pct":-1.41,"pct_change":-1.52,"day_high":742.68,"day_low":729.1,"shares_traded_m":57.6}],"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-28 13:30:00' AND window_start < '2026-07-28 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-29 13:30:00' AND window_start < '2026-07-29 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-01T22:47:33.125841+00:00","elapsed":0.005258307}