Using FIX Market Data Requests to Build Time-Based Bars
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.