Development Considerations

Development Considerations include:

FIX Version

This specification is based upon FIX 4.4 but includes some elements of FIX 5.0SP2 which has a richer set of tags to support FX Trading. A ready customised FIX Data Dictionary is available to download.

Where fields contain custom fields or elements of later versions of the FIX protocol these have been highlighted.

EBS Client API Version

In EBS Direct 1.0 clients provided an DefaultCstmApplVerID field on the Logon message to indicate the version of the EBS Client API Specification which is in effect for this session. This can still be sent but is no longer required in EBS Direct 2.0 and will be ignored if provided.

General Considerations

It is best practice to observe the following:

  • Wait for a response to your Logout message before closing a connection.

  • Wait for a response to your Market Data Subscriptions before sending any Order flow.

Client Settings

For each client, the following settings will be configured. All settings are customizable per client Floor Code, please discuss with your Client Integration Manager if you have specific requirements.

Request and Order IDs

Request/Order IDs are provided by the Client on the following requests:

  • Market Data Request (MDReqID)

  • New Order Single (ClOrdID)

  • Order Cancel Request (ClOrdID)

  • Order Mass Cancel Request (ClOrdID)

  • Order Status Request (ClOrdID)

  • Test Request (TestReqID)

All Request IDs are a maximum length of 40 characters (except TestReqId) and the character set exclusions are as follows:

  • ! Exclamation Mark       decimal 33

  • " Double Quote            decimal 34

  • # Hash                          decimal 35

  • $ Dollar                         decimal 36

  • % Percentage               decimal 37

  • & Ampersand               decimal 38

  • ' Single Quote              decimal 39

  • ( Open Bracket             decimal 40

  • ) Close Bracket             decimal 41

  • * Asterisk                      decimal 42

  • , Comma                       decimal 44

  • : Colon                          decimal 58

  • = Equals Sign               decimal 61

  • [ Left Square Bracket    decimal 91

  • \ Backslash                   decimal 92

  • ] Right Square Bracket decimal 93

  • ^ Caret                         decimal 94

  • ` Accent                        decimal 95

  • ' Single Quote              decimal 96

  • ( Open Curly Bracket    decimal 123

  • | Pipe                            decimal 124

  • } Close Curly Bracket    decimal 125

  • ~ Tilda                          decimal 126

Timestamps

Timestamps will be provided to millisecond granularity.

SendingTime [52] is a standard field in the FIX header and should be populated by the FIX engine at the time the FIX message is transmitted.

Application level timestamp on select messages indicate when the business transaction represented by the message occurred. Application level timestamps will appear in TransactTime [60] in the following EBS Client API messages:

FIX Message

Description

FIX Message

Description

NewOrderSingle

Client's order timestamp.

ExecutionReport

Timestamp of the transaction represented in this ExecutionReport.

OrderCancelRequest

Client's cancel order timestamp.

OrderCancelReject

Timestamp of the OrderCancelReject creation in the EBS systems.

OrderMassCancelRequest

Client's mass cancel order timestamp.

OrderMassCancelReport

Timestamp of the OrderMassCancelReport creation in the EBS systems.

Message Rejection

There are three types of message rejections – rejections specific to the request, business level rejections and session level rejections.
A session level reject message can be sent by either side to indicate that it has received an invalid message. For example, a message missing required field will be responded to with a session level reject.
Whenever a business level rejection message is available, it will be used instead of a generic session level Reject message. Examples of requests to be rejected with a business level rejection:

  • OrderQty is less than the configured EBS minimum order size

  • Price of NOS is too far from quoted price

  • User is not authorized to transact for this Instrument type

  • Market Data subscription for an instrument which is not currently available.

Invalid Message

Rejection Message

Invalid Message

Rejection Message

Logon

Logout

NewOrderSingle

ExecutionReport (ExecType = Rejected)

Market Data Subscription Request

Market Data Request Reject




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.