Research note 003: the tape arrives in bursts, and milliseconds lie
Date: 2026-10-10 · Status: observational, single 30-minute window. Companion to notes 001 (count vs volume) and 002 (dust vs whales). No profitability claim; limits stated; method reproducible.
Question
How is trade flow distributed in time — and what does the venue's own timestamp resolution hide from anyone replaying it?
Dataset
- 14,979 trade prints, Binance spot BTC/USDT, 30 minutes, one recorded
reconnect gap mid-capture (
venue_close, single attempt), audit verdicthealthy, clean duration stop. - Normalized to one Parquet file (14,979 exact-decimal rows); analysis over
venue timestamps (
T, millisecond resolution).
Results
| Measure | Value |
|---|---|
| Span | 30.0 min |
| Prints | 14,979 |
| Inter-arrival, median | 0.0 ms |
| Inter-arrival, p90 / p99 | 399 ms / 1,736 ms |
| Max inter-trade gap | 4.4 s |
| Same-millisecond consecutive prints | 10,931 of 14,978 (73.0%) |
| Silent seconds (zero prints) | 320 of ~1,800 (17.8%) |
| Prints/sec, median / p99 / max | 2 / 189 / 529 |
Reading
Three facts that jointly break naive time handling. First, flow is violently bursty: the median second holds 2 prints while the busiest holds 529, and nearly a fifth of all seconds hold none. Any fixed-interval representation (1-second bars, per-second features) averages a distribution that never sits at its average — the bar is a fiction the tape never traded. Second, 73% of consecutive prints share a millisecond, so ordering within a millisecond is venue-opaque: the venue batches, and replay order inside the batch is arrival order, not execution order. A fill model that fills print-by-print inside a shared millisecond pretends to knowledge it cannot have; conservative handling treats same-millisecond prints as simultaneous. Third, the longest venue-quiet stretch is 4.4 seconds — unremarkable, except beside the reconnect gap the capture layer recorded separately: venue time cannot distinguish "nothing traded" from "we heard nothing," which is exactly why gap records exist alongside timestamps.
What would strengthen or overturn this: burst statistics across sessions (Asian/European/US hours separately); same-millisecond batch sizes by venue (does Bybit batch the same way?); a fill model with explicit same-millisecond simultaneity, backtested against the current print-by-print default to measure how much phantom precision it removes.