{"slug":"do-nyse-and-nasdaq-have-public-apis","qid":"spread_by_clock","label":"spread_by_clock","post_title":"do-nyse-and-nasdaq-have-public-apis","post_url":"/blog/do-nyse-and-nasdaq-have-public-apis#q-spread_by_clock","columns":["et_time","median_spread_cents","quote_count"],"rows":[{"et_time":"04:00","median_spread_cents":24,"quote_count":817},{"et_time":"04:15","median_spread_cents":25,"quote_count":365},{"et_time":"04:30","median_spread_cents":22,"quote_count":182},{"et_time":"04:45","median_spread_cents":23,"quote_count":160},{"et_time":"05:00","median_spread_cents":28,"quote_count":96},{"et_time":"05:15","median_spread_cents":16,"quote_count":89},{"et_time":"05:30","median_spread_cents":22,"quote_count":189},{"et_time":"05:45","median_spread_cents":16,"quote_count":60},{"et_time":"06:00","median_spread_cents":20,"quote_count":74},{"et_time":"06:15","median_spread_cents":26,"quote_count":341},{"et_time":"06:30","median_spread_cents":34,"quote_count":82},{"et_time":"06:45","median_spread_cents":19,"quote_count":158},{"et_time":"07:00","median_spread_cents":19,"quote_count":521},{"et_time":"07:15","median_spread_cents":20,"quote_count":273},{"et_time":"07:30","median_spread_cents":18,"quote_count":140},{"et_time":"07:45","median_spread_cents":12,"quote_count":309},{"et_time":"08:00","median_spread_cents":17,"quote_count":400},{"et_time":"08:15","median_spread_cents":13,"quote_count":397},{"et_time":"08:30","median_spread_cents":11,"quote_count":203},{"et_time":"08:45","median_spread_cents":26,"quote_count":385},{"et_time":"09:00","median_spread_cents":14,"quote_count":330},{"et_time":"09:15","median_spread_cents":27,"quote_count":2317},{"et_time":"09:30","median_spread_cents":6,"quote_count":58563},{"et_time":"09:45","median_spread_cents":4,"quote_count":39674},{"et_time":"10:00","median_spread_cents":4,"quote_count":40608},{"et_time":"10:15","median_spread_cents":4,"quote_count":30086},{"et_time":"10:30","median_spread_cents":4,"quote_count":30425},{"et_time":"10:45","median_spread_cents":4,"quote_count":33571},{"et_time":"11:00","median_spread_cents":3,"quote_count":34656},{"et_time":"11:15","median_spread_cents":3,"quote_count":22296},{"et_time":"11:30","median_spread_cents":3,"quote_count":22642},{"et_time":"11:45","median_spread_cents":3,"quote_count":24860},{"et_time":"12:00","median_spread_cents":3,"quote_count":22445},{"et_time":"12:15","median_spread_cents":2,"quote_count":21574},{"et_time":"12:30","median_spread_cents":3,"quote_count":19013},{"et_time":"12:45","median_spread_cents":2,"quote_count":18705},{"et_time":"13:00","median_spread_cents":2,"quote_count":16833},{"et_time":"13:15","median_spread_cents":2,"quote_count":15746},{"et_time":"13:30","median_spread_cents":2,"quote_count":16955},{"et_time":"13:45","median_spread_cents":2,"quote_count":16142},{"et_time":"14:00","median_spread_cents":2,"quote_count":17301},{"et_time":"14:15","median_spread_cents":2,"quote_count":17682},{"et_time":"14:30","median_spread_cents":2,"quote_count":18146},{"et_time":"14:45","median_spread_cents":2,"quote_count":18208},{"et_time":"15:00","median_spread_cents":2,"quote_count":15258},{"et_time":"15:15","median_spread_cents":2,"quote_count":18480},{"et_time":"15:30","median_spread_cents":2,"quote_count":21019},{"et_time":"15:45","median_spread_cents":2,"quote_count":58309},{"et_time":"16:00","median_spread_cents":14,"quote_count":443},{"et_time":"16:15","median_spread_cents":15,"quote_count":133},{"et_time":"16:30","median_spread_cents":11,"quote_count":90},{"et_time":"16:45","median_spread_cents":9,"quote_count":69},{"et_time":"17:00","median_spread_cents":9,"quote_count":53},{"et_time":"17:15","median_spread_cents":15,"quote_count":64},{"et_time":"18:00","median_spread_cents":11,"quote_count":224},{"et_time":"18:15","median_spread_cents":19,"quote_count":67},{"et_time":"18:30","median_spread_cents":12,"quote_count":225},{"et_time":"18:45","median_spread_cents":10,"quote_count":193},{"et_time":"19:00","median_spread_cents":15,"quote_count":92},{"et_time":"19:30","median_spread_cents":9,"quote_count":165},{"et_time":"19:45","median_spread_cents":11,"quote_count":101}],"shape":"series","sql":"SELECT\n    formatDateTime(bucket, '%H:%i') AS et_time,\n    round(median_cents, 2)          AS median_spread_cents,\n    quote_count\nFROM\n(\n    SELECT\n        toStartOfFifteenMinutes(toTimeZone(sip_timestamp, 'America/New_York')) AS bucket,\n        quantileExact(0.5)(toFloat64(ask_price - bid_price) * 100) AS median_cents,\n        count() AS quote_count\n    FROM global_markets.cache_stocks_quotes\n    WHERE ticker = 'AAPL'\n      AND sip_timestamp >= toDateTime('2026-09-15 04:00:00', 'UTC')\n      AND sip_timestamp <  toDateTime('2026-09-16 04:00:00', 'UTC')\n      AND bid_price > 0\n      AND ask_price > bid_price\n    GROUP BY bucket\n    HAVING count() >= 50\n    ORDER BY bucket\n)\nORDER BY et_time","computed_at":"2026-10-02T15:05:42.266230+00:00","elapsed":0.00268289}