{"slug":"market-recap-2026-07-01","qid":"baseline_quarter_open","label":"Every quarter-opening session since 2004: SPY's open-to-close move, with July 1 ranked inside it","post_title":"Market Recap: July 1, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-01#q-baseline_quarter_open","columns":["quarter_opens_measured","median_quarter_open_pct","quarter_opens_green","quarter_opens_red","jul1_oc_pct","jul1_rank_worst_to_best","worst_quarter_open_pct","best_quarter_open_pct","first_measured"],"rows":[{"quarter_opens_measured":91,"median_quarter_open_pct":0.01,"quarter_opens_green":46,"quarter_opens_red":45,"jul1_oc_pct":0.09,"jul1_rank_worst_to_best":50,"worst_quarter_open_pct":-2.28,"best_quarter_open_pct":3.18,"first_measured":"January 2004"}],"shape":"scalar","sql":"SELECT\n    count() AS quarter_opens_measured,\n    round(quantileExact(0.5)(oc_pct), 2) AS median_quarter_open_pct,\n    countIf(oc_pct > 0) AS quarter_opens_green,\n    countIf(oc_pct <= 0) AS quarter_opens_red,\n    round(anyIf(oc_pct, first_day = toDate('2026-07-01')), 2) AS jul1_oc_pct,\n    arrayCount(x -> x < anyIf(oc_pct, first_day = toDate('2026-07-01')), groupArrayIf(oc_pct, first_day != toDate('2026-07-01'))) + 1 AS jul1_rank_worst_to_best,\n    round(min(oc_pct), 2) AS worst_quarter_open_pct,\n    round(max(oc_pct), 2) AS best_quarter_open_pct,\n    concat(monthName(min(first_day)), ' ', toString(toYear(min(first_day)))) AS first_measured\nFROM (\n    SELECT f.first_day AS first_day, d.oc_pct AS oc_pct\n    FROM (\n        SELECT toStartOfQuarter(d) AS q, min(d) AS first_day\n        FROM (\n            SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d\n            FROM global_markets.delayed_stocks_minute_aggs\n            WHERE ticker = 'SPY'\n              AND window_start >= toDateTime('2004-01-01 00:00:00')\n              AND window_start < toDateTime('2026-07-02 00:00:00')\n              AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199\n            GROUP BY d\n        )\n        GROUP BY q\n    ) f\n    INNER JOIN (\n        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,\n               (argMax(toFloat64(close), (window_start, close)) / argMin(toFloat64(open), (window_start, open)) - 1) * 100 AS oc_pct\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'SPY'\n          AND window_start >= toDateTime('2004-01-01 00:00:00')\n          AND window_start < toDateTime('2026-07-02 00:00:00')\n          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199\n        GROUP BY d\n    ) d ON d.d = f.first_day\n)","computed_at":"2026-07-26T05:44:38.421180+00:00","elapsed":16.957447678}