{"slug":"market-recap-2026-06-30","qid":"baseline_sector_scoreboard","label":"The ten S&P sector funds on June 30: change vs Monday's close, and how far each sat behind the leader","post_title":"Market Recap: June 30, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-06-30#q-baseline_sector_scoreboard","columns":["ticker","prior_close","day_close","pct_chg","is_up","pts_behind_leader","day_dollar_bn"],"rows":[{"ticker":"XLK","prior_close":185.44,"day_close":190.42,"pct_chg":2.69,"is_up":1,"pts_behind_leader":0,"day_dollar_bn":1.62},{"ticker":"XLI","prior_close":182.77,"day_close":185.22,"pct_chg":1.34,"is_up":1,"pts_behind_leader":1.35,"day_dollar_bn":1.08},{"ticker":"XLB","prior_close":50.66,"day_close":50.84,"pct_chg":0.36,"is_up":1,"pts_behind_leader":2.33,"day_dollar_bn":0.41},{"ticker":"XLY","prior_close":117.1,"day_close":117.27,"pct_chg":0.15,"is_up":1,"pts_behind_leader":2.54,"day_dollar_bn":0.58},{"ticker":"XLF","prior_close":53.7,"day_close":53.61,"pct_chg":-0.17,"is_up":0,"pts_behind_leader":2.85,"day_dollar_bn":1.39},{"ticker":"XLE","prior_close":53.57,"day_close":53.14,"pct_chg":-0.8,"is_up":0,"pts_behind_leader":3.49,"day_dollar_bn":1.36},{"ticker":"XLV","prior_close":160.74,"day_close":158.67,"pct_chg":-1.29,"is_up":0,"pts_behind_leader":3.97,"day_dollar_bn":1.78},{"ticker":"XLU","prior_close":46.02,"day_close":45.34,"pct_chg":-1.48,"is_up":0,"pts_behind_leader":4.16,"day_dollar_bn":0.77},{"ticker":"XLP","prior_close":84.37,"day_close":83.08,"pct_chg":-1.53,"is_up":0,"pts_behind_leader":4.21,"day_dollar_bn":0.99},{"ticker":"XLRE","prior_close":44.92,"day_close":44.02,"pct_chg":-2,"is_up":0,"pts_behind_leader":4.69,"day_dollar_bn":0.38}],"shape":"table","sql":"WITH per_name AS (\n    SELECT\n        ticker,\n        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,\n        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,\n        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') / 1e9, 2) AS day_dollar_bn\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')\n      AND ((window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')\n        OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 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    if(day_close > prior_close, 1, 0) AS is_up,\n    round(max((day_close / prior_close - 1) * 100) OVER () - (day_close / prior_close - 1) * 100, 2) AS pts_behind_leader,\n    day_dollar_bn\nFROM per_name\nORDER BY pct_chg DESC, ticker ASC","computed_at":"2026-07-26T05:43:15.454775+00:00","elapsed":0.05431209}