Maker API Application Layer FIX Message Definitions
Application Layer FIX Message Definitions include the following:
Supported Application Layer Messages
Supported messages together with the sessions they are applicable for are outlined below:
Message Name | MsgType | Session Type | Sent by EBS | Sent by Maker |
|---|---|---|---|---|
Market Data Request | V | Market Data | √ | - |
Market Data Full Refresh | W | Market Data | - | √ |
Market Data Request Reject | Y | Market Data | - | √ |
New Order Single | D | Trading | √ | - |
Execution Report | 8 | Trading | - | √ |
Execution Ack | BN | Trading | √ | - |
Don't Know Trade | Q | Trading | √ | - |
In the following section where fields contain custom values or elements of later versions of the FIX protocol these have been highlighted.
Where possible we recommend clients only populate mandatory tags on any given message, omitting any optional tags. Tags which we recommend are omitted are highlighted in a light blue background.
Market Data (ESP)
Market Data Request (35=V)
A separate subscription request will be sent for each instrument of each pricing tier.
When a single FIX session supports multiple pricing segments, the pricing segment will be identified on the MDRequest using the MDStreamID (1500) field.
A single subscription supports all size buckets. Quantities are dynamic and are not specified in the MDRequest.
Tag | Field Name | Req | Ver | Comments | ||
|---|---|---|---|---|---|---|
262 | MDReqID | Y | 4.4 | Unique identifier for the MarketDataRequest assigned by EBS. | ||
263 | SubscriptionRequestType | Y | 4.4 | 1 = Subscribe 2 = Unsubscribe (MDReqID will match original subscription) | ||
265 | MDUpdateType | C | 4.4 | Required when SubscriptionRequestType=1 [Subscribe]. 0 = Snapshot Message | ||
264 | MarketDepth | C | 4.4 | Number of price levels requested. Required when SubscriptionRequestType=1 [Subscribe]. 0 = Full book 1 = Top of book. n = number of price levels | ||
MDReqGrp | ||||||
267 | NoMDEntryTypes | Y | 4.4 | For Subscribe: Set to '2' (All requests must be two-sided price requests) For Unsubscribe, the value will be ignored by EBS. | ||
→ | 269 | MDEntryType | Y | 4.4 | For Unsubscribe, the value will be ignored. 1 = Offer | |
END – MDReqGrp | ||||||
InstrmtMDReqGrp - All values in this group will be ignored on unsubscribe requests. | ||||||
146 | NoRelatedSym | Y | 4.4 | Always '1' | ||
→ | 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 | N | 4.4 | Valid Values: FXSPOT | |
→ | 63 | SettlType | N | 4.4 | Instrument tenor. | |
→ | 64 | SettlDate | C | 4.4 | Settlement date of (near leg of) instrument in YYYYMMDD format. Not provided for weekly subscriptions. | |
→ | 1500 | MDStreamID | N | 4.4 | Name of the pricing segment (tier). | |
END - InstrmtMDReqGrp | ||||||
58 | Text | N | 4.4* | Reason for the Market Data unsubscription (Optionally provided when SubscriptionRequestType=2 [Unsubscribe]). Custom field on this message. | ||
Market Data Snapshot Full Refresh (35=W)
Each snapshot stands alone and overrides any previously sent snapshot for that subscription. Snapshots should be sent whenever at least one of the rungs on the Snapshot has been changed in price or size.
Additionally, if no change has occurred within the pre-configured stale quote interval for this instrument, a snapshot should be re-sent to keep the prices active. This interval can be configured by instrument and/or disabled. Discuss your requirements with you EBS representative.
If Market Data becomes unavailable for an instrument, a snapshot should be sent indicating "Empty Book" to indicate that the instrument's last snapshot should be invalidated. When market data is again available, a new snapshot can be sent.
Tag | Field Name | Req | Ver | Comments | |
|---|---|---|---|---|---|
262 | MDReqID | Y | 4.4 | Unique identifier for the initial MarketDataRequest. Echo back the value on the MDRequest message. | |
1500 | MDStreamID | N | 5.0 | Name of the pricing segment (tier). | |
55 | Symbol | N | 4.4 | Currency pair in CCY1/CCY2 format. | |
64 | SettlDate | N | 4.4 | Settlement date of instrument in YYYYMMDD format. Note EBS will not validate this date; the date on the corresponding Market Data Request will prevail. | |
541 | MaturityDate | N | 4.4 | For NDF instruments, represents the fixing date of the instrument in YYYYMMDD format. | |
MDFullGrp | |||||
268 | NoMDEntries | Y | 4.4 | Number of entries in the MarketData message. Must be ≥ 1 | |
→ | 269 | MDEntryType | Y | 5.0 | 0 = Bid 1 = Offer J = Empty Book - Indicates no bids or offers. |
→ | 270 | MDEntryPx | C | 4.4 | Price of the market data entry. Must be > 0 |
→ | 271 | MDEntrySize | C | 4.4 | LP's quantity available at this price. Must be > 0 |
→ | 299 | QuoteEntryID | N | 4.4 | Unique identifier of a Market Data quote. Maximum of 20 characters supported. Should only be sent if Maker require EBS to use Previously Quoted orders (as opposed to limit orders) in which case this tag is mandatory. |
END - MDFullGrp | |||||
Market Data Request Reject (35=Y)
This message may be sent by a Maker to reject a Market Data Request or to indicate that market data will no longer be available on the current subscription.
A MarketDataRequestReject message may be sent by the Maker at the end of rollover to force the EBS system to re-issure a new Market Data subscription.
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 – Duplicate MDReqID 2 – Insufficient Bandwidth 3 – Insufficient Permissions 4 – Unsupported SubscriptionRequestType 5 – Unsupported MarketDepth 6 – Unsupported MDUpdateType 8 – Unsupported MDEntryType x – Market Data Unavailable (Custom) y – Trade Date rollover (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 | |
|---|---|---|---|---|---|
11 | ClOrdID | Y | 4.4 | A unique identifier for the order assigned by the EBS. | |
1 | Account | Y | 4.4 | Client account at the Maker where this transaction will settle. | |
55 | Symbol | Y | 4.4 | Currency pair to be traded, in CCY1/CCY2 format. | |
167 | SecurityType | N | 4.4 | Valid Values: FXSPOT | |
63 | SettlType | N | 4.4 | Instrument tenor. | |
64 | SettlDate | Y | 4.4 | Settlement date of the instrument (value date). | |
541 | MaturityDate | N | 4.4 | Supplied for NDF instruments only. Represents the fixing date of the instrument in YYYYMMDD format. | |
54 | Side | Y | 4.4 | Trading intention from Taker perspective. 1 = Taker Buys 2 = Taker Sells | |
40 | OrdType | Y | 4.4 | Type of order: 2 = Limit D = Previously Quoted (targeted to a specific Quote) QuoteID must be provided. | |
59 | TimeInForce | N | 5.0 | Specifies how long the order will remain in effect. Not currently supplied but may be in the future. | |
1070 | |||||
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.