{"slug":"us-market-volume-by-hour-philippine-time","qid":"spread_by_hour","label":"spread_by_hour","post_title":"us-market-volume-by-hour-philippine-time","post_url":"/blog/lang/tl/us-market-volume-by-hour-philippine-time#q-spread_by_hour","columns":["manila_hour","median_spread_bps","avg_quoted_size_shares"],"rows":[{"manila_hour":"21:30","median_spread_bps":0.263,"avg_quoted_size_shares":376},{"manila_hour":"22:00","median_spread_bps":0.264,"avg_quoted_size_shares":356},{"manila_hour":"23:00","median_spread_bps":0.264,"avg_quoted_size_shares":369},{"manila_hour":"00:00","median_spread_bps":0.264,"avg_quoted_size_shares":435},{"manila_hour":"01:00","median_spread_bps":0.264,"avg_quoted_size_shares":407},{"manila_hour":"02:00","median_spread_bps":0.264,"avg_quoted_size_shares":409},{"manila_hour":"03:00","median_spread_bps":0.132,"avg_quoted_size_shares":570}],"shape":"ranking","sql":"WITH quotes AS\n(\n    SELECT\n        toTimeZone(sip_timestamp, 'Asia/Manila') AS manila_time,\n        10000 * (toFloat64(ask_price) - toFloat64(bid_price))\n              / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) AS spread_bps,\n        toFloat64(bid_size + ask_size) / 2                          AS quoted_size,\n        toUInt64(sequence_number)                                   AS sequence_number\n    FROM global_markets.cache_stocks_quotes\n    WHERE ticker = 'SPY'\n      AND sip_timestamp >= toDateTime('2026-09-15 13:30:00')\n      AND sip_timestamp <  toDateTime('2026-09-15 20:00:00')\n      AND bid_price > 0\n      AND ask_price >= bid_price\n)\nSELECT\n    formatDateTime(min(manila_time), '%H:%i')                         AS manila_hour,\n    round(quantileDeterministic(0.5)(spread_bps, sequence_number), 3) AS median_spread_bps,\n    round(avg(quoted_size))                                           AS avg_quoted_size_shares\nFROM quotes\nGROUP BY (toHour(manila_time) + 3) % 24\nHAVING count() > 0\nORDER BY (toHour(manila_time) + 3) % 24","computed_at":"2026-10-03T15:39:53.331143+00:00","elapsed":0.0033989}