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 | MDQuoteType | N | 4.4* | Type of quote on which this trade proposal is based: 1 = Tradeable. LP may reject NOS. (Default) 99 = Firm quote. LP must confirm trade.(Custom) | |
38 | OrderQty | Y | 4.4 | Quantity of order, in units of the specified Currency. | |
15 | Currency | N | 4.4 | 3 character ISO code of the dealing currency. May be either base (CCY1) or term (CCY2) currency. | |
44 | Price | Y | 4.4 | Limit price of order. | |
117 | QuoteID | C | 4.4 | Provided for PQ orders (OrdType=D) only, to indicate the target quote. | |
60 | TransactTime | Y | 4.4 | UTC Timestamp (Date/Time) of order. | |
1028 | ManualOrderIndicator | N | 5.0 | Y = Indicates that LC order was received via a manual interface. | |
1500 | MDStreamID | N | 5.0 | Name of the pricing segment (tier) targeted by this order. Provided when multiple pricing segments are provided on a single FIX session. | |
110 | MinQty | N | 4.4 | On orders for which partial fill is supported (TIF=IOC), indicates minimum acceptable fill quantity of the order. Not used currently. | |
Parties - Identifies party involved in the NewOrderSingle. | |||||
453 | NoPartyIDs | N | 4.4 | Number of PartyID (448), PartyIDSource (447), and PartyRole (452) entries. | |
→ | 448 | PartyID | Y | 4.4 | Identifier of the party. |
→ | 447 | PartyIDSource | Y | 5.0 | Identifies the source of PartyID value. Always: |
→ | 452 | PartyRole | Y | 4.4 | 1 = Executing LC Firm (Disclosed/Non-disclosed alias) 12 = Executing LC Trader (Disclosed/Non-disclosed TraderId) |
END - Parties |
Execution Report (35=8)
An Execution Report is sent from the Maker to indicate whether a deal has been filled or rejected.
Tag | Field Name | Req | Ver | Comments | ||||
---|---|---|---|---|---|---|---|---|
37 | OrderID | Y | 4.4 | Unique identifier of the order assigned by the client. | ||||
11 | ClOrdID | Y | 4.4 | Unique identifier of the order/request as assigned by EBS. | ||||
17 | ExecID | Y | 4.4 | Unique identifier for this fill when ExecType=F [Trade]. Maximum length is 28 characters. For other ExecTypes 0 may be supplied in this field. | ||||
150 | ExecType | Y | 4.4 | Purpose of this Execution Report 0 = New (order accepted) 4 = Cancelled 8 = Rejected F = Trade (Partial or full) | ||||
39 | OrdStatus | Y | 4.4 | Status of order 2 = Filled (Completed) 4 = Cancelled 8 = Rejected | ||||
1 | Account | N | 4.4 | Trader's floor code echoed from NOS. | ||||
55 | Symbol | N | 4.4 | Currency pair in CCY1/CCY2 format. | ||||
54 | Side | Y | 4.4 | Side of the order from the Taker perspective. (Echoed from request) 2 = Taker Sells | ||||
64 | SettlDate | N | 4.4 | The settlement date of this trade in YYYYMMDD format. | ||||
541 | MaturityDate | C | 4.4 | For NDF trades only, represents the fixing date of the trade in YYYYMMDD format. Echoed from NOS, if provided, for all ExecType values. | ||||
40 | OrdType | N | 4.4 | Type of order: D = Previously Quoted (targeted to a specific Quote) Echoed from NOS if provided. | ||||
38 | OrderQty | N | 4.4 | Quantity of order, in units of the specified Currency. Echoed from NOS if provided. | ||||
15 | Currency | N | 4.4 | 3 character ISO code of the dealt Currency. (Echoed from NOS) The Size and Quantity fields of the order and trade are expressed in terms of the specified Currency. | ||||
59 | TimeInForce | N | 4.4 | Specifies how long the order will remain in effect. Echoed from NOS, if provided | ||||
44 | Price | N | 4.4 | Price submitted on the order. Echoed from NOS, if provided | ||||
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.