Contents
Table of Contents |
---|
System Architecture
This diagram shows the EBS Ai component integration with CME Globex Platform.
Gliffy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Connectivity
New Release Connectivity
All EBS Ai client systems must establish connectivity to the CME Globex New Release environments to enable testing. See the EBS environments overview for details about accessing the test environments.
- EBS Ai is physically located in the Chicago data center
- No EBS Customer Lab instance
- Accessible over CMEG Cert Data Center and CMEG Cert VPN
Not accessible over EBS VPN or EBS STunnel
Service | Cert Data Center | Cert VPN(Internet) | Legacy EBS Lab |
---|---|---|---|
EBS Ai |
Production Connectivity
EBS Production Connectivity Options reflects connectivity product descriptions, availability, setup, and more for each production connectivity option.
- EBS Ai is physically located in the CME Group primary data centers in New York, London, and Tokyo
- EBS Ai is accessible over production CME Group network connections as follows:
Service | GLink New York | GLink London | GLink Tokyo | CME Globex Hubs | NEX CDN | LNET | EConnect |
---|---|---|---|---|---|---|---|
EBS Ai |
Info |
---|
For Disaster Recovery, Tokyo customers will connect to London EBS Ai, New York customers will connect to London EBS Ai, and London customers will connect to New York EBS Ai. |
Summary of Functional Changes from Legacy Ai to EBS Markets Ai
This table table summarizes the differences across Legacy Ai and EBS Ai.
Legacy Ai | EBS Ai | |
---|---|---|
Protocol |
|
|
EBS Venue Support |
|
|
Authentication |
|
|
Market Data Support |
|
|
Order Support |
|
|
Trade Support |
|
|
EBS Ai Version Compatibility
EBS Ai will support version 1.6 and above: (i.e. v1.6 - v2.0.5)
A client logging in with a version different from what is stated above will result in a protocol violation and the client will be disconnected.
InstrumentsThe following instruments will be supported by EBS Ai:
- FX Spot
- Central Limit Order Book
- eFix
- Non-Deliverable Forward(NDF)
- Rolling-date NDFs
- Fixed-date NDFs
Market Segments
The following Market Segments will be support by EBS Ai:
- Standard
- Fixing (eFix)
The following Market Segments will NOT be available:
- Fixing Offset
Swap Offset
Functionality Overview
EBS Ai functionality supports the following functional areas:
- Logon – Session and Application logon, change password, Session and Application logoff
- Trading and Market Data – subscribe, unsubscribe
- Orders – order submit, order amend, order interrupt, interrupt all, execution report
- Deals – trade capture, trade capture request
- Session – trade date change, value date change, system up/down, credit low/exhausted, etc.
New and Modified Functionality
Existing EBS customers leveraging EBS Ai to trade EBS Market and eFix Matching Service products on CME Globex must be aware of the changes in functionality described below.
AuthenticationTo send logon request to EBS Ai:
- The EBS Ai user connects using FIX ASCII over TCP connection
- After establishing a network connection, user sends two logon messages:
- FIX session logon message (tag 35-MsgType=A) to EBS Ai
- Application logon request message (tag 35-MsgType=BE) with username and password to begin a new Trading Session
- Current usernames cannot be used, as they are not unique across Globex Firm IDs (GFIDs)
- New unique usernames have been issued to customers
Passwords
To align with CME Globex logon, EBS Ai does not support password change as part of the logon process. If the EBS Ai client supports a periodic password change, the password must be manually changed via the CME Customer Center.
Self-Match Prevention (SMP)Legacy Ai prevents users from self-matching by "matching around" orders from the same user. EBS Ai allows a customer to prevent the matching of orders with the same Self-Match Prevention Identifier (SMP ID), within or across GFIDs.
Customers that need to avoid self-match must register their GFID and SMP ID via the Firm Administrator Dashboard (FADB). The SMP ID must then be associated to the GUS by CME Global Account Management.
- GFIDs may register for as many SMP IDs as desired
- SMP IDs may be shared across GFIDs only if the GFIDs are part of the same Institutional Group
EBS Ai customers cannot submit orders with an SMP Identifier (SMP ID). To apply SMP to EBS Ai orders, an SMP ID must be registered to the GUS in Firm Admin Dashboard. EBS Ai will then add the SMP ID to all submitted orders from that GUS before sending them to the matching engine. The matching engine will then prevent orders from trading when the SMP IDs match.
In the event of a self-match event, the arriving order will trade around any resting order(s) with the same SMP ID.
MiFID Short Code
CME Globex supports numeric short codes.
Market View
EBS Ai supports Price Depth market view.
The following market view types are no longer supported:
- Spread view
- Amount view
- Full Amount view
Price Depth View
In Price Depth view, an aggregate depth book is sequenced by price, descending for bid and ascending for Offer.
EBS Ai maintains the Aggregate Depth view with the following data blocks:
- Add - create/insert a new price (tag 279 MDUpdateAction=0)
- Change - change quantity for a price (tag 279 MDUpdateAction=1)
- Delete - remove a price (tag 279 MDUpdateAction=2)
An Aggregate book is built from a series of data blocks which indicate whether an entry is to be inserted (Add), changed (Change), or removed (Delete). All data blocks are issued for a specified entry type (tag 269), and price (tag 270). The incremental instruction approach assumes the use of the EBS Ai Market Data Incremental Refresh (tag 35-MsgType = X) message.
When a new price level is added to the order book, and followed by updates to delete an existing price level and add a new price level:
- MDUpdateAction to add the entry (tag 279 = 0) will be published in one 35=X message
- MDUpdatesAction to delete the entry (tag 279 = 2) and add the new entry (279=0) will be published in a separate 35=X message
Price Depth View Example
The example in this topic shows the update performed on an existing Price Depth book when a new price level is added to the order book, and followed by an update message to delete the existing price.
Starting book: 5-Deep - Best Bid/Offer
Bid | Offer | ||
---|---|---|---|
Quantity | Price | Price | Quantity |
1M | 76.02 | 76.05 | 1M |
78.71 | 1M | ||
78.72 | 1M | ||
78.84 | 1M | ||
78.85 | 1M |
The first 35=X Data Block:
- Add 1M Offer @ 76.04
Tag Number | Tag Name | Value | Description |
---|---|---|---|
279 | MDUpdateAction | 0 | New |
269 | MDEntryType | 1 | Offer |
55 | Symbol | NZD/JPY | Currency Pair |
461 | CFI Code | RCSXXX | FX Spot |
63 | SettlType | 0 | Regular Spot Settlement |
1300 | MarketSegmentID | Standard | Identifies the type of order book in which the instrument is traded. |
270 | MDEntryPx | 76.04 | Price |
271 | MDEntrySize | 1M | Quantity |
Updated book:
Bid | Offer | ||
---|---|---|---|
Quantity | Price | Price | Quantity |
1M | 76.02 | 76.04 | 1M |
76.05 | 1M | ||
78.71 | 1M | ||
78.72 | 1M | ||
78.84 | 1M |
Info |
---|
An update message is not sent to delete the existing 1M Offer @ 78.85 that has exceeded the 5-Deep book. |
The second 35=X Data Block:
- Delete 1M Offer @ 76.05
Tag Number | Tag Name | Value | Description |
---|---|---|---|
279 | MDUpdateAction | 2 | Delete |
269 | MDEntryType | 1 | Offer |
55 | Symbol | NZD/JPY | Currency Pair |
461 | CFI Code | RCSXXX | FX Spot |
63 | SettlType | 0 | Regular Spot Settlement |
1300 | MarketSegmentID | Standard | Identifies the type of order book in which the instrument is traded |
270 | MDEntryPx | 76.05 | Price |
271 | MDEntrySize | 1M | Quantity |
- Add 1M Offer @ 78.85
Tag Number | Tag Name | Value | Description |
---|---|---|---|
279 | MDUpdateAction | 0 | New |
269 | MDEntryType | 1 | Offer |
55 | Symbol | NZD/JPY | Currency Pair |
461 | CFI Code | RCSXXX | FX Spot |
63 | SettlType | 0 | Regular Spot Settlement |
1300 | MarketSegmentID | Standard | Identifies the type of order book in which the instrument is traded |
270 | MDEntryPx | 78.85 | Price |
271 | MDEntrySize | 1M | Quantity |
Updated Book:
Bid | Offer | ||
---|---|---|---|
Quantity | Price | Price | Quantity |
1M | 76.02 | 76.04 | 1M |
78.71 | 1M | ||
78.72 | 1M | ||
78.84 | 1M | ||
78.85 | 1M |
Market by Price Depth
EBS Ai does not allow the user to specify the number of price levels. Client systems must determine the maximum number of levels for each instrument from tag 20100-PriceDepth in the logon response message.
The Subscribe message sent by the Client will be rejected if tag 264-MarketDepth does not equal '0' or the price depth sent in logon response.
Market Data and Trading SubscriptionWhen the EBS Ai client sends Market Data Subscription Request for the specific instruments,
- For a trade only subscription request, the EBS Ai’s response to each successful request is a Market Data – Snapshot/Full Refresh (W), devoid of initial bid and offer values.
- For a request to trade and subscribe to market views, the EBS Ai’s response to each successful request is composed of two message types:
- Market Data – Snapshot/Full Refresh (W) message, containing the full set of market data
- Market Data – Incremental Refresh (X) messages, sent whenever there is a change to the market data
Market Data – Incremental Refresh
This table summarizes the Market Data-Incremental Refresh message differences across Legacy Ai and EBS Ai.
Legacy Ai | New EBS Ai | |
---|---|---|
Market Data Subscribe Response | When a client is subscribed for multiple instruments in a single Subscription Request, Incremental Refresh messages will be sent after all Snapshot/Full Refresh messages are sent for subscribed instruments. | When a client is subscribed for multiple instruments in a single Subscription Request, EBS Ai may interleave Snapshot/Full Refresh messages with Incremental Refresh messages. |
Market Data Update | The Incremental Refresh message can contain updates for multiple instruments in a single message. | Each Incremental Refresh message contains a single instrument update and not batch multiple instruments together. |
MDEntries (tag 269) | MDEntries are published for Bid/Offer, EBS Best offer/EBS Best Bid, and Trade (Paid/Given) in a single 35=X message. | MDEntries are published as follows:
|
MDLastIncrementalRefresh (tag 20203) | Send tag 20203=1 to indicate the last Incremental Refresh message specific to the instrument(s) contained in each client subscription. | Send tag 20203= 1 to indicate the last Incremental Refresh message for any updates that happened on the market for overall subscribed instruments (i.e. client can send multiple subscription requests for different instruments each time). |
MDLastIncrementalRefresh (tag 20203)
EBS Ai will also notify the client whether or not this market data update message is the last in the corresponding time-slice by means of custom tag 20203-MDLastIncrementalRefresh.
Legacy Ai currently sends tag 20203=1 to indicate the last Incremental Refresh message specific to the instrument(s) for each Subscription Request.
EBS Ai will send tag 20203=1 to indicate the last Incremental Refresh message for any updates that happened on the market for overall subscribed scope as follows:
- Singe subscription request with multiple instruments
- Multiple subscription requests with one instrument each
Info |
---|
EBS Ai clients that expect tag 20203 to be set on a per-subscription basis within a publication interval should process each 35=X incremental update message independently, trimming the associated books and performing other per-instrument processing as appropriate. |
Single Subscription Request with Multiple Instruments
Gliffy | ||||||
---|---|---|---|---|---|---|
|
3 Subscription Requests with 1 Instrument in Each
Gliffy | ||||||
---|---|---|---|---|---|---|
|
Order Price Validation
Legacy Ai provided additional, optional price validations that could be requested by the user as part of the logon process. These additional validations are deprecated.
Order Amend Request RejectEBS Ai will emulate Legacy Ai behavior and cancel the order if an Order Amend Request is rejected.
Application Logon
The Logon process allows the client to configure certain parameters that will be in effect for the duration of the session. The client will receive a response indicating a successful Logon, a response indicating an existing session needs to be cancelled, or a response indicating the password has expired, or a logon failure message.
The Logon Response sent by EBS Ai before the market opens on Sunday startup will reflect the Monday as Trade Date, and the Settlement Date reflect a Monday trade date.
For instance, a T+2 trade will have the following dates before the market opens on Sunday:
- TradeDate (Tag 75): Monday
- SettlDate (Tag 64): Wednesday
Trading Session List
The Trading Session List immediately following a successful Logon Response will be sent only to clients who requested the Fixing information in the Logon Request and are enabled for Fix orders. This message is not sent for “Standard” sessions.
TradSesOpenTime will no longer accurately depict the eFix schedules. The following placeholder times will be sent:
- On Sundays, the tag 342-TradSesOpenTime value will be set to 17:00 GMT across all products.
- On weekdays:
- If the Fixing Time doesn't coincide with 17:00 ET or 18:00 ET, then the tag 342-TradSesOpenTime value will be set to 17:00 ET (expressed in "GMT").
- If the Fixing Time coincides with 17:00 ET or 18:00 ET, then the tag 342-TradSesOpenTime value will be set to 19:00 ET (expressed in "GMT").
As of May 15, 2022, the accurate eFix schedule will be found on the CME Group Trading Hours page.
Application Logoff
Upon an Application Logoff, the EBS Ai will cancel all working orders without sending cancel acknowledgments.
Legacy Ai | New EBS Ai |
---|---|
|
|
Trading Session Status
EBS Ai sends Trading Session Status (35-MsgTyp=h, 340-TradSesStatus=2 or 3) message to notify EBS Ai clients of eFix Open or Close state of the trading session.
- eFix Instruments are grouped together to create Trading Session ID
- Trading Session Status messages are sent at the Trading Session ID level
In the unlikely event of a CME Group component failure or unscheduled market close of an eFix instrument, EBS Ai will send a single “Closed” Trading Session Status message for all eFix instruments within the same Trading Session ID. As a result, the market can appear closed on EBS AI on some eFix instruments even though they are open.
For example, If eFix USD/CAD WM 1600 London is paused, a single “Closed” Trading Session Status message will be sent for all three eFix instruments in the trading session ID 8 even though eFix EUR/NOK WM 1600 London and eFix NZD are open.
Tag 1300-Market SegmentID | Tag 336-TradingSessionID | Tag 1326 -Trading SessionDesc | eFix Instruments |
---|---|---|---|
Fixing | 8 | WM 16:00 Europe/London | eFix USD/CAD WM 1600 London |
eFix EUR/NOK WM 1600 London | |||
eFix NZD/USD WM 1600 London |
Trade Query
EBS Ai does not support retransmission of messages. To ensure no trades are lost during session interruption, EBS Ai provides the Deal Query feature.
- Deal Query can be used to request information about deals executed within the most recent week by OrderID or ClOrdID.
- Queries can be performed based on ClOrdID or OrderID.
Deal Query allows the EBS Ai client to retrieve the status and details of deals associated with the orders on CME Globex.
To use Deal Query, the Ai client application must retain one of the IDs associated with the order; ClOrdID or OrderID.
EBS Ai supports Deal Query with the Trade Capture Report Request, Trade Capture Report Request Ack, and Trade Capture Report FIX messages.
The Trade Capture Report message contains information for the associated deals based on selected criteria (requested by unique customer Reference ID or Globex order ID) within a week.
For a specific order that resulted in multiple deals, a successful Deal Query returns a Trade Capture Report Request message containing all deal information related to that order.
If there is no result for a valid Deal Query, a Trade Capture Report Request Ack message returns with the total number of Trade Reports set to zero.
Deal Queries are limited to retrieving deals for the current week. Attempts to retrieve earlier deals will result in a Report Ack message with a Warning message indicating the deals were out of the time range.
EBS Ai rejects Trade Capture Report Requests submitted without qualifiers, more than one qualifier, with incorrectly formatted references, or with invalid deal or order IDs.
Counterparty Trader ID
Counterparty Trader ID will no longer be provided via EBS Ai. The tag 448-PartyID value will be set to 'GUS' for Counterparty Trader ID (tag 452-PartyRole = 37).
Deprecated Ai Functionality
The following table includes deprecated Ai functionality:
Functionality | Notes |
---|---|
Auto cancel duplicate session | These features will be ignored if specified at the application logon. |
Large difference check | |
Price check | |
Wide spread check | |
Order throughput | |
Deal code specification | |
Allow Attempted Fill Or Kill (AFOK) info | |
Allow Prime Customer (PC) gross credit events | |
Allow Prime Customer (PC) netted credit events | |
Hide-my-prices | |
Allow mid price | |
Allow fix points info | |
Allow NDF swap info | |
Allow execution region info | |
Alternative deal code | |
QDM platform access | |
NDF Swaps | |
NDF Swap reference rate | |
Credit event notification | |
Iceberg randomized quantity | |
Iceberg randomized replenishment time | |
Price discretion - Mid PD | |
eFix - residual auction | |
AI XML protocol support | |
Credit events via AI | |
Trader ID-level self match prevention | |
PD min quantity | |
Password change via AI Protocol | |
Market by price depth on MD subscription | |
Multi-order amendment by non-unique client order ID | |
Session recovery | If messages are received out of sequence by the client, it is recommended that the client discontinue the session and contact the Global Command Center (GCC) to investigate the missing message(s). |
Entitlements enforcement | CME Globex will enforce EBS Ai entitlements for:
EBS Ai will use product entitlements to filter Security Definitions. |
User disablement / session kill switch | CME Globex implement EBS Ai user controls |
Market status and associated controls | CME Globex will enforce Market State and other Market Integrity Controls. |
Message-Level Changes
In the EBS Ai release, there will be changes to certain supporting FIX message layouts.
The following sections contain the tag-level client system messaging impacts that must be accommodated to integrate to the EBS Ai on CME Globex for Trading and Market Data.
Message | FIX Tag | Enhancement | ||
---|---|---|---|---|
tag 56-TargetCompID | The value sent in tag 56 will be returned in the tag 49-SenderCompID of the response. | |||
tag 553-Username | Each EBS AI instance will only support a single trader, not multiple traders. | |||
tag 5977-UserDataName | EBS Ai will only support the following parameters:
EBS Ai will not support the following parameters:
| |||
EBS Ai Application Logon Response - Success | tag 5977-UserDataName | EBS Ai will only support the following parameters:
EBS Ai will not support the following parameters:
| ||
tag 12008-SettlType2 | These tags will be deprecated and will not be present on EBS Ai outbound messages. | |||
tag 12013-MaturityDate2 | ||||
tag 20101-NoSpreads tag 20103-SpreadPriceOffset | ||||
tag 20102-NoAmounts tag 20104-CumulativeAmount | ||||
tag 20113-NoFullAmounts tag 20114-FullAmount | ||||
tag 336-TradinSessionID | EBS Ai will set tag value to 1 for “Standard” session. | |||
tag 20105-PriceDepthRange | EBS Ai will not support this parameter and will set tag value to 999999. | |||
tag 1300-MarketSegmentID | Valid values are: “Fixing” EBS Ai will not support "FixingOffset” and “SwapOffset” | |||
tag 9001-NestedUserDataName | EBS Ai will support the following parameters:
EBS Ai will not support the following parameters:
| |||
tag 1300-MarketSegmentID | Valid values are: “Fixing” EBS Ai will not support "FixingOffset” and “SwapOffset” | |||
If the EBS Ai Client fails to send a Heartbeat message, and no other message from the EBS Ai Client was received by the EBS Ai for a period of 3 seconds, the EBS declares the connection stale, interrupts all EBS Ai Client’s active orders, and the EBS Ai terminates the session and disconnects the EBS Ai Client. The EBS Ai will not continue to wait for Heartbeats for another 3 seconds , after the connection is declared stale | ||||
tag 1021-MDBooktype | Valid values is: 2 – Price Depth View EBS Ai will not support:
| |||
tag 20201-MDMarketDepthFromLevel tag 20202-MDMarketDepthToLevel tag 12008-SettlType2 | EBS Ai will not support these tags. | |||
tag 1300-MarketSegmentID | Valid values are: “Fixing” EBS Ai will not support "FixingOffset” and “SwapOffset” | |||
tag 12008-SettlType2 | This tag will be deprecated and will not be present on Snapshot Full Refresh messages. | |||
tag 1300-MarketSegmentID | Valid values are: “Fixing” EBS Ai will not support "FixingOffset” and “SwapOffset” | |||
EBS Ai Market Data Snapshot Full Refresh - Trade and Market | tag 276-Quote condition tag 277-Trade condition | Valid value is 1000 - No market sctivity EBS Ai will not support 1001 - No data available | ||
tag 269-MDEntryType | Valid values:
EBS Ai will not support:
| |||
tag 1021-MDBooktype | Valid values is: 2 – Price Depth View EBS Ai will not support:
| |||
tag 1300-MarketSegmentID | Valid values are: “Fixing” EBS Ai will not support "FixingOffset” and “SwapOffset” | |||
EBS Ai Market Data Incremental Refresh | tag 1021-MDBooktype | Valid values is: 2 – Price Depth View EBS Ai will not support:
| ||
tag 20203-MDLastIncrementalRefresh | ||||
tag 269-MDEntryType | Valid values are:
EBS Ai will not support:
| |||
tag 1300-MarketSegmentID | Valid values are: “Fixing” EBS Ai will not support "FixingOffset” and “SwapOffset” | |||
tag 276-QuoteCondition | Valid values is 1000 - No market activity EBS Ai will not support 1001=No data available | |||
tag 12008-SettlType2 | This tag will be deprecated and will not be present on Incremental Refresh messages. | |||
tag 461-CFICode | Valid values are:
EBS Ai will not support FFCNNW = NDF Swap (NDS) | |||
tag 1300-MarketSegmentID | Valid values are: “Fixing” EBS Ai will not support "FixingOffset” and “SwapOffset” | |||
tag 1084-DisplayMethod tag 12008-SettlType2 tag 12014-Points tag 20112-IcebergHigh tag 20405-ExecRegion | EBS Ai will not support these tags. | |||
EBS Ai Order Submit Response | tag 1084-DisplayMethod | EBS Ai does not support random replenishment quantity on iceberg orders. Always set value to 1 on Order Submit Response | ||
tag 20112-IcebergHigh RandomTime | EBS Ai will not support this tag. | |||
tag 31-LastPx tag 32-LastQty | These tags are not required when ExecType=F and OrdStatus=2. | |||
EBS Ai Order Amend Request | tag 12008-SettlType2 tag 12014-Points | EBS Ai will not support these tags. | ||
tag 12008-SettlType2 tag 12014-Points | EBS Ai will not support these tags. | |||
EBS Ai Trading Session Status and Date Updates | tag 193-SettlDate2 tag 12008-SettlType2 tag 12013-MaturityDate2 | These tags will be deprecated and will not be present on Trading Session Status messages. | ||
tag 340-TradSesStatus | Valid values are:
EBS Ai will not support the following values:
| |||
EBS Ai Trade Capture Report | Tag 423-PriceType | Valid values are: 101 - Fixed Rate 102 - Waiting for fixing EBS Ai will not support: 100 - Reference Rate 103 - Fixed price | ||
Tag 573-MatchStatus | Valid Values are: 0 = Done 2 = Confirmed X = Fixed Z = Pending, awaiting conclusion EBS Ai will not support 1 = Unverified Z = Unknown | |||
tag12015 | tag12015 = always the same as the Fixing rate. | |||
tag 12016 tag 193 tag 1200 tag 12013 tag 9995 | Deprecated |
EBS Ai Messaging Inbound/Outbound
FIX Messages | ||||
---|---|---|---|---|
EBS Ai Request | FIX Msg | EBS Ai Response | FIX Msg | |
Logon | FIX Session Logon Request | A | FIX Session Logon Response | A |
Logon Request | BE | Logon Response | BF | |
Trading Session List | BJ | |||
Application Logoff Request | BE | Logoff Response | BF | |
Market Data | Trading Subscribe Market Data Subscribe | V | Subscribe Response (snapshot/full refresh) | W |
Subscription Rejection | Y | |||
N/A | Incremental updates (following the initial subscription) | X | ||
Market Data Unsubscribe request (no response needed) | V | N/A | ||
Orders | Order Submit request | D | Execution Report | 8 |
N/A | Execution report (generated by changes to Order Status) | 8 | ||
Order Amend | G | Execution Report (with status) | 8 | |
Order Cancel/Replace Reject | 9 | |||
Order Interrupt | F | Execution Report (with status) | 8 | |
Order Cancel Reject | 9 | |||
Interrupt All | q | Execution Report (with status) | 8 | |
Trades | N/A | Trade Capture Report (generated by the execution of a trade) | AE | |
Trade Capture request (query) | AD | Trade Capture report | AE | |
Request Failed | AR | |||
Session | N/A | Session Message (initiated by session events) | h |