{"slug":"us-premarket-and-after-hours-philippine-time","qid":"spread_by_hour","label":"spread_by_hour","post_title":"us-premarket-and-after-hours-philippine-time","post_url":"/blog/lang/tl/us-premarket-and-after-hours-philippine-time#q-spread_by_hour","columns":["label","avg_spread_bps","median_spread_bps","spread_vs_tightest_x"],"rows":[{"label":"16:00 PHT","avg_spread_bps":7.4,"median_spread_bps":7,"spread_vs_tightest_x":12.1},{"label":"18:00 PHT","avg_spread_bps":7.2,"median_spread_bps":7.3,"spread_vs_tightest_x":11.7},{"label":"19:00 PHT","avg_spread_bps":5.4,"median_spread_bps":4.8,"spread_vs_tightest_x":8.8},{"label":"20:00 PHT","avg_spread_bps":5.3,"median_spread_bps":4.8,"spread_vs_tightest_x":8.6},{"label":"21:00 PHT","avg_spread_bps":2,"median_spread_bps":1.5,"spread_vs_tightest_x":3.3},{"label":"22:00 PHT","avg_spread_bps":1.2,"median_spread_bps":1.2,"spread_vs_tightest_x":2},{"label":"23:00 PHT","avg_spread_bps":1,"median_spread_bps":0.9,"spread_vs_tightest_x":1.6},{"label":"00:00 PHT","avg_spread_bps":0.8,"median_spread_bps":0.9,"spread_vs_tightest_x":1.3},{"label":"01:00 PHT","avg_spread_bps":0.7,"median_spread_bps":0.6,"spread_vs_tightest_x":1.1},{"label":"02:00 PHT","avg_spread_bps":0.6,"median_spread_bps":0.6,"spread_vs_tightest_x":1},{"label":"03:00 PHT","avg_spread_bps":0.6,"median_spread_bps":0.6,"spread_vs_tightest_x":1.1},{"label":"04:00 PHT","avg_spread_bps":4.5,"median_spread_bps":3.9,"spread_vs_tightest_x":7.3},{"label":"06:00 PHT","avg_spread_bps":3.9,"median_spread_bps":3.6,"spread_vs_tightest_x":6.3}],"shape":"ranking","sql":"SELECT\n    concat(leftPad(toString(toHour(toTimeZone(sip_timestamp, 'Asia/Manila'))), 2, '0'), ':00 PHT') AS label,\n    round(avg(spread_bps), 1)                                 AS avg_spread_bps,\n    round(quantileDeterministic(0.5)(spread_bps, seq), 1)      AS median_spread_bps,\n    round(avg(spread_bps) / min(avg(spread_bps)) OVER (), 1)   AS spread_vs_tightest_x\nFROM\n(\n    SELECT\n        sip_timestamp,\n        toUInt64(abs(sequence_number)) AS seq,\n        toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price) * 2 * 10000 AS spread_bps\n    FROM global_markets.cache_stocks_quotes\n    WHERE ticker = 'AAPL'\n      AND sip_timestamp >= toDateTime('2026-09-15 08:00:00', 'UTC')\n      AND sip_timestamp <  toDateTime('2026-09-16 00:30:00', 'UTC')\n      AND bid_price > 0\n      AND ask_price > bid_price\n)\nGROUP BY label\nHAVING count() > 500\nORDER BY min(sip_timestamp)","computed_at":"2026-09-30T15:23:26.288871+00:00","elapsed":0.003367201}