sifting/io
Fair Price Methodology

One price per symbol. Filtered, validated, trusted.

For every symbol we publish a single price, drawn from independent, vetted sources rather than one pass-through feed. Stale, frozen, and outlier ticks are filtered out before the number ever reaches you, so what you get is cleaner, not slower: computed continuously, in near real time. This page documents exactly how that price is formed across every asset class, the methods, the math, and the limits we will not pretend away.

Volume-weighted robust medianPer-venue reputation scoringPlan-based delivery cadence
First principles

What the design guarantees.

Robust by construction

The fair price is a weighted median, not an average. A median has a 50% breakdown point: more than half of contributing venues must be wrong, in the same direction, before the output is wrong. One bad feed moves an average. It does not move ours.

Never gate publishing

Even if every venue is degraded, the engine falls back to the safest available source and still emits a price, with the degraded state exposed on the wire so your code can see the mode change. A price feed that goes silent is worse than useless. Ours fails soft.

Independent venues

We aggregate venues that share no infrastructure and no operator. Independence is what makes coordinated corruption rare, and it is the reason adding sources strengthens, rather than dilutes, the result.

Transparent & versioned

The method is published and version-tagged on the wire. The exact thresholds are part of the calibration we tune continuously; the algorithm and its guarantees do not change without a version bump.

Two regimes, one standard

The right method for each asset class.

Not every market has the same notion of a true price, so we do not force one. We apply the model that fits the asset and stay explicit about which one is in effect. Both clear the same trust bar before a value is published.

Consensus regime

Crypto, forex, and on-chain

Where many independent venues trade the same instrument and none is authoritative, we form one fair price as a volume-and-reputation-weighted robust median across them. The result is more representative than any single venue, and no one venue can drag it past its neighbours.

Authoritative-source regime

Equities, fundamentals, and reference data

Where an official source is the market of record, we do not invent a consensus. We stay faithful to the authoritative source, validate every value against it, and handle the reference-data lifecycle so live and historical data stay continuous. Accuracy here means fidelity to the source, not a second opinion.

What makes a source trusted

A trusted source is not a name. It is a bar.

We do not ask you to trust a source because of who runs it. A source earns its place by clearing an objective admission bar, then keeps it by earning its weight every second it contributes. Two gates: one before it ships, one that never stops.

Legitimacy & rights

The source operates lawfully, and we secure the redistribution rights it requires before it contributes to any product. A source we cannot license cleanly does not ship.

Independence

A new source must not share an operator or infrastructure with sources already in the set. Independence is what gives the median its strength, so we protect it at admission, not after the fact.

Liquidity or standing

A consensus venue must carry meaningful real flow; an authoritative source must be a recognised market of record for the instrument. Thin or unrepresentative sources are not admitted to the price.

Data integrity

Every candidate is evaluated over time for clean, consistent, well-timestamped data before it can influence a published value. A place in the price is earned over an evaluation window, never assumed.

Gate two never closes. Admission is not permanent. Once a source contributes, the reputation, quarantine, and frozen-feed checks in the pipeline below hold it to its standing tick by tick. A source that drifts loses weight automatically, and a source that recovers earns it back. Trust here is continuous, not a one-time stamp.

The pipeline

Every quote runs the same gauntlet.

The engine recomputes each symbol’s fair price continuously, in near real time: it takes the freshest quote from every venue and runs it through a layered pipeline with minimal latency. How often that value reaches you is a delivery choice set by your plan, but the gauntlet behind every price is identical, from the free tier to an enterprise SLA.

Stage 1 · Validate

Reject what can't be trusted

  • Freshness gateAny venue quote older than a strict staleness window is dropped before it can influence the price.
  • Hard outlier killAny price more than a fixed fraction away from the cross-venue median is discarded outright. This is the blunt defence against decimal bugs and depegs.
Stage 2 · Score

Measure how far each venue strays

  • Median Absolute Deviation (MAD)Cross-venue dispersion is measured with MAD, a robust spread estimator that, unlike standard deviation, is itself immune to outliers.
  • Modified z-score (Iglewicz & Hoaglin, 1993)Each venue's deviation is converted to a scale-free, MAD-based z-score, so $10 off on Bitcoin and $10 off on a low-priced asset are judged on the same footing.
Stage 3 · Remember

Hold venues to a rolling reputation

  • EWMA reputation, per venueAn exponentially weighted moving average of each venue's deviation builds a memory. One bad tick barely registers; sustained disagreement steadily erodes trust, and good behaviour restores it over minutes.
  • Quarantine with hysteresisA venue is benched only after sustained misbehaviour and re-admitted only after a clear recovery. The gap between the two thresholds, a control-theory dead-band, stops a borderline venue flickering in and out.
  • Frozen-feed detectionA venue whose price is unchanged while the wider market demonstrably moves is flagged frozen and excluded. It is a failure no staleness check catches, because the messages keep arriving.
Stage 4 · Aggregate

Form the price and the book

  • Volume-weighted robust medianSurviving venues are weighted by real traded volume × reputation, then combined with a weighted median that is robust to outliers, yet anchored to where trading actually happens.
  • Composite spread, derived from real booksThe bid/ask is built around the fair price from real venue spreads and cross-venue disagreement, then smoothed. It can never cross by construction, and widens automatically when venues diverge.
Price

Why a weighted median.

The single most important choice in the whole system, and the one we are happy to defend to a quant.

We do not average venues. An average has a breakdown point of zero: a single venue printing the wrong number drags the result immediately and proportionally. A median has a breakdown point of 50%: you would need a majority of venues to be wrong, in the same direction, at the same instant, before the published price is wrong.

We then make that median weighted: each surviving venue contributes in proportion to its real traded volume multiplied by its current reputation score. The deepest, most reliable venues dominate the result, but because it remains a median, even the single heaviest venue cannot drag the price past its neighbours. It can only ever move the answer to the next venue’s price.

The result is one number per symbol that reflects where the market genuinely is, computed identically for a solo developer on the free tier and a desk consuming it under an enterprise SLA.

Volume

How volume enters the price.

Volume is a weight, never a number we resell raw.

Each venue’s real traded volume, taken from its trade stream, is one half of its weight in the median: weight = volume × reputation. A venue carrying genuine flow counts for more than a thin one quoting the same instrument, which is exactly how a fair price should behave.

The measure is consistent across every contributing venue: the same definition of traded volume on each, so no venue is silently over- or under-counted by an accident of which field its API happens to expose. Where a source genuinely has no comparable volume signal, it is weighted on reputation alone rather than on a fabricated number, and the source matrix below says so explicitly.

We do not publish a venue’s raw volume as if it were our own product. Volume shapes the price; the customer derives their own volume-based analytics from the streams they are entitled to.

Spread

A book that can’t cross.

The bid/ask is derived, representative, and honest about what it is.

We do not stitch a book from the best bid of one venue and the best ask of another, which crosses (bid above ask) the moment one side arrives fresher than the other. Instead we build the top of book around the fair price as mid ± half-spread, so it can never cross by construction.

The half-spread is the larger of two real signals: the volume-and-reputation-weighted average of what venues are actually quoting, and the cross-venue disagreement (the MAD of venue mids). The second term means the spread widens automatically in fast markets, exactly when a real spread should, and we apply no artificial floor, so it is never pinned tighter than the market warrants. A light smoothing keeps it from flickering tick to tick.

This is a representative reference spread, not a claim of executable depth at our quote. We label it as such, because a trading desk will know the difference instantly and we would rather say so ourselves than have a desk find it.

On the wire

Every tick is auditable.

Each published price ships with the metadata an evaluator needs to verify it, second by second. No hidden state, no after-the-fact reinterpretation. What you see on the wire is what the engine decided at that moment.

Three timestamps

Every tick exposes a source timestamp (when the underlying source published), an ingest timestamp (when the engine received it), and a publish timestamp (when the price reached your connection). The trio lets you measure source freshness, engine cost, and end-to-end latency independently, with no ambiguity about which clock you are reading.

Cross-venue consensus

Every tick carries a normalised consensus value: how tightly the contributing sources agreed at the moment of publication, derived from the same MAD that powers the pipeline. You see the strength of the agreement without exposing the underlying breakdown, and you can gate on it when your workload calls for tighter consensus than the median already enforces.

Quality flag, never silent

Every tick carries an explicit state. Normal when the standard quorum of independent sources is contributing. Degraded when fewer than quorum are available and the engine has fallen back to its safest source, with the reason exposed. The price keeps flowing because production systems need it to, and the flag tells your code which mode is in effect so it can decide for itself.

Measured vs. derived

Exactly what is real, per venue type.

The single table due-diligence asks for. “Measured” means it comes off the venue wire. “Derived” means we compute a representative value because the venue does not expose one. We would rather draw this line ourselves than have you find it.

Venue typePriceVolumeBid / Ask
Order-book venuesMeasured: last trade per venueMeasured: real traded volume per venueMeasured: real top-of-book from each venue
On-chain swap venuesMeasured: swap prices, normalisedMeasured: real swap sizeDerived: from price + cross-venue dispersion
Quote-driven venuesMeasured: venue midReputation-weighted (no public trade volume)Derived: representative reference spread
Authoritative sources (equities, reference)Measured: official source of recordMeasured: official reported volumeMeasured: per the source's quote convention
Across conditions

How it behaves when markets don’t cooperate.

Peak volatility

Where the design is strongest. Fixed-clock compute is unmoved by message volume, volume-weighting leans on the venues actually trading, and the spread widens as venues lag each other, so there is no fake-tight quote during a crash.

Thin, quiet markets

An honest venue with little flow still counts on reputation. The frozen-feed detector won't false-trigger on a genuinely still market, because it requires the wider market to have moved before it flags a flat venue.

Holiday close, then reopen

The median tracks the reopening jump the instant fresh quotes arrive. Venues that reopen a few seconds apart are tolerated: a handful of off ticks barely dents a reputation built over minutes, so they rejoin cleanly.

Some feeds wrong, others right

Gross errors are killed on the same tick. Subtle, sustained drift erodes a venue's reputation until it's quarantined. As long as the bad feeds are a minority, the fair price holds.

Built for

Made for trading, risk, and valuation.

Use it anywhere a price you can trust matters more than shaving microseconds. The delivery cadence you choose suits the overwhelming majority of trading, risk, and analytics workloads, namely those that operate on sub-second-and-above timeframes rather than co-located order routing.

Systematic & algorithmic trading

Signal generation, portfolio construction, and execution logic operating on second-and-above timeframes, on a price that can't be jerked around by one venue.

Risk & exposure analysis

Mark-to-market, VaR inputs, margin, and limit monitoring built on a consolidated price that survives a single feed going bad.

Valuation & portfolio marking

Consistent, defensible marks across books and counterparties, with one fair price per symbol, computed the same way every time.

Backtesting & research

A clean, manipulation-resistant series to build and validate strategies against, instead of a single venue's quirks.

Settlement & reference rates

A neutral, auditable benchmark for settlement, accounting, and contract reference where a single-venue print won't do.

Dashboards & analytics

One trustworthy price per symbol to power product UIs, internal tooling, and customer-facing analytics.

Delivery cadence

One price, delivered at your pace.

The fair price is computed the same way for everyone. How often that value is pushed to you is set by your plan, so you pay for the update frequency your workload needs rather than the full firehose.

Free1 HzOne update per second, per symbol.
Builder4 HzA fresh value every 250 ms.
Pro6 HzA fresh value roughly every 165 ms.
Ultra10 HzA fresh value every 100 ms.

Enterprise removes the cap entirely: prices stream in near real time, as fast as the engine produces them, with delivery rates tuned to your SLA. Talk to us about your latency budget and we will size the feed to it.

For licensed third-party sources, the delivery cadence and any display or non-display terms follow that source’s agreement, which can differ from the plan rates above. We confirm the applicable terms in writing before such a source is enabled for your account.

Sources & licensing

A market data API. Not an exchange, not a broker.

SiftingIO provides market data access through APIs. We do not operate as an exchange, broker, investment advisor, or trading venue. Our role is to aggregate, validate, and deliver data from a curated set of sources to your application. Where redistribution of a source requires a license, we secure the necessary rights before that source contributes to a product.

Source categories we work with

Coverage is assembled across several source categories rather than a single feed: market data feeds, reference data sources, crypto venues, decentralized exchange activity, on-chain data, and supported structured financial data sources. Each category contributes to the products it is best suited for, and the methodology above describes how they are validated, weighted, and combined.

Equities reference data lifecycle

Equities carry events that crypto does not: corporate actions (splits, dividends, mergers), symbol changes, trading halts, and opening or closing prints. Splits and symbol changes are applied to the canonical instrument record so historical and live data stay continuous across the event. Halts and pauses are surfaced as a state, never as a silent gap or a stale last price. Quote conditions and end-of-day handling follow the convention documented on each equities product page.

Coverage varies by axis

Data availability, latency, historical depth, supported fields, redistribution rights, and commercial terms can vary by asset class, source category, product, and plan. We document what is included on each product page and in the pricing model, and we are explicit when a value is delivered as derived rather than measured.

Before relying on SiftingIO in production or redistribution workflows, confirm the coverage you need, your preferred delivery method, your latency budget, the historical depth you require, your display and redistribution rights, and the commercial terms that apply to your use case. Reach out before integrating and we will confirm in writing against your requirements.

What we don’t claim

The limits, stated plainly.

Robustness is bounded to a minority of bad feeds. No median-based or mean-based estimator can survive a majority of venues making the same coordinated error within the outlier threshold; that is a mathematical fact, not a tuning gap. Our defence is independence and breadth of sources, which make such coordination rare and shrinking as we add venues. We will never claim immunity to majority corruption.

A reference price, not a sub-millisecond execution feed. This is a benchmark fair price for trading strategies, risk, valuation, and analytics, delivered from 1 Hz on the free tier up to 10 Hz on Ultra, and near real time with no fixed cap for enterprise. That suits all but the most latency-sensitive work. It is not, and is not sold as, a co-located feed for sub-millisecond order routing or high-frequency market making.

The composite spread is representative, not executable depth. It describes the market’s prevailing spread; it does not assert that size is available at our quote on any single venue.

For enterprise & trading-firm due diligence

Want the methodology in full depth?

We share the detailed technical data sheet (calibration approach, per-venue handling, and validation results) under NDA with evaluating teams. Bring your hardest questions.