Skip to content
All library documents

Using FIX Market Data Requests to Build Time-Based Bars

Article Quant Q&A · Author: Alex808

Summary

This response explains that FIX market data is generally organized around individual market events, such as quotes and trades, rather than pre-aggregated candles. A MarketDataRequest is identified as a possible way for a client to subscribe to relevant market data. If the desired bars depend on a custom interval, the subscriber or provider can collect timestamped observations and calculate open, high, low, and close values from them.

The answer also notes that session-level highs and lows may be available in market-data messages, while other bar fields may require trade-by-trade inputs. It leaves design decisions such as interval boundaries, caching, and message conventions to the implementation. The guidance is intentionally cautious: FIX has evolved over time, and the author presents the message recommendation as an informed suggestion rather than definitive protocol advice.

Key ideas

  • FIX market data commonly transmits individual quotes and trades instead of interval candles.
  • A MarketDataRequest may be used to request relevant market data from a server.
  • Custom bars can be calculated by caching timestamped observations and aggregating them over chosen intervals.
  • Session highs and lows may be available directly, while other bar values may need to be derived from trades.
  • FIX implementations and conventions evolve, so verify the applicable specification and vendor behavior.

Tags

Full text
# Fix protocol and Bars


# Fix protocol and Bars












I am newbie in fix protocol. I would like to know how I can work with bars (candles) in the fix protocol? I mean subscription to bars from client-side and what type of message I can use to send bars from server to the client? I tried to find a suitable message on http://fixwiki.org/fixwiki/Category:Message but unfortunately I found nothing.

## Answer by Nathan S. (score 1)

https://quant.stackexchange.com/a/16906

FIX is a lower level thing. It's more like message by message, quote by quote, and trade by trade.

I think the closest message to what you want would be a MarketDataRequest. If your high and low are values for the trading session then they're in there. Otherwise, you're starting with price by trade.

I believe that for what you're describing you need to cache time stamped values and do calculations on intervals to make bars. It might make economic sense for a vendor to use their best guess at a FIX like spec for messaging bar data. You have a lot of fun architecture decisions ahead.

I'm going to add a large grain of salt for you to take this with. FIX is a dynamic protocol (what I thought I knew today might have been ancient history yesterday) and I have always used someone else's FIX solutions in production though I tinkered with my own in testing a couple of years ago.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.