Maker API Application Layer FIX Message Definitions

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

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

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.
0 = Bid

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.
Takes precedence over SettlType.

1500

MDStreamID

N

4.4

Name of the pricing segment (tier).
Provided when multiple pricing segments are serviced on a single FIX session.

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

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
Not required if MDEntryType = EmptyBook (J).

271

MDEntrySize

C

4.4

LP's quantity available at this price. Must be > 0
Not required if MDEntryType = EmptyBook (J).

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

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:
0 – Invalid instrument identifier

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

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.
4 = Fill or Kill – Makers should default to this if not supplied.

1070

MDQuoteType

N

4.4*

Type of quote on which this trade proposal is based:
0 = Indicative (non-executable). Reserved for future use

1 = Tradeable. LP may reject NOS. (Default)

99 = Firm quote. LP must confirm trade.(Custom)
*Standard FIX field - custom on this message

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.
Defaults to base currency (CCY1).

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:
D = Proprietary

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

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
0 = New (Order accepted)

2 = Filled (Completed)

4 = Cancelled

8 = Rejected
Note, partially filled executions should be represented as ExecType=F, OrdStatus=4, LastQty>0.

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)
1 = Taker Buys

2 = Taker Sells

64

SettlDate

N

4.4

The settlement date of this trade in YYYYMMDD format.
If not provided by Maker, EBS will apply the Settlement Date of the NOS to the trade.
When provided, must match SettlDate of NOS.

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:
2 = Limit

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.