{"slug":"us-premarket-and-after-hours-east-africa-time","qid":"spreads_by_hour","label":"spreads_by_hour","post_title":"us-premarket-and-after-hours-east-africa-time","post_url":"/blog/lang/sw/us-premarket-and-after-hours-east-africa-time#q-spreads_by_hour","columns":["eat_time","outside_regular","median_spread_bps","quote_count"],"rows":[{"eat_time":"12:00","outside_regular":1,"median_spread_bps":10.26,"quote_count":514},{"eat_time":"11:00","outside_regular":1,"median_spread_bps":8.46,"quote_count":1238},{"eat_time":"13:00","outside_regular":1,"median_spread_bps":8.15,"quote_count":377},{"eat_time":"01:00","outside_regular":1,"median_spread_bps":8.12,"quote_count":810},{"eat_time":"02:00","outside_regular":1,"median_spread_bps":6.92,"quote_count":6702},{"eat_time":"14:00","outside_regular":1,"median_spread_bps":6.63,"quote_count":1341},{"eat_time":"15:00","outside_regular":1,"median_spread_bps":4.22,"quote_count":652},{"eat_time":"23:00","outside_regular":1,"median_spread_bps":3.91,"quote_count":935},{"eat_time":"00:00","outside_regular":1,"median_spread_bps":2.71,"quote_count":325},{"eat_time":"16:00","outside_regular":1,"median_spread_bps":2.09,"quote_count":103597},{"eat_time":"17:00","outside_regular":0,"median_spread_bps":1.2,"quote_count":79653},{"eat_time":"21:00","outside_regular":0,"median_spread_bps":1.2,"quote_count":121565},{"eat_time":"18:00","outside_regular":0,"median_spread_bps":1.2,"quote_count":68686},{"eat_time":"22:00","outside_regular":0,"median_spread_bps":0.91,"quote_count":163432},{"eat_time":"20:00","outside_regular":0,"median_spread_bps":0.9,"quote_count":43248},{"eat_time":"19:00","outside_regular":0,"median_spread_bps":0.9,"quote_count":43372}],"shape":"series","sql":"SELECT\n    formatDateTime(toTimeZone(sip_timestamp, 'Africa/Nairobi'), '%H:00') AS eat_time,\n    if(toHour(toTimeZone(sip_timestamp, 'America/New_York')) BETWEEN 10 AND 15, 0, 1) AS outside_regular,\n    round(quantileDeterministic(0.5)(\n              10000 * (toFloat64(ask_price) - toFloat64(bid_price))\n                    / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2),\n              toUInt64(sequence_number)), 2) AS median_spread_bps,\n    count()                        AS quote_count\nFROM global_markets.cache_stocks_quotes\nWHERE ticker = 'AAPL'\n  AND sip_timestamp >= '2026-09-16 08:00:00'\n  AND sip_timestamp <  '2026-09-17 00:00:00'\n  AND bid_price > 0\n  AND ask_price > bid_price\nGROUP BY eat_time, outside_regular\nHAVING count() > 100\nORDER BY median_spread_bps DESC","computed_at":"2026-10-08T15:51:04.585520+00:00","elapsed":0.003692514}