{"slug":"market-recap-2026-07-01","qid":"baseline_sector_dispersion","label":"The eleven S&P sector ETFs on July 1, best to worst vs Tuesday's close","post_title":"Market Recap: July 1, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-01#q-baseline_sector_dispersion","columns":["ticker","prior_close","day_close","pct_chg","pct_above_worst_sector","green_so_far","day_dollar_bn"],"rows":[{"ticker":"XLC","prior_close":107.16,"day_close":109.74,"pct_chg":2.41,"pct_above_worst_sector":4.97,"green_so_far":1,"day_dollar_bn":1.46},{"ticker":"XLF","prior_close":53.61,"day_close":54.79,"pct_chg":2.2,"pct_above_worst_sector":4.76,"green_so_far":2,"day_dollar_bn":2.35},{"ticker":"XLY","prior_close":117.27,"day_close":118.07,"pct_chg":0.68,"pct_above_worst_sector":3.24,"green_so_far":3,"day_dollar_bn":1.02},{"ticker":"XLV","prior_close":158.67,"day_close":159.57,"pct_chg":0.57,"pct_above_worst_sector":3.13,"green_so_far":4,"day_dollar_bn":1.48},{"ticker":"XLRE","prior_close":44.02,"day_close":44.18,"pct_chg":0.36,"pct_above_worst_sector":2.93,"green_so_far":5,"day_dollar_bn":0.33},{"ticker":"XLB","prior_close":50.84,"day_close":51,"pct_chg":0.31,"pct_above_worst_sector":2.88,"green_so_far":6,"day_dollar_bn":0.63},{"ticker":"XLP","prior_close":83.08,"day_close":83.33,"pct_chg":0.3,"pct_above_worst_sector":2.86,"green_so_far":7,"day_dollar_bn":0.85},{"ticker":"XLE","prior_close":53.14,"day_close":52.82,"pct_chg":-0.6,"pct_above_worst_sector":1.96,"green_so_far":7,"day_dollar_bn":1.66},{"ticker":"XLI","prior_close":185.22,"day_close":183.41,"pct_chg":-0.98,"pct_above_worst_sector":1.59,"green_so_far":7,"day_dollar_bn":1.35},{"ticker":"XLU","prior_close":45.34,"day_close":44.76,"pct_chg":-1.28,"pct_above_worst_sector":1.28,"green_so_far":7,"day_dollar_bn":1.17},{"ticker":"XLK","prior_close":190.42,"day_close":185.54,"pct_chg":-2.56,"pct_above_worst_sector":0,"green_so_far":7,"day_dollar_bn":1.7}],"shape":"table","sql":"WITH per_name AS (\n    SELECT\n        ticker,\n        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,\n        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,\n        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')\n      AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')\n        OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))\n    GROUP BY ticker\n)\nSELECT\n    ticker,\n    round(prior_close, 2) AS prior_close,\n    round(day_close, 2) AS day_close,\n    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,\n    round((day_close / prior_close - 1) * 100 - min((day_close / prior_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector,\n    sum(if(day_close > prior_close, 1, 0)) OVER (ORDER BY (day_close / prior_close) DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS green_so_far,\n    day_dollar_bn\nFROM per_name\nORDER BY pct_chg DESC","computed_at":"2026-07-26T05:44:12.376294+00:00","elapsed":0.07815231}