Blocksize Bid Ask Methodology
Blocksize's Bid/Ask feed is a volume-weighted aggregated bid and ask price built from order book data across every accepted exchange for a given pair. This page documents how the spread is calculated, how anomalous quotes are filtered, and what the feed indicates about liquidity, volatility and the implied cost of trading. The methodology is published in full and governed by the Blocksize Data Committee.
Version 1.5 · Valid from 22 April 2025
Download the full methodology here
Introduction
Blocksize provides the Bid/Ask data feed as part of its crypto market data offering. All data points are converted and delivered in U.S. Dollars, Euros and other currencies across an expanding set of cryptocurrencies and digital asset classes.
The Bid/Ask feed is designed to be a transparent, independent market-quality indicator that supports efficient markets, reduces information asymmetry between participants, and helps establish crypto as an asset class held to the highest standards.
It serves several purposes:
Pricing less liquid assets — where few recent trades exist, averaging the bid (highest price a buyer will pay) and ask (lowest price a seller will accept) gives an estimate of fair market value
Assessing liquidity and volatility — the width of the bid-ask spread indicates liquidity, and its changes over time reflect shifts in volatility
Implied trading costs — the spread represents the implicit cost of trading an asset, which can be significant for illiquid or highly volatile assets
The feed is calculated using a transparent, robust methodology governed by the Blocksize Data Committee, with a clear framework of policies and procedures aligned to international best practices.
Calculation of Volume-Weighted Average Bid/Ask
For each accepted market, calculate the volume-weighted sum of bid prices and, separately, ask prices — from observable order book updates, denominated in units of the underlying asset.
Calculate the aggregate bid volume and ask volume across all accepted markets. This is the bid or ask volume weight.
Divide the volume-weighted sum of prices by the total volume weight, separately for bids and asks, to obtain the aggregated Bid/Ask:
Pˣ = Σⱼ (pⱼˣ × vⱼˣ) / Σⱼ vⱼˣ, applied independently for bid (x = b) and ask (x = a).
Data Contingency Rules
If order book updates from an accepted market can't be collected due to a technical problem at that exchange (such as malformed data), those updates are excluded from that instance of the feed.
If no order book updates from an accepted market exist during the current timeframe, the feed relies on the other accepted markets for its calculation.
If none of the accepted exchanges report order book updates, the feed does not report a calculated price; in that case the price is computed from the last observed order book updates.
Data Quality Assurance
All observable order book updates from accepted markets are evaluated using algorithmic anomaly and outlier detection. Suspected errors or anomalies are excluded from the calculation, applied within liquidity-adjusted timeframes of up to one minute.
Alongside the automated methods, the Blocksize Data Committee periodically reviews whether data sources should be added or removed. New sources are vetted for integrity before inclusion; sources that begin delivering anomalous data may be removed. Any change is approved by the members of the Data Committee and communicated to users where relevant.
Overview: Data Processing and Anomaly Detection
Blocksize uses statistical methods to maintain Bid/Ask quality automatically, applying liquidity-adjusted timeframes so that confidence intervals and computed values stay accurate and current. A single Price-Based Filter is used, built on statistical confidence intervals for order book updates. For the Bid/Ask feed, Blocksize considers an order-book timeframe of at most 30 seconds and applies the Price-Based Filter within a liquidity-adjusted window of at most one minute.
Adaptive Liquidity-Adjusted Timeframes
Timeframes adapt to the number and volume of order book updates observed for each pair, aiming to satisfy four conditions at all times:
At least 10 events in the window
Aggregate bid and ask volume of at least USD 1,000 (or equivalent in the quote currency)
All included events are less than 60 seconds old
At most 1,000 bid/ask updates in the window
Conditions 1 and 2 support accurate statistical estimates for the confidence interval used in anomaly detection. Conditions 3 and 4 exclude data that isn't sufficiently recent. In rare cases the recency limits mean conditions 1 and 2 can't be met — handled as an edge case below.
Price-Based Filter
For each new order book update, the filter measures how far its price deviates from the mean price of all other non-anomalous updates in the liquidity-adjusted window, using the standard deviation of prices tracked in that window. The method is applied identically to bid and ask updates.
Given prices already in the window, the confidence interval for including a new price is the average plus or minus a multiple (ξ) of the standard deviation:
Ψ = [ p̄ − ξσ , p̄ + ξσ ]
If the new price falls within the interval it is accepted; otherwise it is discarded as anomalous. The constant ξ sets how large a deviation counts as anomalous — the Bid/Ask feed uses ξ = 3.0 to maintain high quality standards.
Edge Cases and Applicability
The Price-Based Filter only applies when its confidence intervals are reliable. Blocksize found empirically that meeting Condition 1 (≥ 10 events) and Condition 2 (> USD 1,000 volume) makes the method sufficiently robust.
If those conditions aren't met, conditions are treated as anomalous, the filter is not applied, and all non-erroneous order book updates are included.
After an abrupt price jump, a sequence of genuine updates can be wrongly flagged as anomalous. A price-jump detector handles this: if 4 or more outliers occur in sequence, above or below the interval, with ≥ 500 USD (or equivalent) of aggregated volume, the confidence interval is re-initialised to include that sequence.