{"slug":"market-data-timestamps-explained","qid":"clock_lag_by_venue","label":"SIP receive lag by venue, AAPL, 10 June 2026 (microseconds)","post_title":"Market Data Timestamps: SIP vs Exchange Clocks","post_url":"/blog/market-data-timestamps-explained#q-clock_lag_by_venue","columns":["venue","print_count","median_lag_us","p99_lag_us"],"rows":[{"venue":"NYSE Arca, Inc.","print_count":10809,"median_lag_us":346.2,"p99_lag_us":420.8},{"venue":"NSX","print_count":229,"median_lag_us":345.3,"p99_lag_us":350.5},{"venue":"New York Stock Exchange","print_count":1468,"median_lag_us":343.6,"p99_lag_us":358.4},{"venue":"Investors Exchange","print_count":2765,"median_lag_us":224.9,"p99_lag_us":1097.5},{"venue":"Members Exchange","print_count":1539,"median_lag_us":196.3,"p99_lag_us":1198.3},{"venue":"Cboe EDGA","print_count":415,"median_lag_us":187.6,"p99_lag_us":196.8},{"venue":"Cboe EDGX","print_count":2498,"median_lag_us":187.6,"p99_lag_us":320.1},{"venue":"Cboe BYX","print_count":543,"median_lag_us":186.6,"p99_lag_us":192.6},{"venue":"Cboe BZX","print_count":3905,"median_lag_us":185.8,"p99_lag_us":203.2},{"venue":"Nasdaq","print_count":16442,"median_lag_us":14.7,"p99_lag_us":54.5},{"venue":"Nasdaq Texas, Inc.","print_count":449,"median_lag_us":13.7,"p99_lag_us":17.8}],"shape":"ranking","sql":"WITH venues AS\n(\n    SELECT\n        toUInt32(id)                             AS exchange_id,\n        any(coalesce(nullIf(acronym, ''), name)) AS venue_name\n    FROM global_markets.stocks_exchanges\n    WHERE asset_class = 'stocks'\n    GROUP BY exchange_id\n)\nSELECT\n    if(v.venue_name = '', concat('Venue ', toString(t.exchange)), v.venue_name) AS venue,\n    count()                                                                     AS print_count,\n    round(quantileDeterministic(0.5)(\n        toFloat64(toUnixTimestamp64Nano(t.sip_timestamp)\n                - toUnixTimestamp64Nano(t.participant_timestamp)) / 1000,\n        toUInt64(t.sequence_number)), 1)                                        AS median_lag_us,\n    round(quantileDeterministic(0.99)(\n        toFloat64(toUnixTimestamp64Nano(t.sip_timestamp)\n                - toUnixTimestamp64Nano(t.participant_timestamp)) / 1000,\n        toUInt64(t.sequence_number)), 1)                                        AS p99_lag_us\nFROM global_markets.stocks_trades AS t\nLEFT JOIN venues AS v ON v.exchange_id = toUInt32(t.exchange)\nWHERE t.ticker = 'AAPL'\n  AND t.sip_timestamp >= '2026-06-10 14:30:00'\n  AND t.sip_timestamp <  '2026-06-10 15:00:00'\n  AND ifNull(toUnixTimestamp64Nano(t.trf_timestamp), 0) = 0\nGROUP BY venue\nHAVING count() >= 200\nORDER BY median_lag_us DESC\nLIMIT 15","computed_at":"2026-08-14T15:54:51.396245+00:00","elapsed":0.003547853}