TIQEX Blog
Market data API engineering in practice — WebSocket subscribe and reconnect, data-quality checks, rate limits and error codes, and cost estimation. Every post ships runnable code, and field semantics follow TIQEX’s documented API.

Featured
Three Clocks in Every Tick: Timestamp Provenance and Clock Skew
Age mixes network transit with your own clock offset, and one sample cannot separate them. This post bounds the offset with the lowest age in a window, catches a clock step by comparing wall against monotonic time, and marks the cases where the measurement is not worth its sampling budget.
Read more →25 articles
Three Clocks in Every Tick: Timestamp Provenance and Clock Skew
Age mixes network transit with your own clock offset, and one sample cannot separate them. This post bounds the offset with the lowest age in a window, catches a clock step by comparing wall against monotonic time, and marks the cases where the measurement is not worth its sampling budget.
Partial Subscriptions: The Batch Tail Is Where Resubscribes Fail
A resubscribe is confirmed one batch at a time. Counting confirmations proves only that something came back; comparing the confirmed set against the requested set is the only check that proves everything did — and the batch tail is where the loss hides.
Crypto WebSocket Data, Normalized: One Stream for Every Market (Python)
Every exchange speaks a different dialect. TIQEX normalizes crypto, futures, and FX WebSocket data into one JSON shape — one subscribe, one consumer, every market. Full Python example inside.
Crypto Futures Tick Data: How to Stream Live Ticks via WebSocket (Python)
Candles tell you what happened; ticks tell you how. Stream live crypto futures ticks via TIQEX's WebSocket API with a complete Python example: subscribe, reconnect, tick-to-bar resampling.
The Volume Field Is Everywhere, the Semantics Are Not: Four Preconditions for Cross-Market Comparison
The same volume field answers four different questions across equities, crypto and quote snapshots. This article separates denomination, counted object, time bucket and price semantics, then ships a runnable validator that proves comparability before any cross-market number is computed.
Build a K-line Aggregator from a WebSocket Tick Stream: Buckets, Late Ticks, and REST Reconciliation
REST candles and live ticks leave a semantic gap: folding ticks into time-bucketed bars that match your historical schema. This tutorial builds an offline-runnable aggregator, handles bucket boundaries, empty windows and late ticks, then validates it against REST candles with a difference-classifying reconciler.
Migrating Off Fragmented Market Data Vendors: Dual-Run, Field Mapping, Cutover
When your ingestion layer is stitched from three or four vendors, consolidating onto one unified market data API narrows the operational surface — but you maintain two feeds during the window. A call-surface inventory, a field-semantics mapping table, dual-run diffing, consumer-level cutover with a one-line rollback, and an acceptance checklist.
One Account, Many Tenants: Key Isolation, Quota Allocation, and Failure Containment
Once one market data account serves multiple customers or business lines, the access layer becomes a multi-tenant system. Four isolation dimensions, a two-layer split of daily quota and RPM, pre-allocated WebSocket connection budgets, and a runnable stdlib-only tenant quota gateway.
Present but Already Wrong: Six Silent Market Data Failures and How to Detect Them
A broken connection raises an error; a wrong value does not. A price spike, a timestamp regression, or a crossed book passes silently through collection and storage until it surfaces in a false alert. Six silent failure classes defined on documented TIQEX fields, plus a runnable Python validator.
Three Semantics of Missing Market Data: Null, Zero, and the Delayed Flag
Missing market data is not one condition. TIQEX quote responses separate a delayed fallback from an unavailable symbol with two boolean flags, while zero remains a legitimate number. Mixing them is how data quality incidents start. Includes runnable three-state handling code.
Build a Live Market Data Recorder: Resume, Gap Detection, and Replay
Turning a live quote stream into a reusable dataset is less about writing files and more about four guarantees: no loss, no duplicates, resumable, auditable. Includes a runnable recorder, gap scanner, and replayer.
Data Architecture for Multi-Market Portfolio Dashboards: Sessions, Cadence, and Freshness
The hard part of a multi-market dashboard is the data layer, not the charts. We break down three problems single-market dashboards never face — non-overlapping sessions, non-uniform refresh cadence, and mixed freshness — plus a state-driven subscription architecture in Python.

No matching articles found
Try a different keyword.
Try it yourself
Sign up for a free API key — the sample code in our posts runs as-is once you swap in your key.
