{"slug":"market-recap-2026-h1","qid":"baseline_h1_rank_a","label":"The rank receipts: this half against every prior one (SPY and QQQ; rank 1 = best; self-excluded)","post_title":"Market Recap: H1 2026","post_url":"/blog/market-recap-2026-h1#q-baseline_h1_rank_a","columns":["ticker","h1_2026_pct","rank_best","halves_compared","first_year","sessions_2026"],"rows":[{"ticker":"QQQ","h1_2026_pct":18.7,"rank_best":3,"halves_compared":16,"first_year":2004,"sessions_2026":123},{"ticker":"SPY","h1_2026_pct":8.8,"rank_best":6,"halves_compared":23,"first_year":2004,"sessions_2026":123}],"shape":"table","sql":"SELECT ticker,\n       round(anyIf(ret, y = 2026), 1) AS h1_2026_pct,\n       arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,\n       count() AS halves_compared,\n       min(y) AS first_year,\n       anyIf(sessions, y = 2026) AS sessions_2026\nFROM (\n    SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,\n           ticker,\n           uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,\n           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'QQQ')\n      AND window_start >= toDateTime('2003-01-01 00:00:00')\n      AND window_start < toDateTime('2026-07-01 00:00:00')\n      AND toMonth(toTimeZone(window_start, 'America/New_York')) <= 6\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959\n    GROUP BY y, ticker\n    HAVING sessions >= 100\n)\nGROUP BY ticker\nORDER BY ticker ASC","computed_at":"2026-07-26T06:02:07.126121+00:00","elapsed":10.687180057}