{"slug":"market-recap-2026-06","qid":"baseline_monthly_returns","label":"Monthly returns, January through June 2026, recomputed live (SPY and QQQ)","post_title":"Market Recap: June 2026","post_url":"/blog/market-recap-2026-06#q-baseline_monthly_returns","columns":["period_start","ticker","month_return_pct","month_close"],"rows":[{"period_start":"2026-01-01","ticker":"QQQ","month_return_pct":0.2,"month_close":621.43},{"period_start":"2026-01-01","ticker":"SPY","month_return_pct":0.7,"month_close":690.57},{"period_start":"2026-02-01","ticker":"QQQ","month_return_pct":-2,"month_close":604.93},{"period_start":"2026-02-01","ticker":"SPY","month_return_pct":-0.8,"month_close":683.35},{"period_start":"2026-03-01","ticker":"QQQ","month_return_pct":-3.9,"month_close":577.14},{"period_start":"2026-03-01","ticker":"SPY","month_return_pct":-4.4,"month_close":650.24},{"period_start":"2026-04-01","ticker":"QQQ","month_return_pct":14.8,"month_close":667.6},{"period_start":"2026-04-01","ticker":"SPY","month_return_pct":9.9,"month_close":718.43},{"period_start":"2026-05-01","ticker":"QQQ","month_return_pct":10.3,"month_close":738.25},{"period_start":"2026-05-01","ticker":"SPY","month_return_pct":4.9,"month_close":756.4},{"period_start":"2026-06-01","ticker":"QQQ","month_return_pct":-0.2,"month_close":735.76},{"period_start":"2026-06-01","ticker":"SPY","month_return_pct":-1.2,"month_close":746.32}],"shape":"ranking","sql":"SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS period_start, ticker,\n    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,\n    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close\nFROM global_markets.delayed_stocks_minute_aggs\nWHERE ticker IN ('SPY', 'QQQ')\n  AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')\nGROUP BY period_start, ticker\nORDER BY period_start, ticker","computed_at":"2026-07-26T07:51:15.664645+00:00","elapsed":0.003182807}