{"slug":"why-spreads-widen-at-the-open","qid":"tick_floor","label":"Share of quote updates at the one-cent minimum spread, by half hour (regular hours, ET)","post_title":"Why Are Spreads Wider at the Open? Real Data","post_url":"/blog/why-spreads-widen-at-the-open#q-tick_floor","columns":["et_time","spy_pct_penny","aapl_pct_penny","etsy_pct_penny"],"rows":[{"et_time":"09:30","spy_pct_penny":24.2,"aapl_pct_penny":3.3,"etsy_pct_penny":0.4},{"et_time":"10:00","spy_pct_penny":23.2,"aapl_pct_penny":4.2,"etsy_pct_penny":0.2},{"et_time":"10:30","spy_pct_penny":23.8,"aapl_pct_penny":5.9,"etsy_pct_penny":0.3},{"et_time":"11:00","spy_pct_penny":21.2,"aapl_pct_penny":6.3,"etsy_pct_penny":1.2},{"et_time":"11:30","spy_pct_penny":22.9,"aapl_pct_penny":8.2,"etsy_pct_penny":1.4},{"et_time":"12:00","spy_pct_penny":28.4,"aapl_pct_penny":8.5,"etsy_pct_penny":1},{"et_time":"12:30","spy_pct_penny":26.6,"aapl_pct_penny":11.2,"etsy_pct_penny":1.4},{"et_time":"13:00","spy_pct_penny":29.5,"aapl_pct_penny":12.8,"etsy_pct_penny":1.2},{"et_time":"13:30","spy_pct_penny":26.6,"aapl_pct_penny":14.1,"etsy_pct_penny":0.8},{"et_time":"14:00","spy_pct_penny":22.3,"aapl_pct_penny":15.5,"etsy_pct_penny":0.8},{"et_time":"14:30","spy_pct_penny":21.5,"aapl_pct_penny":15.2,"etsy_pct_penny":1.1},{"et_time":"15:00","spy_pct_penny":25.2,"aapl_pct_penny":20.6,"etsy_pct_penny":2},{"et_time":"15:30","spy_pct_penny":36.3,"aapl_pct_penny":23.1,"etsy_pct_penny":7.6}],"shape":"series","sql":"SELECT et_time,\n       round(100 * countIf(ticker = 'SPY' AND spread_c <= 1.0001) / countIf(ticker = 'SPY'), 1) AS spy_pct_penny,\n       round(100 * countIf(ticker = 'AAPL' AND spread_c <= 1.0001) / countIf(ticker = 'AAPL'), 1) AS aapl_pct_penny,\n       round(100 * countIf(ticker = 'ETSY' AND spread_c <= 1.0001) / countIf(ticker = 'ETSY'), 1) AS etsy_pct_penny\nFROM (\n    SELECT ticker,\n           formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,\n           toFloat64(ask_price - bid_price) * 100 AS spread_c\n    FROM global_markets.cache_stocks_quotes\n    WHERE ticker IN ('SPY', 'AAPL', 'ETSY')\n      AND sip_timestamp >= toDateTime(today() - 14)\n      AND sip_timestamp < toDateTime(today() - 3)\n      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199\n      AND bid_price > 0\n      AND ask_price > bid_price\n)\nGROUP BY et_time\nORDER BY et_time","computed_at":"2026-08-08T04:49:38.426708+00:00","elapsed":15.841671293}