Market Data Increment

Message is “Market Data Incremental Refresh” (35=X)

OpenYieldSubscriberMD
Repeating Group

MDEntryGroup(268 NoMDEntries)

Repeating market data entry group used in both snapshot and incremental refresh messages.

TagNameRequiredNotes
268NoMDEntriesCountRequiredSnapshot (35=W): number of Bid and/or Offer entries. Incremental (35=X): number of update entries, up to 10.Set to the number of entries that follow.
The fields below repeat once per entry (count in NoMDEntries)
279MDUpdateActionRequired0=New·1=Change·2=DeleteOnly in 35=X incremental messages.
269MDEntryTypeRequired0=Bid·1=Offer·2=Trade·3=Index (change on day from previous close)·7=High (daily high price)·8=Low (daily low price)
55SymbolOptionalSame value as SecurityID (48). Only in 35=X incremental; on 35=W snapshots the security is set once on the message.
48SecurityIDRequiredSecurity identifier (ISIN, CUSIP, or FIGI per configuration). Only in 35=X incremental.
22SecurityIDSourceRequired1=CUSIP·4=ISIN·A=Bloomberg Symbol (FIGI)Only in 35=X incremental.
460ProductRequired1=Agency·3=Corporate·6=Government·11=MunicipalOnly in 35=X incremental.
270MDEntryPxRequiredPrice; zero on Delete
271MDEntrySizeRequiredSize in configured units (bonds by default); zero on Delete
299QuoteEntryIDRequiredInitiates the MDEntryID series used in subsequent incremental messages. Only in 35=W snapshot.
278MDEntryIDRequiredUnique entry ID referenced to update or delete a previous entry. Only in 35=X incremental.
811PriceDeltaOptionalYield to maturity; zero on Delete
58TextOptionalSpread to benchmark as SPRD=<bps>;BMKID=<id>;BMKSRC=<source>, when available. Bid and Offer New/Change only; never on Delete or other entry types.
288MDEntryBuyerOptional'Taker' or 'Maker'. Set only for MDEntryType=2 (Trade).
289MDEntrySellerOptionalOpposite of MDEntryBuyer. Set only for MDEntryType=2 (Trade).

OpenYield sends one incremental update per message. MDEntryID (278) on an increment matches the QuoteEntryID (299) from the snapshot, so you can correlate updates with snapshot entries. PriceDelta (811) carries the yield. Text (58) carries the spread to benchmark on bid and offer New and Change entries; see MD Market Data Feed for the format.

For example, a bid change with its spread (279=1):

8=FIX.4.4 9=212 35=X 34=58 49=OPENYIELD-MD 52=20231031-15:25:04.216 56=OPENEMS-MD 268=1 279=1 269=0 278=MKD20231227-000002887 55=USZ00000ZZ2X 48=USZ00000ZZ2X 22=4 270=99.875 271=50 811=5.1 58=SPRD=85;BMKID=US91282CJL61;BMKSRC=4 10=031

Three deletes (279=2), which never carry Text (58):

8=FIX.4.4 9=165 35=X 34=59 49=OPENYIELD-MD 52=20231031-15:25:04.217 56=OPENEMS-MD 268=1 279=2 269=1 278=MKD20231227-000002886 55=USZ00000ZZ1X 48=USZ00000ZZ1X 22=4 270=0 271=0 811=0 10=177
8=FIX.4.4 9=165 35=X 34=60 49=OPENYIELD-MD 52=20231031-15:25:04.218 56=OPENEMS-MD 268=1 279=2 269=0 278=MKD20231227-000002887 55=USZ00000ZZ2X 48=USZ00000ZZ2X 22=4 270=0 271=0 811=0 10=172
8=FIX.4.4 9=165 35=X 34=61 49=OPENYIELD-MD 52=20231031-15:25:04.219 56=OPENEMS-MD 268=1 279=2 269=1 278=MKD20231227-000002888 55=USZ00000ZZ2X 48=USZ00000ZZ2X 22=4 270=0 271=0 811=0 10=176