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 |
---|---|
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 |
---|---|
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.