Trade
Overview
TT Platform
Description
Task
Browser Access
Description
Task
Videos
TT Desktop
Description
Task
Videos
Reference
Workspace Windows
Description
Task
Videos
Widgets
Description
Task
Preferences
Description
Viewing Market Data
Time and Sales
Task
Reference
Description
Depth
Description
Task
Reference
Market Grid
Description
Task
Videos
Reference
Product Grid
Description
Task
Reference
Spread Matrix
Description
Task
Videos
Reference
Basic Order Entry
TT Order Types
Description
Task
Videos
Reference
Case Studies
TT Premium Order Types
Description
Task
Reference
Order Ticket
Description
Task
Use Cases
Reference
MD Trader®
Description
Task
Videos
Reference
Order Profiles
Description
Task
Reference
Routing Rules
Description
Task
Blocktrader
Description
Task
Videos
Reference
Trading Crypto on TT
Description
Task
Videos
Reference
Trading on B3
Order Management
Order Book
Description
Task
Reference
Floating Order Book
Description
Task
Reference
Fills
Description
Task
Reference
Positions
Description
Task
Reference
Orders and Fills
Description
Task
Reference
Audit Trail
Description
Task
Reference
Audit Query
Description
Task
Reference
Account List
Description
Task
Videos
Reference
Position Manager
Description
Task
Reference
Alert Manager and Alert Viewer
Description
Task
Videos
Reference
Account & User Restrictions
Description
Task
Reference
Balances
Description
Task
Reference
TT® OMS
Care Orders
Description
Task
Videos
Reference
Lock and Release
Description
Task
Bulking
Description
Task
Videos
Stitching and Splitting
Description
Task
Combining
Description
Task
Order Passing
Description
Task
Use Cases
Order Exceptions
Description
Task
Options
Options on TT
Description
Videos
Options Chain
Description
Task
Use Cases
Videos
Reference
Options Trade Monitor
Description
Task
Videos
Reference
Vol Curve Manager
Description
Task
Use Cases
Videos
Reference
Electronic Eye
Description
Task
Videos
Reference
RFQ Viewer
Description
Task
Videos
Reference
RFQ with Counterparties
Description
Task
Counterparty Manager
Description
Task
Strategy Creation
Description
Task
Use Cases
Reference
Options Risk
Description
Task
Videos
Reference
Options Risk Matrix
Description
Task
Videos
Reference
Watchlist
Description
Task
Videos
Reference
Expiration Manager
Description
Task
Volatility Calculator
Description
Task
TT Uncovered 2.0
Description
Task
TT Uncovered 3.0
Description
Task
QuikStrike
Description
Task
Spread Trading
Autospreader
Description
Task
Use Cases
Videos
Reference
Autospreader Rules
Description
Task
Videos
Reference
Hedge Manager
Description
Task
Videos
Reference
Trading in Yield
Description
Task
Use Cases
Reference
Aggregator
Description
Task
Videos
Reference
Algo Trading
Algo Dashboard
Description
Task
Videos
Reference
Template Manager
Description
Task
Order Management Algos (OMAs)
Autotrader
Description
Task
Reference
Videos
Excel integration with TT
Description
Task
Videos
Reference
Market-Making Algos
Analytics
Charts
Description
Technical Indicators
Task
Videos
Reference
Trader Analytics
Description
Task
Reference
ADL
ADL Overview
Introduction to ADL
Description
Task
Videos
Reference
ADL Basic Concepts
Description
Task
Reference
Building your first algo
Lessons
Advanced concepts
Description
Task
Case Studies
Jump blocks
Group blocks
Virtualized blocks
Library blocks
Trading Blocks
Discrete blocks
Arithmetic blocks
Basic blocks
Logic blocks
Miscellaneous blocks
Setup
Setup Overview
Getting Started
Description
Task
Videos
Reference
Supported Order Types and TIFs
Company Administration
Connections
Description
Task
Videos
Reference
Accounts
Description
Task
Videos
Use Cases
Reference
Users
Description
Task
Videos
Reference
Company
Description
Task
Reference
Order Tag Defaults
Description
Task
Account Administrators
Description
Task
TT Premium Services
Description
Task
TT Access
Description
Task
Advanced Features
Description
Risk Management
Risk Administration
Description
Task
Risk Limits
Description
Task
Videos
Reference
Pre-Trade Portfolio Risk
Description
Task
Reference
Order Cross Prevention
Description
Task
Videos
KRM Limits
Description
Task
TT® OMS
TT OMS Administration
Description
Task
Use Cases
Reference
Exchanges: Americas
B3
Description
Task
CBOE
Description
Task
Cboe FX
Description
Task
Reference
CFE
Description
Task
CME
Description
Task
Dealerweb
Description
Task
EBS Direct
Description
Task
EBS Market
Description
Task
Fenics
Description
Task
FMX
Description
Task
FMX_USTF
Description
Task
Goldman Sachs Commodity Blocks (GSCB)
Description
Task
Referece
ICE
Description
Task
MexDer
Description
Task
MIAX_FUT_CH
Description
Task
MIAX_FUT_NY
Description
Task
MX
Description
Task
Nodal
Description
Task
NFI
Task
Exchanges: EMEA
ATHEX
Description
Task
BIST
Description
Task
DGCX
Description
Task
EEX
Description
Task
EPEX SPOT
Description
Task
Reference
Eris
Description
Task
Eurex
Description
Task
Videos
Euronext
Description
Task
GFO-X
Description
Task
ICE_L
Description
Task
JSE
Description
Task
LME
Description
Task
LME NTP
Description
Task
LSE
Description
Task
MEFF
Description
Task
NDAQ_EU
Description
Task
NASDAQ_NED
Description
Task
Nord Pool
Description
Task
Reference
WSE
Description
Task
Exchanges: Asia/Pacific
ABX
Description
Task
ASX
Description
Task
FEX
Description
Task
HKEx
Description
Task
JPX
Description
Task
NSE
Description
Task
NZX
Description
Task
SGX
Description
Task
SGX GIFT
Description
Task
TAIFEX
Description
Task
TFEX
Description
Task
TFX
Description
Task
CoinFLEX
Task
Exchanges: Crypto
Coinbase
Description
Task
Kraken
Description
Task
FIX Support
FIX Ruleset
Description
Task
FIX Sessions
Description
Task
Secondary Accounts
Description
Task
Monitor
TT Mobile
TT Backtesting
APIs
TT REST API 2.0
Getting Started
API Reference
TT REST API 2.0 (UAT)
Getting Started
API Reference
TT .NET SDK
Getting started with TT .NET SDK
Creating the application framework
Working with instruments
Subscribing for market data
More about prices
An in-depth look at the Price class
Working with orders and fills
Handling trade subscriptions
Working with trade subscriptions
Working with Algos
Algo Server
TT Order Types
TT Premium Order Types
Advanced Concepts and Options
Appendix
TT CORE SDK
Getting Started with TT Core SDK
Creating Application Framework
Working With Instruments
Subscribing for Market Data
Working with Orders and Fills
Creating a TT Application Server
Appendix
TT Trade Surveillance
Overview
Using TT Trade Surveillance
Cluster View
Core Models
Market Abuse Models
Cross Product Models
Spoofing Models
Improperly Matched Trade Models
Market Rate Models
Trading Behaviors Models
Miscellaneous Models
Configurable Models
Reports
Wachlists
Reference
TT FIX Services
TT FIX General
Getting Started
FIX Message Structure
Session messages
TT FIX Order Routing
Overview
TT FIX message conversations
Supported application messages
TT FIX Market Data
Overview
TT FIX message conversations
Supported application messages
TT FIX Drop Copy Out
Overview
TT FIX Message Conversations
Supported application messages
Compliance Feed messages
TT FIX Drop Copy In
Overview
Supported application messages
TT FIX Gateway
Getting Started
FIX Message Structure
Components
Session messages
Price Gateway Messages
Order Gateway Messages
TT FIX Recovery
Overview
FIX Recovery Methods
Supported application messages
Compliance Feed Messages
MiFID II Support

Market Data Incremental Refresh (X) Message

On this page

Market Data Incremental Refresh (X) message

Purpose

Used to send updated market data for an instrument

Message Direction

From TT FIX to FIX client

Tag Directory

Click the links below to navigate to the documentation for that tag.

MarketDataIncrementalRefresh
TagNameTypeRequiredComments
Y

For additional information about this component group, consult the documentation.

35=X (MsgType)

8BeginStringSTRINGY

FIX protocol version

The tag indicates the beginning of a new message.

This tag must be the first tag in the message.

You must set the value to FIX.4.2 or FIX.4.4.

9BodyLengthINTY

Message length (in characters)

The value represents number of characters in the message following
this tag up to, and including, the delimiter immediately preceding Tag
10 (CheckSum). This tag must be the second field in a message.

35MsgTypeSTRINGY

Type of message contained in the message body

This tag must appear third in the list of header tags.

Possible values:
  • 0: Heartbeat
  • 1: Test Request
  • 2: Resend Request
  • 3: Reject
  • 4: Sequence Reset
  • 5: Logout
  • 8: Execution Report
  • 9: Order Cancel Reject
  • A: Logon
  • B: News
  • c: Security Definition Request
  • D: Order Single
  • d: Security Definition
  • e: Security Status Request
  • f: Security Status
  • F: Order Cancel Request
  • G: Order Cancel Replace Request
  • H: Order Status Request
  • Q: Don’t Know Trade (Inbound Drop Copy only)
  • R: Quote Request
  • V: Market Data Request
  • W: Market Data Snapshot Full Refresh
  • X: Market Data Incremental Refresh
  • Y: Market Data Request Reject
  • AD: Trade Capture Report Request
  • AE: Trade Capture Report
  • AQ: Trade Capture Report Request Ack
49SenderCompIDSTRINGY

ID of the FIX session

The value will be the same value the FIX client sends in tag 56 (TargetCompID) in its requests to TT FIX.

56TargetCompIDSTRINGY

FIX client ID, corresponding to the SenderCompID specified for the user in TT User Setup

The value is the same as sent in tag 49 (SenderCompID) in FIX client requests.

50SenderSubIDSTRINGC

Sent if TT User Setup specifies an exchange operator ID

Unique ID for the message sender

For CME, the value corresponds to the Operator ID.

142SenderLocationIDSTRINGN

Specific message originator’s location (i.e. geographic location and/or
desk, trader)

116OnBehalfOfSubIDSTRINGN

Unique Trader ID (can also be provided in Tag 50 (SenderSubID))

The value maps to the Alias field configured for a user in Setup.

129DeliverToSubIDSTRINGC

Value of Tag 116 (OnBehalfOfSubID) in the FIX client request.

34MsgSeqNumSEQNUMY

Message sequence number

43PossDupFlagBOOLEANC

Sent when TT FIX resends messages

Whether the sequence number for this message is already used

Possible values:
  • N: NO: Original transmission
  • Y: YES: Possible duplicate
97PossResendBOOLEANC

Sent when TT FIX restarts after encountering a corrupt FIX message cache, and only until it completes the initial download.

Whether the message might contain information that has been sent under another sequence number

Possible values:
  • N: NO: Original transmission
  • Y: YES: Possible resend
122OrigSendingTimeUTCTIMESTAMPC

Sent when TT FIX resends a message

Original time of message transmission, when transmitting orders as the result of a resend request

Always expressed in UTC.

52SendingTimeUTCTIMESTAMPY

Time, in UTC, the message was sent.

262MDReqIDSTRINGY

Unique ID matching the incoming request ID, sent in Tag 262 (MDReqID) in the Market Data Request (V) message. TT FIX returns this ID in all responses corresponding to the Market Data Request (V) request.

18210PriceFeedStatusINTC

Sent only when the status of the price feed changes.

Current state of the price feed.

Possible values:
  • 0: Price feed is unavailable
  • 1: Price feed is available
268NoMDEntriesNUMINGROUPY

Number of market data entries in the message. Starts the repeating group.

279MDUpdateActionCHARY

Specifies the type of market data update.

Note: When Tag 35 (MsgType) = X, (i.e., Market Data Incremental Refresh message), Tag 279 must be the first tag in each MDEntry repeating group.

Possible values:
  • 0: New
  • 1: Change
  • 2: Delete
269MDEntryTypeCHARY

Type of market data to request.

Note: When Tag 35 (MsgType) = V, (i.e., Market Data Request) or Tag 35 (MsgType) = X, (i.e., Market Data Snapshot), Tag 269 must be the first tag in each MDEntry repeating group.

Possible values:
  • 0: Bid
  • 1: Ask
  • 2: Trade
  • 4: Opening price
  • 5: Closing price
  • 6: Settlement price
  • 7: Trading session high price
  • 8: Trading session Low price
  • 9: VWAP price (Spot energy products only)
  • A: Imbalance (B3 Auction and Pre-Open market states only)
  • B: Trade volume
  • J: Empty book
  • L: Leg trade
  • Y: Implied bid
  • Z: Implied ask
  • m: OTC trade (New for TT FIX)
  • n: Market bid (B3 Auction and Pre-Open market states only)
  • o: Market ask (B3 Auction and Pre-Open market states only)
  • p: Indicative open
  • q: Indicative close
  • r: Indicative bid
  • s: Indicative ask
  • t: Indicative settlement
  • u: Exchange sending time
  • v: Exchange transaction time
  • w: Exchange sequence number (TT internal only)
  • x: Last traded
270MDEntryPxPRICEC

Sent unless Tag 269 (MDEntryType)= A (Imbalance), n (Market bid), or o (Market ask).

Price of the instrument associated with this entry. Interpret the value based on the entry type.

Note: When tag 269 (MDEntryType) = x (Last traded), this value contains the last traded price (LTP).

271MDEntrySizeQTYC

Sent when tag 269 (MDEntryType) is:

  • 0: Bid
  • 1: Ask
  • 2: Trade
  • A: Imbalance
  • Y: Implied bid
  • Z: Implied ask
  • n: Market bid
  • o: Market ask
  • p: Indicative open
  • q: Indicative close
  • r: Indicative bid
  • s: Indicative ask
  • x: Last traded price

Quantity associated with the related instrument.

Note: Some exchanges do not send this tag when Tag 269 (MDEntryType) = 2 (Trade), p (Indicative Open), q (Indicative close), r (Indicative bid), or s (Indicative ask). For more information, refer to the appropriate exchange documentation.

272MDEntryDateUTCDATEONLYC

Sent when tag 269 (MDEntryType) is:

  • 6: Settlement
  • t: Indicative settlement

Settlement, or Indicative Settle, date.

273MDEntryTimeUTCTIMEONLYC

Sent when tag 269 (MDEntryType) is:

  • 6: Settlement
  • t: Indicative settlement

Settlement, or Indicative Settle, time.

290MDEntryPositionNoINTC

Tag 269 (MDEntryType) is either 0 (bid), 1 (offer), Y (implied bid), or Z (implied offer)

Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1. The FIX client must determine where the new price belongs based on Tag 270 (MDEntryPx).

198SecondaryOrderIDSTRINGC

Sent only when Tag 16486 (MDEntryState) is provided. Currently, only BrokerTec supports the tag.

Unique identifier for the order (assigned by the exchange), based on the following:

  • When Tag 16486 (MDEntryState) = 1 (Open Workup) and Tag 269 (MDEntryType) = 0 (Bid), the value represents the order ID of the best bid at the top of the queue.
  • When Tag 16486 (MDEntryState) = 1 (Open Workup) and Tag 269 (MDEntryType) = 1 (Offer), the value represents the order ID of the best offer at the top of the queue.
  • When Tag 16486 (MDEntryState) = (2,4), the value represents the order ID of the workup owner of the ask side. In this situation, the order ID of the work owner on the bid side is the one that was provided in a prior update as the order ID at the top of the queue. (Note: if all offers at the workup price are fully filled, this tag contains the order ID of the best offer at the top of the queue.)
  • When Tag 16486 (MDEntryState) = (3,5), the value represents the order ID of the workup owner on the bid side. In this situation, the order ID of the workup owner on the ask side is the one that was provided as the order ID of the best ask at the top of the queue. (Note: if all bids at the workup price are fully filled, this tag contains the order ID of the best bid at the top of the queue.)
16486MDEntryStateINTC

Sent only for BrokerTec workup markets

Current state of a workup order.

Possible values:
  • 0: Open workup
  • 1: Public workup where the aggressor hit the bid
  • 3: Public workup where the aggressor took the ask
  • 4: Private workup where the aggressor hit the bid
  • 5: Private workup where the aggressor took the ask
277TradeConditionMULTIPLESTRINGVALUEC

Sent when Tag 269 (MDEntryType) = A (Imbalance).

Whether the quantity represented in Tag 271 (MDEntrySize) represents an imbalance with more buyers or an imbalance with more sellers.

Possible values:
  • P: Imbalance More Buyers (Cannot be used in combination with Q)
  • Q: Imbalance More Sellers (Cannot be used in combination with P)
346NumberOfOrdersINTC

Sent only when all of the following are true:

  • Tag 18214 (IncludeNumberOfOrders) was set to Y on the Market Data Request (V) message.
  • Tag 269 (MDEntryType) contains: 0 (Bid), 1 (Ask), Y (Implied bid), or Z (Implied ask).
  • The exchange provides this information.

Number of orders that comprise the quantity represented in Tag 271 (MDEntrySize) of this message.

2446AggressorSideINTC

Sent when Tag 269 (MDEntryType) = 2 (Trade).

Side of aggressive order or quote resulting in match event.

(*) On CME, trades without aggressors occur at Market Open, after a Pre-Open or after a Pause, and also when the event includes customer order participation in a trade with a CME Globex-generated implied bid or offer.

Possible values:
  • 0: No Aggressor*
  • 1: Buy
  • 2: Sell
16489ExactNumOrdersIndicatorBOOLEANC

Sent only when all of the following are true:

  • Tag 18214 (IncludeNumberOfOrders) was set to Y on the Market Data Request (V) message.
  • Tag 346 (NumberOfOrders) is provided.
  • The exchange provides this information.

Whether the number of orders specified in Tag 346 (NumberOfOrders) represents an exact or inexact value.

Note: Supported only for the OSE exchange.

Possible values:
  • Y: Exact
  • N: Inexact
55SymbolSTRINGN

Exchange-provided product symbol for the tradable product.

167SecurityTypeSTRINGN

Asset class of the instrument.

Possible values:
  • CS: common stock
  • CUR: currency
  • FOR: Spot FX
  • FUT: future
  • MLEG: multi-leg
  • NDF: Non-Deliverable Forwards
  • NONE: No security type (Not valid for 35=c, e or V)
  • OPT: option
  • SPOT: EEX spot products
  • TBOND: treasury bond
  • INDEX: index
107SecurityDescSTRINGN

Security description.

460ProductINTN

Product type associated with the security.

Possible values:
  • 1: Agency
  • 2: Commodity
  • 3: Corporate
  • 4: Currency
  • 5: Equity
  • 6: Government
  • 7: Index
  • 8: Loan
  • 9: Money market
  • 10: Mortgage
  • 11: Municipal
  • 12: Other
  • 13: Financing
  • 14: Energy
200MaturityMonthYearMONTHYEARN

Month and year the instrument reaches maturity in the format YYYYMM.

541MaturityDateLOCALMKTDATEN

Maturity date in format YYYYMMDD.

205MaturityDayDAYOFMONTHN

Day of expiration for the instrument.

201PutOrCallINTC

Sent when Tag 167 (SecurityType) is OPT.

Whether the option represents a put or call

Possible values:
  • 0: Put
  • 1: Call
202StrikePricePRICEC

Sent when Tag 167 (SecurityType) is OPT.

Strike price for an option

206OptAttributeCHARN

Additional information about the option contract.

18211DeliveryTermCHARC

Sent when the delivery term is not monthly.

Term of delivery for the instrument.

TT FIX uses this value to identify contracts that do not have a monthly delivery term.

Note: When Tag 18211 DeliveryTerm equals any value except ‘M’, ‘Y’ or ‘Q’, then you must specify the delivery day/date in Tag 205 MaturityDay or Tag 541 MaturityDate.

Possible values:
  • A: Same day
  • B: Balance of month
  • C: End of Month
  • D: Day
  • E: Weekly
  • H: Hour
  • L: Balance of week
  • M: Month
  • N: Next day
  • P: Pack
  • Q: Quarterly
  • S: Seasonal
  • T: Weekend
  • U: Bundle
  • V: Variable
  • W: Week
  • X: Custom
  • Y: Year
  • Note: The following values are only available for EPEX and Nord Pool:
  • a: Quarter hour
  • b: Half hour
  • c: One hour
  • d: Two hour
  • e: Four hour
  • f: Eight hour
  • g: One plus two
  • h: Three plus four
  • i: Baseload
  • j: Peakload
  • k: Overnight
  • l: Extended peak
743DeliveryDateLOCALMKTDATEN

Date for contract delivery

48SecurityIDSTRINGN

TT security ID that uniquely identifies the instrument in the TT platform.

207SecurityExchangeEXCHANGEN

Name of the market where the instrument trades.

TT FIX uses this value to identify the exchange that offers the
security.

Possible values:
  • AGGREGATOR
  • ALGO
  • ASE
  • ASX
  • B3
  • BitMEX
  • BrokerTec
  • Cboe
  • CboeFX_SW_NY
  • CBOT
  • CFE
  • CME
  • Coinbase
  • CoinFLEX
  • CurveGlobal
  • CZCE
  • DCE
  • DGCX
  • EEX
  • Eurex
  • Euronext
  • Fenics
  • FEX
  • HKEX
  • ICE
  • ICE_L
  • IDEM
  • INE
  • KCG
  • KRK
  • LME
  • LSE
  • MEFF
  • MEXDER
  • MX
  • NDAQ_EU
  • NFI
  • NFX
  • OSE
  • SGX
  • TFEX
  • TFX
  • TOCOM
100ExDestinationEXCHANGEN

Name of the sub-market where the instrument trades.

ISO 10383 defines a comprehensive list of MIC codes.

TT FIX uses this value to identify a security.

15CurrencyCURRENCYN

ISO-standard symbol for the instrument’s trading currency.

16052ExchangeSendingTimeSTRINGC

Only sent when the MarketDataRequest (V) requests at least one bid/ask/implied-bid/implied-ask and includes 269=u (Exchange sending time).

UTC time the market data message was transmitted from the exchange, expressed as number of microseconds since Unix epoch.

16060ExchangeTransactTimeSTRINGC

Only sent when the MarketDataRequest (V) requests at least one bid/ask/implied-bid/implied-ask and includes 269=v (Exchange transaction time).

UTC time of the execution/order creation that resulted in this market data message from the exchange, expressed as number of microseconds since Unix epoch.

18225ExchangeSeqNumINTC

Only sent when MDEntryType is bid/ask/implied-bid/implied-ask.

(TT internal only) Sequence number on the packet from the exchange that contained this book update.

864NoEventsNUMINGROUPN

Number of entries in the event types repeating group

865EventTypeINTN

Type of event

Possible values:
  • 5: Expiry date
  • 6: Last trading date
  • : The following values are only available for EPEX and Nord Pool:
  • 13: First delivery date
  • 14: Last delivery date
  • 101: First trading date
  • 102: SDAT first trading date
866EventDateLOCALMKTDATEN

Date the event occurred

1145EventTimeUTCTIMESTAMPN

Note: This tag is only available for EPEX and Nord Pool.

Specific time of event. Use in combination with EventDate <866>.

Y

For additional information about this component group, consult the full documentation.

10CheckSumSTRINGY

Unencrypted three-character checksum

This tag must always be the last field in a message (i.e. it serves, with the trailing <SOH>, as the end-of-message delimiter).

Message Notes

The Market Data Incremental Refresh (X) message is used to send updates whenever the market data changes for an instrument to which a FIX client subscribes for incremental updates.

Calculating entry positions

Market Data Incremental Refresh (X) messages can contain multiple New, Delete and Change actions for the same contract and MDEntryType. The FIX client must take into account that Tag 290 (MDEntryPositionNo) in an update always indicates the position of the entry before processing the current message.

The following shows an example of an algorithm you can use to process market depth updates:

  • Create a ladder data structure that is sorted by price.

  • Create a before instance and an after instance.

  • Populate both instances with the Market Data Snapshot (W) message.

  • When a Market Data Incremental Refresh (X) is received and:

    • Tag 279 (MDUpdateAction) is 0 (New), insert it directly into the after instance.
    • Tag 279 (MDUpdateAction) is 1 (Change), apply the quantity change to the before instance.
    • Tag 279 (MDUpdateAction) is 2 (Delete), mark it for deletion in the before instance but do not actually delete it.
  • After the entire Market Data Incremental Refresh (X) is processed in this manner, insert all records not marked for deletion in the before instance into the after instance.

  • Delete the contents of the before instance.

  • Copy the contents of after instance to the before instance.

  • Display the after instance to the user.