Application Layer FIX Message Definitions
Application Layer FIX Message Definitions include the following.
Contents
Supported Application Layer Messages
Supported messages together with the sessions they are applicable for are outlined below:
Message Name | MsgType | Session Type | Sent by Client | Sent by EBS |
---|---|---|---|---|
MarketDataRequest | V | Market Data | √ | - |
MarketDataFullRefresh | W | Market Data | - | √ |
MarketDataIncrementalRefresh | X | Market Data | - | √ |
MarketDataRequestReject | Y | Market Data | - | √ |
NewOrderSingle | D | Order | √ | - |
ExecutionReport | 8 | Order | - | √ |
OrderCancelRequest | F | Order | √ | - |
OrderCancelReject | 9 | Order | - | √ |
OrderStatusRequest | H | Order | √ | - |
OrderMassCancelReport | r | Order | - | √ |
BusinessMessageReject | j | All | √ | √ |
In the following section where fields contain custom values or elements of later versions of the FIX protocol these have been highlighted.
Market Data (ESP)
Market Data Request (35=V)
Tag | Field Name | Req | Ver | Comments | ||
---|---|---|---|---|---|---|
128 | DeliverToCompId | N | 4.4 | Used to target a specific LP (Pass-Through) for this Market Data Request. | ||
262 | MDReqID | Y | 4.4 | Unique identifier for the MarketDataRequest. Should be unique for at least 1 week. | ||
263 | SubscriptionRequestType | Y | 4.4 | 1 = Subscribe 2 = Unsubscribe (MDReqID must match original subscription) | ||
265 | MDUpdateType | C | 4.4 | Required when SubscriptionRequestType=1. 1 = Incremental Update Messages - only supported on Sweepable (1300=D) segment | ||
12003 | UpdateInterval | N | Custom (Int) | Requested frequency of updates in milliseconds. Valid Values: 0-1000 | ||
1021 | MDBookType | C | 5.0* | Required when SubscriptionRequestType=1. 1104 – MultiLevelPriceDepth (SIngle TIcket, custom). | ||
264 | MarketDepth | Y | 4.4 | For Unsubscribe, the value will be ignored by EBS. 0 = Full book PriceDepth (Sweepable) – All prices MultiLevelPriceDepth (Single Ticket) –All prices at each LP Level. PriceDepth (Sweepable) – Best price. (Not supported for MDUpdateType of 1, Incremental.) MultiLevelPriceDepth (Single Ticket) –Best price at each LP Level. PriceDepth (Sweepable) – Not supported for MDUpdateType of 1, Incremental. MultiLevelPriceDepth (Single Ticket) - Number of price entries at each LP Level. | ||
266 | AggregatedBook | N | 4.4 | Specifies whether book entries should be aggregated. | ||
MDReqGrp | ||||||
267 | NoMDEntryTypes | Y | 4.4 | For Subscribe:Set to '2' (All requests must be two-sided price requests) | ||
→ | 269 | MDEntryType | Y | 4.4 | For Unsubscribe, the value will be ignored. 0 = Bid 1 = Offer | |
END – MDReqGrp | ||||||
InstrmtMDReqGrp - All values in this group will be ignored on unsubscribe requests. | ||||||
146 | NoRelatedSym | Y | 4.4 | Set to '1' – each ccy pair must be requested separately. | ||
→ | 55 | Symbol | Y | 4.4 | The currency pair requested, in CCY1/CCY2 format, where CCY1 and CCY2 are the ISO codes of the base and local currencies for which a price is requested, e.g. EUR/USD. | |
→ | 167 | SecurityType | C | 5.0 | Instrument type. Required for subscribing. Valid values: FXSPOT | |
→ | 1300 | MarketSegment ID | C | 5.0 | Required for subscribing and ignored for unsubscribing. D = Sweepable DF = Single Ticket | |
→ | 63 | SettlType | N | 5.0 | Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section. | |
→ | 271 | MDEntrySize | N | 4.4 | For Sweepable pricing, this is the cumulative notional depth you would like to see. EBS will return the minimum number of levels required to achieve your desired depth. Cannot be used in conjunction with MarketDepth(264)>0. Specified value must be between 1000000 and 100000000 (1m and 100m). | |
END - InstrmtMDReqGrp |
Market Data Snapshot Full Refresh (35=W)
Tag | Field Name | Req | Ver | Comments | |
---|---|---|---|---|---|
262 | MDReqID | Y | 4.4 | Unique identifier for the initial MarketDataRequest. Echoes back the value on the MDRequest message. | |
1021 | MDBookType | Y | 4.4* | Echoed from the request. 2 – PriceDepth (Sweepable) 1104 – MultiLevelPriceDepth (Single Ticket, custom) | |
55 | Symbol | Y | 4.4 | Currency pair in CCY1/CCY2 format. | |
1300 | MarketSegmentID | Y | 5.0 | EBS Market Segment of this snapshot. D = Sweepable DF = Single Ticket | |
167 | SecurityType | Y | 5.0 | Instrument type. Valid values: FXSPOT | |
63 | SettlType | C | 5.0 | Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section. | |
64 | SettlDate | N | 4.4 | Standard FIX field - custom on this message. | |
MDFullGrp | |||||
268 | NoMDEntries | Y | 4.4 | Number of entries in the MarketData message. | |
→ | 269 | MDEntryType | Y | 5.0 | 0 = Bid 1 = Offer J = Empty Book - Indicates no bids or offers. |
→ | 278 | MDEntryID | N | 5.0 | Used to reference the MD entry for updates and deletions. Will be zero for an empty book entry. Not sent on SnapshotFullRefresh (35=W) messages. |
→ | 270 | MDEntryPx | C | 4.4 | Price of the market data entry. |
→ | 271 | MDEntrySize | C | 4.4 | LP's quantity available at this price. Not provided if MDEntryType = EmptyBook (J). |
→ | 282 | MDEntryOriginator | N | 4.4 | Indicates the LP account ID associated with the MDEntry. Not provided if MDEntryType = EmptyBook (J). |
END - MDFullGrp |
Market Data Incremental Refresh (35=X)
Tag | Field Name | Req | Ver | Comments | |
---|---|---|---|---|---|
262 | MDReqID | Y | 4.4 | Identifier of the Market Data stream. Echoes back the value on the MDRequest message. | |
1021 | MDBookType | Y | 4.4* | Describes the characteristics of prices provided in this message. Echoed from the request. 1104 – MultiLevelPriceDepth (Custom) | |
1300 | MarketSegmentID | C | 5.0 | EBS Market Segment of this snapshot. D = Direct DF = Direct – Single Ticket – Only for MultiLevelPriceDepth book type. | |
MDIncGrp | |||||
268 | NoMDEntries | Y | 4.4 | Number of entries in the MarketData message. Must be ≥ 1 | |
→ | 279 | MDUpdateAction | Y | 4.4 | 0 = New 1 = Change 2 = Delete Will be Change (1) whenever MDEntryPx, or MDEntrySize changes. |
→ | 269 | MDEntryType | C | 5.0 | 0 = Bid 1 = Offer J = Empty Book - Indicates no bids or offers. |
→ | 278 | MDEntryID | Y | 4.4 | If MDUpdateAction = New, will be unique among currently active entries for this MDReqID. |
→ | 55 | Symbol | C | 4.4 | Currency pair in CCY1/CCY2 format. |
→ | 167 | SecurityType | C | 5.0 | Instrument type. Valid values: FXSPOT Provided when MDUpdateAction = New. Not provided when MDUpdateAction = Change or Delete. |
→ | 63 | SettlType | C | 5.0 | Instrument tenor. Not provided on empty book messages. Valid values are listed in the Tenor and Settlement Dates section. |
→ | 64 | SettlDate | N | 4.4* | The settlement date of the instrument. May be provided when MDUpdateAction = Change Not provided when MDUpdateAction = Delete. |
→ | 270 | MDEntryPx | C | 4.4 | Price of the market data entry. If MDUpdateAction = New and MDEntryType ≠ Empty Book, always provided. If MDUpdateAction = Change, provided for change of this field. If MDUpdateAction = Delete, not present. If MDEntryType = Empty Book, not present. |
→ | 271 | MDEntrySize | C | 4.4 | LP's quantity available at this price. If MDUpdateAction = Change, provided. If MDUpdateAction = Delete, not present If MDEntryType = Empty Book, not present. |
→ | 282 | MDEntryOriginator | N | 4.4 | Indicates the LP account ID associated with the MDEntry. Relevant only for non-aggregated prices. Provided if MDUpdateAction = New and MDEntryType ≠ Empty Book. |
END – MDIncGrp |
Market Data Request Reject (35=Y)
Tag | Field Name | Req | Ver | Comments |
---|---|---|---|---|
262 | MDReqID | Y | 4.4 | Market Data request id which is being rejected. |
281 | MDReqRejReason | N | 4.4* | Rejection reason code: 1 – DuplicateMDReqID 2 – InsufficientBandwidth 3 – InsufficientPermissions 4 – UnsupportedSubscriptionRequestType 5 – UnsupportedMarketDepth 6 – UnsupportedMDUpdateType 8 – UnsupportedMDEntryType i - Invalid UpdateFrequency x – Market Data Unavailable (Custom) y – Throughput Violation (Custom) z – Other – Reason to be provided in Text field (Custom) |
58 | Text | C | 5.0 | Textual description of the reason for the market data request rejection. |
Trading
New Order Single (35=D)
Tag | Field Name | Req | Ver | Comments | |
---|---|---|---|---|---|
128 | DeliverToCompId | N | 4.4 | Used to target a specific LP (Pass-Through). Only supported when sending 59=3 (IOC) or 4 (FOK). | |
11 | ClOrdID | Y | 4.4 | A unique identifier for the order assigned by the client. This should be unique for at least a week. | |
1 | Account | Y | 4.4 | Trader's floor code. | |
55 | Symbol | Y | 4.4 | Currency pair to be traded, in CCY1/CCY2 format. | |
167 | SecurityType | Y | 5.0 | Valid Values: FXSPOT | |
1300 | MarketSegmentID | Y | 5.0 | EBS Market Segment of this order: D = Sweepable DF = Single Ticket | |
63 | SettlType | N | 4.4 | Instrument tenor. Valid values are listed in the Tenor and Settlement Dates section | |
64 | SettlDate | N | 4.4 | Settlement date of the instrument (value date). Valid values are listed in the Tenor and Settlement Dates section. | |
54 | Side | Y | 4.4 | Trading intention from client perspective. 1 = Client Buys 2 = Client Sells | |
40 | OrdType | Y | 4.4 | Type of order: 2 = Limit | |
59 | TimeInForce | N | 5.0 | Specifies how long the order will remain in effect. 1 = Good Till Cancel (GTC) 3 = Immediate or Cancel (IOC) Default value for Sweepable (MarketSegmentID=D). Not supported on Single Ticket (MarketSegmentID=DF) 4 = Fill or Kill. |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.