Skip to main content

Derivatives FIX Market Data Messages

The Coinbase Derivatives Exchange (CDE) FIX Market Data API allows market participants to receive market information including orders, trades, market state changes and instrument definitions.

Market Data Message Types

MarketDataRequest (35=V)

TagNameFIX TypeReqDescription
262MDReqIDStringYUnique client ID representing the MarketDataRequest.
263
SubscriptionRequestTypeIntY1 = Subscribe for snapshots and updates. 2 = Unsubscribe (send with MDReqID)
146NoRelatedSymNumInGroupNNumber of securities to subscribe to. If not specified, subscribes to all securities
→55SymbolStringNTicker symbol.
→167SecurityTypeStringNSee SecurityType (167) code set.

MarketDataRequestReject (35=Y)

TagNameFIX TypeReqDescription
262MDReqIDStringYUnique client ID representing the MarketDataRequest.
281
MDReqRejReasonStringNReason for rejection of MarketDataRequest (as a numerical value).
58TextStringNReason for rejection of MarketDataRequest (as text).

MarketDataSnapshotFullRefresh (35=W)

TagNameFIX TypeReqDescription
262MDReqIDStringYUnique client ID representing the MarketDataRequest.
55SymbolStringYTicker symbol.
167SecurityTypeStringYSee SecurityType (167) code set.
762
SecuritySubTypeStringCRepresents spread strategy if applicable. See SecuritySubType (762) code set.
268NoMDEntriesNumInGroupYNumber of MDEntry groups included in a Market Data message.
→ 269MDEntryTypeIntYSee MDEntryType (269) code set.
→ 278MDEntryIDStringNUnique exchange ID representing the instrument, session, and entry type.

Active entries with duplicate values should be replaced (delete is not allowed):
  • MDUpdateAction=New/Change (279= 0/1): Replace active entry with the same MDEntryID (278)
→ 270MDEntryPxPriceNAll-in rate
→ 271MDEntrySizeQtyNEntry size/quantity
→ 110MinQtyQtyNMinimum fill size associated with the amount.
→ 60TransactTimeUTCTimestamp(24)YGMT time of event, in microseconds
→ 1023MDPriceLevelIntNPrice level of bid or offer in book (implieds only). Values are 1023=1 or 1023=2.
→ 286OpenCloseSettllFlagIntCRepresents Open Price entry:
  • 0=Daily Open Price
  • 5=Indicative Opening Price (IOP)
→ 5796TradingReferenceDateLocalMktDateCUsually the current trading date, except for open interest and closing price (which is usually previous trading date). Value corresponds to MDEntryType (269).

MarketDataIncrementalRefresh (35=X)

TagNameFIX TypeReqDescription
262MDReqIDStringYUnique client ID representing the MarketDataRequest.
266
AggregatedBookCharYRepresents whether or not book entries are aggregated.
268NoMDEntriesNumInGroupYRepeating group. Number of entries in the Market Data message.
→279MDUpdateActionIntYRepresents type of Market Data update action. 279=0 (New), 279=1 (Change), 279=2 (Delete).
→ 269MDEntryTypeIntYSee MDEntryType (269) code set.
→ 278MDEntryIDStringNOrder ID assigned by the exchange that is unique per instrument, session, and entry type.

Active entries with duplicate values should be replaced or deleted:
  • MDUpdateAction = New/Change (279=0/1): Replace active entry with the same MDEntryID (278)
  • MDUpdateAction = Delete (279=2): Delete active entry with same MDEntryID
→ 55SymbolStringYTicker symbol.
→ 167SecurityTypeStringYSee SecurityType (167) code set.
→ 762SecuritySubTypeStringCSee SecuritySubType (762) code set values. Represents spread strategy if applicable
→ 270MDEntryPxPriceNAll-in rate. Required when MDUpdateAction = New (279=0) or Change (279=1)
→ 271MDEntrySizeQtyNEntry size/quantity. Required when MDUpdateAction = New (279=0) or Change (279=1)
→ 110MinQtyQtyNMinimum fill size associated with the amount.
→ 60TransactTimeUTCTimestamp(24)YGMT time of event, in microseconds
→ 1023MDPriceLevelIntNPrice level of bid or offer in book (implieds only). Values are 1023=1 or 1023=2.
→ 286OpenCloseSettllFlagIntCFlag describing Open Price entry . 0=Daily Open Price. 5=Indicative Opening Price (IOP)
→ 5796TradingReferenceDateLocalMktDateCCurrent trading date. Value corresponds to MDEntryType (269) code set.
→ 5797AggressorSideIntCRepresents the aggressor side in a transaction:
  • 0=No Aggressor
  • 1=Buy
  • 2=Sell
AggressorSide is sent for MDEntryType = "Trade" (269=2)

Was this helpful?