You see the price. You place the order. The fill comes back wrong.

Not catastrophically wrong - just a few ticks off. But in fast markets, a few ticks is everything. You weren't trading the market. You were trading a copy of it, slightly behind, slightly out of sync with what was actually happening.

That gap - between the price you see and the price that exists - is where real-time traders bleed out.

The Common Belief

Most traders assume price data is essentially live. The chart updates, the number changes, the feed says it's streaming. It feels real-time because it looks real-time.

The intuitive model is simple: data flows from exchange to screen, screen shows price, trader acts on price. A clean pipe, nearly instant.

What that model misses is every point of friction in between - and in electronic markets, there are many. Each adds delay. Each delay means the price you see is a photograph of a moment that has already passed.

What Actually Happens

Price data doesn't teleport from exchange to your screen. It travels through a chain of infrastructure, each link adding its own latency.

First, the exchange generates a price update - a tick. That tick is broadcast over a WebSocket or REST endpoint. Your data provider receives it, processes it, possibly aggregates it with other ticks, then pushes it to your connection. Your client application receives it, parses it, and renders it. Only then do you see it.

In normal conditions, this chain takes somewhere between 50 milliseconds and several hundred milliseconds. It depends on your data provider's infrastructure, your geographic distance from their servers, your internet connection, and the load on every system in the chain.

In volatile conditions - exactly when you need accuracy most - it gets worse. High-volatility events generate massive tick volume. A single news catalyst can produce thousands of price updates per second per instrument. Data providers throttle, aggregate, and queue. Latency spikes. The gap between real price and displayed price widens precisely when the stakes are highest.

This is the core mechanical reality: the market doesn't pause while your feed catches up. It keeps moving. Every millisecond your data lags, the price you see becomes less accurate as a representation of where you can actually trade.

There's also the distinction between different feed types. A Level 1 feed gives you the last traded price. A Level 2 feed shows the full order book. A consolidated tape aggregates across venues. Each has different latency characteristics, different update frequencies, different definitions of "current." Traders often use one type without fully understanding what they're seeing - or more importantly, what they're not seeing.

WebSocket feeds update continuously but still have processing delays. REST API polling introduces artificial lag - if you poll every second, you're already a second behind by definition. Aggregated candlestick data hides intrabar movement entirely, smoothing out the exact volatility that creates execution problems.

And then there's the exchange side itself. Crypto markets in particular operate across dozens of venues simultaneously. The price on Binance and the price on Coinbase for the same asset are not the same price - they're correlated prices that arbitrageurs work to keep close, but they diverge constantly. Which price is your feed showing you? During fast markets, the answer matters enormously.

One observation a week on liquidity, flow, and structure. 4 minutes. No price calls.

Subscribe →

Why This Matters for Traders

Understanding data latency changes how you think about execution in a fundamental way.

When you place a market order based on a stale price, you're not transacting at the price you saw - you're transacting at whatever the market has moved to by the time your order arrives. In calm markets, this is a rounding error. In fast markets, this is execution risk you didn't know you were taking.

Limit orders feel safer, but they have their own latency problem. If your limit is priced off stale data, you may be setting it at a level that the market has already passed through - either you get filled immediately at a worse price than you expected, or you miss the move entirely because your limit was too far from where the market actually was.

Stop losses are the most dangerous case. You set a stop to protect a position. The price you see triggers the stop level. Your order goes in. But the market was already past that level when you saw the trigger - your stop executes into a gap, and your actual fill is substantially worse than your intended risk level. The protection you thought you had wasn't there.

This is why false breakouts trap so many traders: they often aren't false at all. The breakout happened. It happened on the real feed, at the exchange level. By the time the slower feed showed it, price had already reversed. The trader acted on old data, entered late, and got caught in the pullback. The market wasn't lying - their view of it was.

Latency also creates asymmetric exposure that most traders never account for. You're unaware of the gap, so you can't adjust your sizing or risk parameters to reflect it. Your position sizing assumes you can execute near the prices you see. When you consistently can't, your actual risk is higher than your models suggest - a form of hidden exposure mismatch that compounds silently over time.

Example from Crypto Markets

In May 2021, during one of crypto's most violent deleveraging events, BTC dropped roughly 30% in a matter of hours. The tick volume on major exchanges was extreme.

Traders watching standard charting feeds saw price updates that were significantly behind exchange-level reality. Feeds that normally showed prices within 100ms were lagging by several seconds during peak volatility. Traders setting stops based on chart prices were getting fills 2–5% worse than where they thought they were stopping out.

For a trader with a $50,000 position, a 3% slippage differential is $1,500 of unexpected loss - just from data lag. Not from being wrong about direction. Not from poor risk management in theory. Just from the gap between the price they saw and the price that existed.

This is also the environment where liquidation cascades accelerate. Leveraged positions get liquidated at exchange price, not feed price. Traders watching their feed think they have breathing room. At the exchange, their position is already under water. The feed catches up - they're already liquidated.

Calm markets mask this problem entirely. When volatility is low and tick volume is manageable, latency is small and its impact is negligible. Traders develop habits assuming feeds are accurate. Then the volatile event arrives, latency explodes, and those habits lead directly to poor executions. The education only happens when conditions are extreme - which is exactly what market chaos as the real classroom means in practice.

The Takeaway

Price data is not the price. It's a measurement of the price, taken at a moment in the past, transmitted with delay, rendered on your screen with additional delay.

In slow markets, that distinction is academic. In fast markets - the ones where the real money moves and real positions get tested - it's the difference between your intended trade and your actual trade.

The traders who understand this don't panic at bad fills. They build the lag into their expectations. They know that in volatile conditions, execution will differ from intention, and they size accordingly. They treat the displayed price as an approximation, not a contract.

The traders who don't understand it keep asking why their stops didn't work, why they missed the breakout, why their fills keep coming back wrong.

The market isn't broken. Their feed just isn't showing them the market.