For iLink order entry on the CME Globex platform, CME Group provides two gateway access models.
Convenience Gateway (CGW) - provides a connection to any CGW session, which manages routing for all order entry messages to all market segments; routing is transparent to customer.
Market Segment Gateway (MSGW) - provides a connection to a dedicated market segment, which is defined as a group of products on a given trading engine instance.
Connecting directly to MSGWs involves a separate Session ID model, messaging behavior, and functional differences from that of the CGW. |
Customers can choose to access CME Globex markets through the MSGWs or CGWs, which route through the MSGWs.
Contents
Watch this brief video for an overview of iLink architecture.
For CGW, Session ID can exist on only one CGW.
This diagram illustrates how an iLink Convenience Gateway (CGW) Session ID can exist on only one CGW.
For MSGW, Session IDs are shared across multiple MSGWs. Customers utilize a single Session ID, password, and port across all MSGWs.
Customers use their given Session ID, password, and port to connect to different MSGWs by their IP address.
Each iLink MSGW has a unique IP address for each of the primary and backup MSGWs.
Customers must manage the relationship between iLink sessions and corresponding IP addresses and market segments within their order management systems. |
The diagram below shows how Session IDs are shared across multiple MSGWs.
Sequence streams are unique per Market Segment ID and Session ID combination. For example, if session ABC has logged into Market Segment ID 50 and 60, then session ABC could receive Execution Reports from both market segments with the same message sequence number (tag 34-MsgSeqNum). |
Customers can continue access and trade on the "standard" iLink gateway, referred to as the iLink Convenience Gateway (CGW).
The CGW allows the client system to connect to any CGW session, which manages routing for all order messages.
The CGW FIFO message handling is enforced once the message reaches the MSGW. The following diagram shows the CGW model in which the example Session, AB1, exists on a single gateway.
CGW message sequencing is managed using the SessionID value as in standard iLink Session Layer - Message Sequence Numbers.
One iLink MSGW provides connectivity to a single market segment. Currently there are 17 market segments or groups of products on a given trading engine instance.
Client system messaging must identify the market segment for order entry routing. Market Segment is defined for each instrument in tag 1300-MarketSegmentID in the MDP Security Definition message. |
An SFTP site (sftpng.cmegroup.com), accessed via a CME Globex network direct connection, is used to disseminate the MSGW configuration information. The MSGW Configuration allows client systems to receive the list of all market segments and MSGW IPs. This SFTP site contains the configuration files for all environments. The SFTP site is a secure site that requires a user name and password for access.
Table Key:
Environment - specific environment (i.e., Certification, New Release, Production).
The Autocert+ tool will use the NR MSGW config file. |
Service - the Configuration service.
SFTP Site - address of SFTP site.
User Name - identifies the user name.
Password - identifies the password.
Directory Location - identifies the directory.
Client System Update Schedule - Client systems should download updates according to the schedule specified.
Environments | Service | SFTP Site | User Name | Password | Directory | Client System Update Schedule |
---|---|---|---|---|---|---|
Production | Configuration | sftpng.cmegroup.com | cmeconfig | G3t(0nnect3d | /MSGW/Production/Configuration | daily |
Certification | /MSGW/Cert/Configuration | daily | ||||
New Release Certification | /MSGW/NRCert/Configuration | daily |
In addition to the generic User Name/Password, client systems can connect using the same credential currently used for CME SFTP site. Additional information pertaining to the CME Secure SFTP site is available in CME Clearing Advisory Notice 15-105. |
MSGW FIFO Message Processing
The MSGW ensures messages are processed in the order in which they arrive at the gateway.
Packet size maximum behavior based on MTU (Maximum Transmission Unit) - 1420 bytes, as defined on our network
|
A single session is able to login to all 17 MSGW instances. To manage message sequence numbers, the customer must leverage the combination of Session ID and tag 1300-MarketSegmentID.
CME Globex is currently comprised of 17 market segments. The number of market segments and the instruments listed on each can change in the future. Customers are strongly encouraged to rely programmatically on tag 1300-MarketSegmentID in the Market Data Security Definition message to route orders to the correct MSGW.
Customers must determine how the new sequencing stream may impact order management systems on the customer side. |
CGW Session ID | MSGW Session ID | |
---|---|---|
Number of TCP connection(s) | 1 TCP connection to access all market segments | 1 to 17 TCP connections to access all market segments |
Number of sequence stream(s) | 1 sequence stream | Customers must manage 1 to 17 different sequence streams based on the combination of Session ID and Market Segment ID |
For the pre-registered administrative information, the Party Details Definition and Party Details List functionality are handled by the Order Entry Service Gateway (OESGW).
In such cases, a separate FIXP session is negotiated and established with the OESGW and can be left open and heart beating until a Party Details Definition Request or Party Details List Request needs to be made and the corresponding Party Details Definition Request Acknowledgment and Party Details List Report will be sent back from the OESGW confirming the request or a Business Reject will indicate that the request can not be honored.
The sequence stream from exchange to the customer of the FIXP session on the OESGW itself is also recoverable.
FIXP session on the OESGW needs to use its own UUID and sequence numbers. Also security validations are in place to ensure that only the entity (firm) of the FIXP session is able to create and recover Party Details Definitions belonging to it through the OESGW.
The OESGW configuration information (i.e. market segments and IPs) is added to the MSGW config file via an SFTP site (sftpng.cmegroup.com), accessed via a CME Globex network direct connection. This SFTP site contains the configuration files for all environments. The SFTP site is a secure site that requires a user name and password for access.
New Market Segment is defined for each OESGW as follow:
<marketsegment id="6" label="CME Globex Order Entry Service Gateway for all CGWs">
<marketsegment id="8" label="EBS OESGW for all CGWs">
<marketsegment id="12" label="CME Globex Order Entry Service Gateway for all MSGWs">
<marketsegment id="14" label="BTEC US Order Entry Service Gateway’">
<marketsegment id="16" label="BTEC EU Order Entry Service Gateway’">
<marketsegment id="18" label="EBS OESGW for NYC MSGW">
<marketsegment id="20" label="EBS OESGW for LON MSGW">
More details on the SFTP site is available on MSGW - SFTP Configuration.
Watch this brief video for an overview of CME Globex timestamps.
The diagram shows all timestamps for iLink and MDP 3.0 messages:
All iLink and MDP 3.0 timestamps are in nanoseconds since epoch time
Timestamp(1) on iLink and MDP 3.0 represents the time when the order reaches the Market Segment Gateway.
Timestamp(1) is included in the MDP 3.0 Trade Summary and Order Book Update messages.
A customer can compare timestamps with an aggressor’s timestamp to determine how much later the customer's order was submitted.
To provide more transparency between iLink order entry and MDP 3.0 market data, iLink supports a FIX tag 60-TransactTime on all Convenience Gateway (CGW) and Market Segment Gateway (MSGW) sessions.
This timestamp represents the time the customer iLink message was received by the Market Segment Gateway and had FIFO order handling applied. The tag provides the date and time, in nanoseconds past the UNIX epoch time (00:00:00 UTC on 1 January 1970).
CME Globex uses SolarFlare’s WODA (wire order delivery API) for this timestamp. |
Tag | Name | Binary Type | Binary Length | Required | Description |
---|---|---|---|---|---|
60 | TransactTime | uInt64 | 8 | Y | Time the transaction represented by this Execution Report (35=8) occurred. Expressed as nanoseconds since epoch time. |
Tag 60-TransactTime are on the following iLink application messages sent from CME Globex to the client system:
Execution Report: Order Creation, Cancel, or Modify (tag 35-MsgType=8, tag 39-OrdStatus=0, 4 or 5)
Execution Report: Fill Notice (tag 35-MsgType=8, tag 39-OrdStatus=1 or 2)
Execution Report: Trade Cancel (tag 35-MsgType=8, tag 39-OrdStatus=H)
Execution Report: Order Elimination (tag 35-MsgType=8, tag 39-OrdStatus=4 or C
Execution Report Order Status Request Acknowledgment (tag 35-MsgType=8, tag 150-ExecType=I)
Execution Report: Reject (tag 35-MsgType=8, tag 39-OrdStatus=8)
Order Cancel/Replace Reject (tag 35-MsgType=9, tag 434-CancelRejResponseTo=2)
Order Cancel Reject (tag 35-MsgType=9, tag 434-CancelRejResponseTo=1)
Order Mass Action Report (tag 35-MsgType = BZ)
To ensure tag 60 timestamp never reflects an out-of-sequence event, in certain cases CME Globex will increment timestamp value. These forced timestamps still accurately reflect the sequence of events on the MSGW. |
For unsolicited outbound messages where there are no iLink inbound messages, tag 60 will represent the time at which the transaction is processed on the trading engine in nanoseconds.
Scenario | Tag 60 |
---|---|
Fill Execution Reports (35=8, 39=1,2) | The time at which the aggressing order reached the MSGW in milliseconds If no aggressor (e.g., pre-open), contains the engine event time in nanoseconds. |
Stop Order Trigger Ack (35=8, 39=0, 40=2) | The time at which the original aggressing order, which initiated the fill event that triggered the stop order, reached the MSGW in milliseconds. If no aggressor (e.g., Pre-open) is present, will contain the engine event time in nanoseconds. |
FAK Elimination Acks (35=8, 39=C) | The time at which the corresponding order reached the MSGW in nanoseconds. |
Trade Bust Execution Report (35=8, 39=H) | The time of the trade bust event in nanoseconds. |
Unsolicited Mass Quote Cancel Ack (35=b, 9775=A,B,C,D,E,F,G,H) | Not present. |
Unsolicited Cancel Ack (35=8, 39=4, 378=8,100,103,104,105,106,107) | The engine event time in nanoseconds. |
End of Day Elimination Ack (35=8, 39=C) | The time of the order elimination event in nanoseconds. |
Tag 60-TransactTime contains the time when a customer iLink message reaches the MSGW, where applicable. Otherwise, tag 60 represents the trading engine event time.