faq:marketdata_request

This is an old revision of the document!


MarketData Request

The T4 FIX API provides optional subscriptions to streaming market data for all markets available in order routing. Market data is delivered asynchronously and concurrently with order routing flow during a FIX Session.

Market data subscriptions are initiated by Market Data Request messages (Tag 35=V). Securities are identified by:

  • Exchange (Tag 207 - SecurityExchange)
  • Contract (Tag 55 - Symbol)
  • Market (Tag 48 - SecurityID)

Subscriptions can be started anytime during the FIX Session with Subscription Request Type (Tag 263=1), and unsubscribed with Tag 263=2.

A successful Market Data Request returns Market Data messages:

  • MarketData Snapshot (Tag 35=W)
  • MarketData Incremental Refresh (Tag 35=X)

Each Market Data Entry represents bid, offer, trade, settlement price, session high/low, trade volume, open interest, or price limits. Full book or top-of-book subscriptions are available.

Market Data Incremental Refresh messages update specific book levels incrementally.

Requests that cannot be fulfilled result in a MarketData Request Reject message.

_Type_ _Tag 263 Value_ _Description_
—————–—————–————————————————-
Subscribe 1 Snapshot + Updates: full feed until unsubscribed
UnSubscribe 2 Cancel existing subscription
SnapShot 0 Snapshot only (equivalent to 1 currently)
Subscribe Incremental 7 Snapshot + Incremental Updates

T4 FIX API offers various buffering levels controlling throughput and bandwidth:

_Level_ _Description_
————-———————————————————————————————-
SlowTrade SlowSmart + every trade; high bandwidth, use sparingly
SmartTrade Smart + every trade; high bandwidth, use sparingly
SlowSmart Slowed Smart buffering; ~1 update per second if changes occur
Smart Recommended; varies frequency based on changes to best bid/offer/last trade
FastSmart Faster than Smart; more frequent updates on best bid/offer
All No buffering; all depth updates sent; high bandwidth
FastTrade FastSmart + every trade; high bandwidth
TradeOnly Only individual trades; no depth or limits

MarketDepth (Tag 264) controls the number of book levels requested, max 10. - Level 1: Top of Book - Level 10: Full Book If the security does not support 10 levels, the maximum supported is returned.

Market Data messages can be matched by: - SecurityID (Tag 48) (default) - MDReqID (Tag 262) if SecurityDesc (Tag 107) is set to 262 (SecurityID omitted in this case)

Chart (Time-and-Sales) Data requests are available for historical graph construction.

- Requires FIX Session with Enable Chart Data Requests (Tag 372=V) - Session auto-logs out if no Chart Data request within 60 seconds - Requests via Market Data Request (Tag 35=V) with SubscriptionRequestType (Tag 263):

_Type_ _Tag 263 Value_ _Description_
————————-—————–—————————————–
TIME_AND_SALES_DATA_BATCH 4 Multiple days, customizable session time (recommended)
TIME_AND_SALES_CONTRACT 5 Single day, all markets for a contract, total traded volume only

Chart Data requests may specify: - TradeDateStart (Tag 3200) and TradeDateEnd (Tag 3201) - SessionStartTime (Tag 3202) and SessionEndTime (Tag 3203) - ChartType (Tag 3204) (granularity) - DataFormat (Tag 3205) for compression (U=Uncompressed, T=Compressed with Deflate, Z=Compressed with ZLib)

Responses are MarketData Snapshot messages (Tag 35=W).

Tag Field Name Req'd Comments
——-——————————-—————————————————————————————
Standard Header Y MsgType = V
262 MDReqID Y Unique ID. Needed for unsubscribe
263 SubscriptionRequestType Y Subscription type (see table above)
264 MarketDepth Y Requested market depth (max 10)
265 MDUpdateType N Market data throughput buffer level (see buffering levels above)
267 NoMDEntryTypes Y Number of Market Data Entry Types requested
269 MDEntryType Y Market data entry types requested (e.g., 0=Bid, 1=Offer, 4=Last Trade, etc.)
146 NoRelatedSym Y Number of requested symbols (repeating group)
55 Symbol Y Contract ID
48 SecurityID Y Market ID
167 SecurityType Y Instrument type (e.g. FUT, OPT, STK)
207 SecurityExchange Y Exchange ID
201 PutOrCall N Option Put/Call indicator (0=Put, 1=Call)
107 SecurityDesc N Set to 262 to identify by MDReqID
1070 QuoteType N Obsolete. Pricing scheme (ticks/decimal)
3200 TradeDateStart N Start date for Chart Data requests (UTCDateOnly)
3201 TradeDateEnd N End date for Chart Data requests
3202 SessionStartTime N Session start time (UTCTimeOnly)
3203 SessionEndTime N Session end time (UTCTimeOnly)
3204 ChartType N Chart data granularity
3205 DataFormat N Compression format for chart data
Standard Trailer Y

  • faq/marketdata_request.1753470354.txt.gz
  • Last modified: 2025/07/25 19:05
  • by rob