{"slug":"index-rebalance-day-closing-auction","qid":"recon_intraday","label":"recon_intraday","post_title":"index-rebalance-day-closing-auction","post_url":"/blog/index-rebalance-day-closing-auction#q-recon_intraday","columns":["et_time","recon_day_pct","typical_day_pct"],"rows":[{"et_time":"09:30","recon_day_pct":9.7,"typical_day_pct":15.49},{"et_time":"10:00","recon_day_pct":5.55,"typical_day_pct":8.69},{"et_time":"10:30","recon_day_pct":5.4,"typical_day_pct":7.29},{"et_time":"11:00","recon_day_pct":4.51,"typical_day_pct":6.19},{"et_time":"11:30","recon_day_pct":6.59,"typical_day_pct":6.01},{"et_time":"12:00","recon_day_pct":6.04,"typical_day_pct":5.42},{"et_time":"12:30","recon_day_pct":4.29,"typical_day_pct":5.57},{"et_time":"13:00","recon_day_pct":3.32,"typical_day_pct":5.61},{"et_time":"13:30","recon_day_pct":2.92,"typical_day_pct":5.66},{"et_time":"14:00","recon_day_pct":4.97,"typical_day_pct":5.22},{"et_time":"14:30","recon_day_pct":6.21,"typical_day_pct":5.35},{"et_time":"15:00","recon_day_pct":8.65,"typical_day_pct":6.36},{"et_time":"15:30","recon_day_pct":22.46,"typical_day_pct":15.4},{"et_time":"16:00","recon_day_pct":9.4,"typical_day_pct":1.74}],"shape":"series","sql":"WITH bars AS\n(\n    SELECT\n        toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,\n        toHour(toTimeZone(window_start, 'America/New_York')) * 60\n            + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute,\n        toFloat64(volume)                                            AS bar_volume\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'AAPL'\n      AND window_start >= '2026-05-28'\n      AND window_start <  '2026-06-27'\n),\nbuckets AS\n(\n    SELECT\n        session_date,\n        if(et_minute = 960, 960, intDiv(et_minute, 30) * 30) AS bucket_min,\n        sum(bar_volume)                                      AS bucket_volume\n    FROM bars\n    WHERE et_minute >= 570\n      AND et_minute <= 960\n    GROUP BY session_date, bucket_min\n),\nday_totals AS\n(\n    SELECT\n        session_date,\n        sum(bucket_volume) AS day_volume\n    FROM buckets\n    GROUP BY session_date\n),\nshares AS\n(\n    SELECT\n        b.session_date                       AS session_date,\n        b.bucket_min                         AS bucket_min,\n        100 * b.bucket_volume / d.day_volume AS share_pct\n    FROM buckets AS b\n    INNER JOIN day_totals AS d ON d.session_date = b.session_date\n)\nSELECT\n    formatDateTime(toDateTime(bucket_min * 60, 'UTC'), '%H:%i') AS et_time,\n    round(avgIf(share_pct, session_date =  '2026-06-26'), 2)    AS recon_day_pct,\n    round(avgIf(share_pct, session_date <  '2026-06-26'), 2)    AS typical_day_pct\nFROM shares\nGROUP BY bucket_min\nHAVING countIf(session_date =  '2026-06-26') > 0\n   AND countIf(session_date <  '2026-06-26') > 0\nORDER BY bucket_min","computed_at":"2026-10-01T15:14:39.893037+00:00","elapsed":0.011724963}