OLD MARKET

Article / Engineering / 4 min read

A price needs context

Market data becomes useful when its meaning, timing and history are clear. Receiving a number is only the first step.

Sunlit computing architecture

A screen displays 100.00. Before that number can support an argument, a few things need to be known. Which instrument does it describe? Is it the last trade, the best bid, the best offer or an indicative value? When was it produced, and when was it received?

These questions can sound administrative beside the more visible work of modelling a market. In practice, they determine whether two observations mean the same thing.

Imagine a fictional dataset with one column labelled “price”. Half its rows contain completed trades; the rest contain offers that someone was willing to make. A beautifully executed analysis of that column would still be analysing an inconsistent measurement. More sophisticated mathematics would not repair the definition.

Meaning comes before comparison

A market observation needs an identity. The instrument, venue, unit and type of observation are part of the data, even when a convenient display leaves them out.

This matters when information from different sources is brought together. A shared symbol is a useful label, but it is not a complete specification. A sound comparison starts by establishing that the instruments and measurements actually correspond.

There is a practical writing test here. If a researcher cannot explain in one sentence what a field measures, the field is not ready to bear much interpretive weight. That sentence should survive being read by someone who did not build the dataset.

A connection is not a complete record

Public exchange documentation makes clear that market-data channels have different behaviours. Coinbase's Exchange documentation, for example, distinguishes snapshots and incremental updates, explains sequence information and describes how missed trade messages can be identified and recovered on the matches channel. These are properties of the documented feeds, rather than assumptions a consumer can safely make about every stream. Coinbase: Exchange WebSocket Channels

The general engineering lesson is that a connected socket and a trustworthy local view are different conditions. A system may be receiving messages while its earlier history is incomplete. Conversely, a quiet stream is not automatically a broken one.

What matters is having an explicit account of the state of the observation: current, delayed, incomplete or unavailable. Replacing those distinctions with a single healthy-looking connection indicator hides information that downstream users need.

Time has more than one meaning

Consider an update created at a venue, received by a collector and written to storage. Those are three events. Giving them one undifferentiated timestamp makes it harder to explain a delay or reconstruct what was known at a particular moment.

There is no universal timestamp that answers every research question. A study of reported market activity and an investigation into data delivery may need different clocks. The useful discipline is to name the clock being used and preserve the distinction.

The same applies to historical corrections. If a source revises a record, it helps to know both what was originally available and what was later corrected. A retrospective dataset and the information available at the time serve different purposes. Treating them as identical can make an explanation look more certain than it was.

Make uncertainty part of the record

Missing information should remain recognisable as missing information. A zero, a carried-forward observation and an absent value tell different stories. Choosing among them is a modelling decision, even when it happens inside a data-cleaning script.

Good documentation records those choices in language another person can follow. What was changed? Why was it changed? Which conclusions depend on that choice? A useful dataset should travel with enough context to answer those questions.

That gives engineering work a demanding success criterion: another person should be able to inspect an observation, understand its limitations and reproduce how it was interpreted. A fast feed with unexplained gaps, or a clean table with undocumented substitutions, leaves that work unfinished.

Trust in a number comes from being able to explain what it represents and how it arrived. That work deserves as much care as the analysis built on top of it.

← Browse the journal