{"slug":"market-recap-2026-06-29","qid":"trailing_rank","label":"QQQ and SPY: June 29 ranked against the trailing month of sessions (rank 1 = biggest absolute move)","post_title":"Market Recap: June 29, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-06-29#q-trailing_rank","columns":["qqq_close_over_close_pct","qqq_abs_move_rank","qqq_sessions_compared","qqq_biggest_move_of_month_pct","qqq_up_sessions","spy_close_over_close_pct","spy_abs_move_rank","spy_sessions_compared","spy_open_to_close_pct","first_session"],"rows":[{"qqq_close_over_close_pct":2.57,"qqq_abs_move_rank":5,"qqq_sessions_compared":21,"qqq_biggest_move_of_month_pct":4.76,"qqq_up_sessions":10,"spy_close_over_close_pct":1.62,"spy_abs_move_rank":4,"spy_sessions_compared":21,"spy_open_to_close_pct":0.59,"first_session":"May 29, 2026"}],"shape":"scalar","sql":"SELECT\n    round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29')), 2) AS qqq_close_over_close_pct,\n    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-06-29'))) + 1 AS qqq_abs_move_rank,\n    countIf(ticker = 'QQQ') AS qqq_sessions_compared,\n    round(max(if(ticker = 'QQQ', abs(cc_pct), 0)), 2) AS qqq_biggest_move_of_month_pct,\n    countIf(ticker = 'QQQ' AND cc_pct > 0) AS qqq_up_sessions,\n    round(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_close_over_close_pct,\n    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'SPY' AND d != toDate('2026-06-29'))) + 1 AS spy_abs_move_rank,\n    countIf(ticker = 'SPY') AS spy_sessions_compared,\n    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_open_to_close_pct,\n    concat(monthName(min(d)), ' ', toString(toDayOfMonth(min(d))), ', ', toString(toYear(min(d)))) AS first_session\nFROM (\n    SELECT ticker, d,\n           (close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct,\n           oc_pct\n    FROM (\n        SELECT ticker,\n               toDate(toTimeZone(window_start, 'America/New_York')) AS d,\n               argMax(toFloat64(close), window_start) AS close_px,\n               (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker IN ('SPY', 'QQQ')\n          AND window_start >= toDateTime('2026-05-28 00:00:00')\n          AND window_start < toDateTime('2026-06-30 00:00:00')\n          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199\n        GROUP BY ticker, d\n    )\n)\nWHERE isFinite(cc_pct)","computed_at":"2026-07-26T05:42:57.089019+00:00","elapsed":0.171981947}