Used to send updated market data for an instrument
From TT FIX to FIX client
Click the links below to navigate to the documentation for that tag.
Tag # | Field Name | Req’d | Data type | Comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Y |
35=X (MsgType) For additional information about this component group, consult the full documentation. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
262 | MDReqID | Y | String |
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. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
18210 | PriceFeedStatus | C | int |
Current state of the price feed. Possible values include:
Condition: Sent only when the status of the price feed changes. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
268 | NoMDEntries | Y | NumInGroup |
Number of market data entries in the message. Starts the repeating group. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 279 | MDUpdateAction | Y | String |
Specifies the type of market data update. Possible values include:
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. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 269 | MDEntryType | Y | char |
Type of market data in this entry. Possible values include:
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. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 270 | MDEntryPx | C | Price |
Price of the instrument associated with this entry. Interpret the value based on the entry type. Condition: Sent unless Tag 269 (MDEntryType)= A (Imbalance), n (Market bid), or o (Market ask). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 271 | MDEntrySize | C | Qty |
Quantity associated with the related instrument. Condition: Sent when tag 269 (MDEntryType) is:
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. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 272 | MDEntryDate | C | UCDateOnly |
Settlement, or Indicative Settle, date. Condition: Sent when tag 269 (MDEntryType) is:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 273 | MDEntryTime | C | UCTimeOnly |
Settlement, or Indicative Settle, time. Condition: Sent when tag 269 (MDEntryType) is:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 290 | MDEntryPositionNo | C | int |
Position of the MD price level in relation to the best bid / best offer (1 being the best). 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). Condition: Tag 269 (MDEntryType) is either 0 (bid), 1 (offer), Y (implied bid), or Z (implied offer) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 198 | SecondaryOrderID | C | String |
Unique identifier for the order (assigned by the exchange), based on the following:
Condition: Sent only when Tag 16486 (MDEntryState) is provided. Currently, only BrokerTec supports the tag. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 16486 | MDEntryState | C | int |
Current state of a workup order. Possible values include:
Condition: Sent only for BrokerTec workup markets |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 277 | TradeCondition | C | MultipleValueString |
Whether the quantity represented in Tag 271 (MDEntrySize) represents an imbalance with more buyers or an imbalance with more sellers. Possible values include:
Condition: Sent when Tag 269 (MDEntryType) = A (Imbalance). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 346 | NumberOfOrders | C | int |
Number of orders that comprise the quantity represented in Tag 271 (MDEntrySize) of this message. Condition: Sent only when all of the following are true:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 16489 | ExactNumOrdersIndicator | C | Boolean |
Whether the number of orders specified in Tag 346 (NumberOfOrders) represents an exact or inexact value. Possible values include:
Condition: Sent only when all of the following are true:
Note: Supported only for the OSE exchange. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 55 | Symbol | N | String |
Exchange-provided product symbol for the tradable product. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 167 | SecurityType | N | String |
Asset class of the instrument. Possible values include:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 107 | SecurityDesc | N | String |
Security description. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 460 | Product | N | int |
Product type associated with the security. Possible values include:
Note: Sent only in Security Definition (d) and Execution Report (8) messages. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 200 | MaturityMonthYear | N | MonthYear |
Month and year the instrument reaches maturity in the format YYYYMM. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 541 | MaturityDate | N | LocalMktDate |
Maturity date in format YYYYMMDD. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 205 | MaturityDay | N | DayOfMonth |
Day of expiration for the instrument. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 201 | PutOrCall | C | int |
Whether the option represents a put or call Possible values include:
Condition: Sent when Tag 167 (SecurityType) is OPT. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 202 | StrikePrice | C | Price |
Strike price for an option Condition: Sent when Tag 167 (SecurityType) is OPT. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 206 | OptAttribute | N | char |
Additional information about the option contract. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 18211 | DeliveryTerm | C | char |
Term of delivery for the instrument. TT FIX uses this value to identify contracts that do not have a monthly delivery term. Possible values include:
The following values are only available for EPEX:
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. Condition: Sent when the delivery term is not monthly. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 743 | DeliveryDate | N | LocalMktDate |
Date for contract delivery |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 48 | SecurityID | N | String |
TT security ID that uniquely identifies the instrument in the TT platform. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 207 | SecurityExchange | N | Exchange |
Name of the market where the instrument trades. TT FIX uses this value to identify a security. Possible values include:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 100 | ExDestination | N | Exchange |
Name of the sub-market where the instrument trades. TT FIX uses this value to identify a security. ISO 10383 defines a comprehensive list of MIC codes. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> 15 | Currency | N | Currency |
ISO-standard symbol for the instrument’s trading currency. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16052 | ExchangeSendingTime | C | String |
UTC time the market data message was transmitted from the exchange, expressed as number of microseconds since Unix epoch. Condition: Only sent when the MarketDataRequest (V) requests at least one bid/ask/implied-bid/implied-ask and includes 269=u (Exchange sending time). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16060 | ExchangeTransactTime | C | String |
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. Condition: Only sent when the MarketDataRequest (V) requests at least one bid/ask/implied-bid/implied-ask and includes 269=v (Exchange transaction time). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
18225 | ExchangeSeqNum | C | int |
(TT internal only) Sequence number on the packet from the exchange that contained this book update. Condition: Only sent when MDEntryType is bid/ask/implied-bid/implied-ask. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Y | For additional information about this component group, consult the full documentation. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
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:
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.