{"slug":"market-data-quality-checks","qid":"clock_skew","label":"Venue stamp to consolidated stamp, minute by minute","post_title":"Market data quality checks that catch real bugs","post_url":"/blog/market-data-quality-checks#q-clock_skew","columns":["et_time","median_skew_ms","p95_skew_ms"],"rows":[{"et_time":"10:00","median_skew_ms":0.195,"p95_skew_ms":0.34},{"et_time":"10:01","median_skew_ms":0.223,"p95_skew_ms":0.341},{"et_time":"10:02","median_skew_ms":0.238,"p95_skew_ms":0.341},{"et_time":"10:03","median_skew_ms":0.229,"p95_skew_ms":0.34},{"et_time":"10:04","median_skew_ms":0.224,"p95_skew_ms":0.342},{"et_time":"10:05","median_skew_ms":0.218,"p95_skew_ms":0.339},{"et_time":"10:06","median_skew_ms":0.219,"p95_skew_ms":0.343},{"et_time":"10:07","median_skew_ms":0.223,"p95_skew_ms":0.34},{"et_time":"10:08","median_skew_ms":0.219,"p95_skew_ms":0.339},{"et_time":"10:09","median_skew_ms":0.221,"p95_skew_ms":0.341},{"et_time":"10:10","median_skew_ms":0.213,"p95_skew_ms":0.341},{"et_time":"10:11","median_skew_ms":0.209,"p95_skew_ms":0.341},{"et_time":"10:12","median_skew_ms":0.22,"p95_skew_ms":0.343},{"et_time":"10:13","median_skew_ms":0.214,"p95_skew_ms":0.342},{"et_time":"10:14","median_skew_ms":0.207,"p95_skew_ms":0.339},{"et_time":"10:15","median_skew_ms":0.23,"p95_skew_ms":0.343},{"et_time":"10:16","median_skew_ms":0.223,"p95_skew_ms":0.342},{"et_time":"10:17","median_skew_ms":0.237,"p95_skew_ms":0.343},{"et_time":"10:18","median_skew_ms":0.23,"p95_skew_ms":0.344},{"et_time":"10:19","median_skew_ms":0.222,"p95_skew_ms":0.343},{"et_time":"10:20","median_skew_ms":0.211,"p95_skew_ms":0.34},{"et_time":"10:21","median_skew_ms":0.211,"p95_skew_ms":0.341},{"et_time":"10:22","median_skew_ms":0.211,"p95_skew_ms":0.339},{"et_time":"10:23","median_skew_ms":0.217,"p95_skew_ms":0.339},{"et_time":"10:24","median_skew_ms":0.214,"p95_skew_ms":0.341},{"et_time":"10:25","median_skew_ms":0.21,"p95_skew_ms":0.341},{"et_time":"10:26","median_skew_ms":0.207,"p95_skew_ms":0.34},{"et_time":"10:27","median_skew_ms":0.216,"p95_skew_ms":0.34},{"et_time":"10:28","median_skew_ms":0.207,"p95_skew_ms":0.343},{"et_time":"10:29","median_skew_ms":0.218,"p95_skew_ms":0.342},{"et_time":"10:30","median_skew_ms":0.241,"p95_skew_ms":0.341},{"et_time":"10:31","median_skew_ms":0.245,"p95_skew_ms":0.34},{"et_time":"10:32","median_skew_ms":0.228,"p95_skew_ms":0.34},{"et_time":"10:33","median_skew_ms":0.252,"p95_skew_ms":0.34},{"et_time":"10:34","median_skew_ms":0.226,"p95_skew_ms":0.34},{"et_time":"10:35","median_skew_ms":0.287,"p95_skew_ms":0.34},{"et_time":"10:36","median_skew_ms":0.234,"p95_skew_ms":0.34},{"et_time":"10:37","median_skew_ms":0.237,"p95_skew_ms":0.34},{"et_time":"10:38","median_skew_ms":0.247,"p95_skew_ms":0.339},{"et_time":"10:39","median_skew_ms":0.252,"p95_skew_ms":0.339},{"et_time":"10:40","median_skew_ms":0.331,"p95_skew_ms":0.339},{"et_time":"10:41","median_skew_ms":0.199,"p95_skew_ms":0.339},{"et_time":"10:42","median_skew_ms":0.197,"p95_skew_ms":0.339},{"et_time":"10:43","median_skew_ms":0.195,"p95_skew_ms":0.338},{"et_time":"10:44","median_skew_ms":0.197,"p95_skew_ms":0.338},{"et_time":"10:45","median_skew_ms":0.197,"p95_skew_ms":0.339},{"et_time":"10:46","median_skew_ms":0.197,"p95_skew_ms":0.339},{"et_time":"10:47","median_skew_ms":0.197,"p95_skew_ms":0.338},{"et_time":"10:48","median_skew_ms":0.2,"p95_skew_ms":0.338},{"et_time":"10:49","median_skew_ms":0.199,"p95_skew_ms":0.338},{"et_time":"10:50","median_skew_ms":0.196,"p95_skew_ms":0.339},{"et_time":"10:51","median_skew_ms":0.195,"p95_skew_ms":0.338},{"et_time":"10:52","median_skew_ms":0.195,"p95_skew_ms":0.338},{"et_time":"10:53","median_skew_ms":0.201,"p95_skew_ms":0.338},{"et_time":"10:54","median_skew_ms":0.195,"p95_skew_ms":0.338},{"et_time":"10:55","median_skew_ms":0.199,"p95_skew_ms":0.338},{"et_time":"10:56","median_skew_ms":0.197,"p95_skew_ms":0.338},{"et_time":"10:57","median_skew_ms":0.193,"p95_skew_ms":0.338},{"et_time":"10:58","median_skew_ms":0.194,"p95_skew_ms":0.338},{"et_time":"10:59","median_skew_ms":0.195,"p95_skew_ms":0.339}],"shape":"series","sql":"SELECT\n    formatDateTime(toStartOfMinute(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,\n    round(quantileDeterministic(0.5)(toFloat64(toUnixTimestamp64Nano(sip_timestamp) - toUnixTimestamp64Nano(participant_timestamp)) / 1e6, toUInt64(sequence_number)), 3)  AS median_skew_ms,\n    round(quantileDeterministic(0.95)(toFloat64(toUnixTimestamp64Nano(sip_timestamp) - toUnixTimestamp64Nano(participant_timestamp)) / 1e6, toUInt64(sequence_number)), 3) AS p95_skew_ms\nFROM global_markets.cache_stocks_quotes\nWHERE ticker = 'AAPL'\n  AND sip_timestamp >= '2026-03-10 14:00:00'\n  AND sip_timestamp <  '2026-03-10 15:00:00'\n  AND participant_timestamp >= '2026-03-10 13:00:00'\nGROUP BY et_time\nORDER BY et_time","computed_at":"2026-10-07T15:22:23.223535+00:00","elapsed":0.002823771}