{"slug":"half-penny-tick-sizes","qid":"penny_floor_clock","label":"Share of each 15 minute bucket spent at a one cent quoted spread","post_title":"Half-Penny Tick Sizes Under Rule 612","post_url":"/blog/half-penny-tick-sizes#q-penny_floor_clock","columns":["et_time","aapl_floor_pct","f_floor_pct"],"rows":[{"et_time":"09:00","aapl_floor_pct":1.6,"f_floor_pct":75},{"et_time":"09:15","aapl_floor_pct":0.8,"f_floor_pct":50},{"et_time":"09:30","aapl_floor_pct":41.4,"f_floor_pct":95.4},{"et_time":"09:45","aapl_floor_pct":53.4,"f_floor_pct":100},{"et_time":"10:00","aapl_floor_pct":54,"f_floor_pct":99.9},{"et_time":"10:15","aapl_floor_pct":56.5,"f_floor_pct":100},{"et_time":"10:30","aapl_floor_pct":65.5,"f_floor_pct":100},{"et_time":"10:45","aapl_floor_pct":60.4,"f_floor_pct":100},{"et_time":"11:00","aapl_floor_pct":48.5,"f_floor_pct":100},{"et_time":"11:15","aapl_floor_pct":47.5,"f_floor_pct":100},{"et_time":"11:30","aapl_floor_pct":58.1,"f_floor_pct":100},{"et_time":"11:45","aapl_floor_pct":59.5,"f_floor_pct":100},{"et_time":"12:00","aapl_floor_pct":67.6,"f_floor_pct":100},{"et_time":"12:15","aapl_floor_pct":68.6,"f_floor_pct":100},{"et_time":"12:30","aapl_floor_pct":68.6,"f_floor_pct":100},{"et_time":"12:45","aapl_floor_pct":72.5,"f_floor_pct":100},{"et_time":"13:00","aapl_floor_pct":75.1,"f_floor_pct":100},{"et_time":"13:15","aapl_floor_pct":76.4,"f_floor_pct":100},{"et_time":"13:30","aapl_floor_pct":72.3,"f_floor_pct":100},{"et_time":"13:45","aapl_floor_pct":62.4,"f_floor_pct":100},{"et_time":"14:00","aapl_floor_pct":71.9,"f_floor_pct":100},{"et_time":"14:15","aapl_floor_pct":85,"f_floor_pct":100},{"et_time":"14:30","aapl_floor_pct":85.8,"f_floor_pct":100},{"et_time":"14:45","aapl_floor_pct":84.9,"f_floor_pct":100},{"et_time":"15:00","aapl_floor_pct":85.1,"f_floor_pct":100},{"et_time":"15:15","aapl_floor_pct":89.2,"f_floor_pct":100},{"et_time":"15:30","aapl_floor_pct":79,"f_floor_pct":100},{"et_time":"15:45","aapl_floor_pct":62.1,"f_floor_pct":100},{"et_time":"16:00","aapl_floor_pct":1.9,"f_floor_pct":52.4},{"et_time":"16:15","aapl_floor_pct":5.1,"f_floor_pct":44.4}],"shape":"series","sql":"WITH per_second AS\n(\n    SELECT\n        ticker,\n        toDateTime(sip_timestamp, 'America/New_York') AS quote_second,\n        max(toFloat64(bid_price))                     AS best_bid,\n        min(toFloat64(ask_price))                     AS best_ask\n    FROM global_markets.cache_stocks_quotes\n    WHERE ticker IN ('AAPL', 'F')\n      AND sip_timestamp >= '2026-08-05 13:00:00'\n      AND sip_timestamp <  '2026-08-05 20:30:00'\n      AND bid_price > 0\n      AND ask_price > 0\n    GROUP BY ticker, quote_second\n)\nSELECT\n    formatDateTime(toStartOfInterval(quote_second, INTERVAL 15 MINUTE), '%H:%i') AS et_time,\n    round(100 * countIf(ticker = 'AAPL' AND best_ask - best_bid < 0.011)\n              / countIf(ticker = 'AAPL'), 1) AS aapl_floor_pct,\n    round(100 * countIf(ticker = 'F' AND best_ask - best_bid < 0.011)\n              / countIf(ticker = 'F'), 1)    AS f_floor_pct\nFROM per_second\nWHERE best_ask > best_bid\nGROUP BY toStartOfInterval(quote_second, INTERVAL 15 MINUTE)\nHAVING countIf(ticker = 'AAPL') > 0 AND countIf(ticker = 'F') > 0\nORDER BY toStartOfInterval(quote_second, INTERVAL 15 MINUTE) ASC","computed_at":"2026-08-13T16:13:06.795257+00:00","elapsed":0.003199134}