Skip to main content
Use client.bbo() when you need top-of-book quote data for spread tracking and quote monitoring. This method returns the best bid and best offer prices and quantities.

Method signature

Parameters

Return value

A single-pass iterator of quote dictionaries by default, flat PyArrow batches with output="batches", or a Pandas DataFrame with output="dataframe".

Example response

Fields

BBO records include:
  • timestamp: quote time in UTC milliseconds; columnar output is timezone-aware UTC
  • source: source identifier
  • market: normalized market ID
  • symbol: venue-native, human-friendly symbol
  • bid_price: best bid price
  • bid_quantity: quantity available at best bid
  • ask_price: best offer price
  • ask_quantity: quantity available at best offer
The bid-ask spread can be calculated as ask_price - bid_price.

Example

How it works

client.bbo() updates an ordered native book without materializing complete books. Without an interval it emits after every valid two-sided book update. Set changes_only=True to suppress deep-book and true no-op updates that leave the best prices and quantities unchanged. With an interval it emits the last qualifying quote from each non-empty UTC-aligned bucket. See Snapshots for the data flow.