{"slug":"weekly-market-recap","qid":"index_week","label":"The major index ETFs over the past week","post_title":"Weekly Market Recap: The Week in Numbers","post_url":"/blog/weekly-market-recap#q-index_week","columns":["index_etf","week_return_pct","week_start","week_end"],"rows":[{"index_etf":"S&P 500 (SPY)","week_return_pct":-0.66,"week_start":"Aug 18","week_end":"Aug 24"},{"index_etf":"Nasdaq 100 (QQQ)","week_return_pct":-1.94,"week_start":"Aug 18","week_end":"Aug 24"},{"index_etf":"Dow (DIA)","week_return_pct":0.06,"week_start":"Aug 18","week_end":"Aug 24"},{"index_etf":"Russell 2000 (IWM)","week_return_pct":-1.5,"week_start":"Aug 18","week_end":"Aug 24"}],"shape":"ranking","sql":"WITH sess AS (\n    SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,\n        argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,\n        argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')\n      AND window_start >= now() - INTERVAL 12 DAY AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959\n    GROUP BY ticker, d\n),\nwk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, min(d) AS d0, max(d) AS d1\n       FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)\nSELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)', ticker = 'QQQ', 'Nasdaq 100 (QQQ)', ticker = 'DIA', 'Dow (DIA)', 'Russell 2000 (IWM)') AS index_etf,\n    round((wc / wo - 1) * 100, 2) AS week_return_pct,\n    (SELECT formatDateTime(min(d0), '%b %e') FROM wk) AS week_start,\n    (SELECT formatDateTime(max(d1), '%b %e') FROM wk) AS week_end\nFROM wk\nORDER BY multiIf(ticker = 'SPY', 0, ticker = 'QQQ', 1, ticker = 'DIA', 2, 3)","computed_at":"2026-08-25T13:09:02.709683+00:00","elapsed":0.66686713}