To support the integration of BrokerTec markets with CME Group technology, subject to applicable regulatory approvals, transactions executed on CME Globex, BrokerTec Direct, and registered external deals will be available for consumption on CME STP in both FIX and FIXML formats.
CME STP will support a variety of fixed income transactions, including cash transactions on bonds as well as repurchase transactions (repos) on bonds. These include:
- CME Globex matched:
- US Treasury (UST) Actives
- US Repos
- EU Repos
- European Government Bonds (EGBs)
Customers may entitle vendors to access their data, which will be controlled through entitlement and account configuration.
CME STP will continue to support existing CME Group products and CME Bilateral and Cleared Elsewhere products. See current specifications.
- CME STP supports implied and non-implied Curve Ratio (RV) Spreads for US Treasury Actives, reflected in MLegRptTyp=2 (leg of spread) messages.
- MLegRptTyp=3 (spread) messages are only reflected on non-implied Curve Ratio(RV) spreads messages.
Contents
Revision History
Date | Description |
---|---|
6/21/2022 | Updated tag 64 description. |
2/2/2021 | Added Production Service Availability section |
2/3/2021 | CollateralReport - Missing value 8=Replace added to tag 20012-CollateralReportTransactionType Trade Capture Report – tags 99400, 719, 99401 added for Exercise and Assignment Trades. Not applicable to BrokerTec. |
11/3/2020 | Simplified & added clarity to connectivity section. |
11/3/2020 | Added Internet IP. |
10/23/2020 | Added information on x-cme-token size limit |
10/20/2020 | Updated IP information for BrokerTec legacy line connectivity |
10/13/2020 | Added tag 30-LastMkt for TradeCaptureReport(AE) and Collateral Report(BA) |
10/11/2020 | CME STP FIX - TradeCaptureReportRequest for BrokerTec Trades Added note for Tag 779-LastUpdateTime timestamp value |
10/9/2020 | CME STP API Connectivity |
9/30/2020 | CME STP - FIXML CollateralReport for BrokerTec Trades reinstated 20016 MaximumCollateralCount |
9/1/2020 | CME STP - FIXML CollateralReport for BrokerTec Trades removed 20016 MaximumCollateralCount |
8/14/2020 | |
6/12/2020 | Removed note - Trade cancels and adjusts will be addressed in future iterations of this documentation |
5/22/2020 | Updated party block use cases |
1/29/2020 | In Subscription Parameters, removed the following:
|
1/29/2020 | Removed reference to TBA |
Key Events and Dates
For key events and dates please see the BrokerTec Integration time table.
Onboarding
Contact CME Group to get started with CME STP.
Testing and Certification
Certification using Autocert+ is required for all STP users.
Production Service Availability
CME STP service is available in PRODUCTION beginning 2 PM Central Time Sunday Afternoon, through 10 PM Central Time Friday. Internal testing could occur on weekends in the Production Environment (10 PM Friday – 2 PM Sunday Central Time).
Customers should only connect during the time of service availability.
Client System Impacts and Supporting Information
CME STP API Connectivity
Customers can connect to CME STP FIXML API via the following options:
New Release Connectivity (Internet Only)
To access CME STP API over the internet, customers must connect to the following URLs via HTTPS: https://servicesnr.cmegroup.com/cmestp/query
Production Connectivity
Clients must create a Domain Name Service (DNS) record in their systems to associate the DNS name and following IPs to access the STP services or they will receive certificate errors:
Connectivity Option | DNS Name | IP |
---|---|---|
Internet access | https://services.cmegroup.com/cmestp/query | 205.209.196.29 |
CME Glink, CME EConnect, CME LNet, CME Globex Hubs for Futures and Options | https://services.cmegroup.com/cmestp/query | 167.204.41.29 |
CME GLink, CME EConnect, CME Globex Hubs, CME Globex Hub – Aurora and CME LNet for BrokerTec on CME Globex | https://services.cmegroup.com/cmestp/query | 167.204.72.29 |
CDN Leased lines and Site to Site VPN | https://services.cmegroup.com/cmestp/query | 167.204.72.29 |
Disaster Recovery Considerations
During a disaster recovery (DR) event clients will automatically be directed to the DR instance of CME STP. Clients do not need to make any connectivity changes.
Please find CME Group connectivity options here.
Technology
CME STP is built upon Representation State Transfer (REST) web service technology. In this methodology, HTTP URLs and methods (such as GET, POST, etc.), parameters, and statuses are used to model the remote procedure call behavior.
The API utilizes the industry standard FIXML format with custom CME extensions.
Mode of Connectivity
- Interaction with the API is session-less.
- Provide a username and password on each HTTP request and CME STP authenticates it.
- CME STP sends a token in response to valid subscription requests and valid query requests where the response requires multiple pages.
- Continue the subscription or request the next page of the query by sending CME STP this token on subsequent requests.
- Both customers and CME STP will use the
x-cme-token
custom HTTP Request Header to transmit this token. - Authentication is required in the header of the HTTP request and should be in format of “username:password” converted to base 64.
Subscriptions and Queries
Subscriptions
Users requiring a continuous record of all trading activity may continue a subscription from one business day to the next. The user ceases sending HTTP requests and, on the next business day, continues the subscription with an HTTP request using the last token received on the previous day. This method ensures that the API will send the user any trading activity that occurred during the time period that the user made no HTTP requests. BrokerTec exchanges, security types, and input sources will be supported on the subscription.
Alternately, users may begin a new subscription each day, specifying a Start Time encompassing any time the user did not send HTTP requests following the end of the prior business day's subscription. Users should exercise caution with this method to ensure they do not miss trading activity by sending too narrow a time window, and that they do not process duplicate trades should the window overlap trades already received on the prior business day.
If the user begins a new subscription and does not send a Start Time, the subscription will begin at the present time and include no past trading activity. This method may result in missed trades should any trading occur after the user ceased sending HTTP requests on the prior business day and before the user initiated the new subscription.
Entitlement will not be available for instrument attributes and that customers may use the existing instrument attributes for filtering or filter on the client side.
Data Retrieval
CME STP supports data retrieval using subscriptions and queries:
- Queries return trade messages only up to the date and time that the query request was received by the API.
- Subscriptions continue to send trade messages to the user on an ongoing basis; there is no end date time.
Cash trades will be available from CME STP for 31 calendar days, based on the trade date. Repo trades and collateral allocations will be available from CME STP for 31 calendar days or the term of trade plus 7 calendar days, whichever is greater.
If a trade is corrected during this cycle, that trade will reflect the most recent information with a new transaction date and time.
Continuing a Subscription or Query
When responding to a successful Subscription Request, the API sends a token to the user so that the user may continue the subscription.
When responding to a successful Query Request, the API sends a token if the results of the query are incomplete (for example, more data is available).
- Upon receiving a successful response, submit a new Subscription request no sooner than three seconds later, which requires making another HTTP call that contains the token.
- For a Query, the user may make another HTTP call containing the token immediately
CME STP will only accept a subscription or query request without a token if it is a new subscription or query; all continuations of existing subscriptions or queries must include a token.
API Input | API Output |
---|---|
Subscription / Query Request: FIXML Trade Capture Report Request | Successful Subscription / Query Response: FIXML Trade Capture Report Successful Subscription / Query Response: FIXML Collateral Report |
Subscription / Query Error Response: FIXML Trade Capture Report Request Ack |
Tokens
API input messages continuing prior Subscription or Query Requests must send the token in the custom x-cme-token
HTTP header. API output messages will contain the token in the x-cme-token
HTTP header.
Each successful response from the API may return a different token. The user must send that new token in the next continued Subscription or Query Request.
Identifiers and Modes
The user must supply a unique identifier with each query in /FIXML/TrdCaptRptReq/@ReqID
which the API will echo back in /FIXML/Batch/TrdCaptRpt/@ReqID
for successful requests, and in /FIXML/TrdCaptRptReqAck/@ReqID
in case of errors. This enables the user to match the request with the resulting messages. When continuing a Subscription or a Request, the user may reuse the original @ReqID
or may send a new identifier. The API will respond with with the @ReqID
sent on the request.
The user must indicate in /FIXML/TrdCaptRptReq/@SubReqTyp
whether the message is a Subscription or a Query. The user must also indicate via /FIXML/TrdCaptRptReq/@ReqTyp
whether this is a new Subscription or Query, or a continuation of a prior Subscription or Query.
Subscription and Query Parameters
Use ONLY the following parameters to filter the query and / or subscription results. Omitting, changing, or adding filter criteria may cause undesired results. Every continuation of a Subscription or Query must contain all of the filter criteria of the original subscription or query. Times below, e.g. Start Time and End Time, use the XML xs:dateTime
syntax in ISO 8601 format. Time should be entered in UTC Timestamp format.
The following field indicates whether updates or collateral should be returned in request queries:
- IncludeCollateralIndicator (CollInd) - Can be set to No to prevent receipt of Collateral records.
Parameter | Usage / Description | Notes | |
---|---|---|---|
Party ID and Role (e.g. Trading Firm, Asset Manager, Broker) | Required / Multiple Parties allowed, and each Party ID must be in a separate Pty element. |
|
|
Trade Date | Optional | /FIXML/TrdCaptRptReq/TrdCapDt/@TrdDt | |
Clearing Business Date | Optional | /FIXML/TrdCaptRptReq/@BizDt | |
Venue (Input Source) | Optional | /FIXML/TrdCaptRptReq/@InptSrc | Values for BrokerTec:
|
Product | Optional | /FIXML/TrdCaptRptReq/Instrmt/@ID | |
Product Type (e.g. FUT, OPT) | Optional | /FIXML/TrdCaptRptReq/Instrmt/@SecTyp | Values for BrokerTec:
|
Exchange | Optional | /FIXML/TrdCaptRptReq/Instrmt/@Exch | Values for BrokerTec:
|
Symbol | Optional |
| |
Trade ID | Optional | /FIXML/TrdCaptRptReq/@TrdID | |
Secondary Trade ID | Optional | /FIXML/TrdCaptRptReq/@TrdID2 | |
Client Order ID | Optional | /FIXML/TrdCaptRptReq/@ClOrdID | |
Spread Type | Required | /FIXML/TrdCaptRptReq/@MLegRptTyp |
|
Start Time | Optional on Requests Required on Queries | /FIXML/TrdCaptRptReq/@StartTm | |
End Time | Not Allowed on Requests Optional on Queries | /FIXML/TrdCaptRptReq/@EndTm | Customers can enter an end time that is seconds before the Last Update Time (LastUpdateTm) timestamp on a revised trade (for example, a Give-up) to capture the trade in its original state. |
Include Collateral Indicator | Optional
| /FIXML/TrdCaptRptReq/@CollInd | Indicates whether collateral should be returned in request result. |
BrokerTec Transactions
Identifying BrokerTec Transactions
BrokerTec transactions will be distinguishable on the API by the Security Exchange and Security Type fields. The input source will distinguish between transactions on CME Globex, BrokerTec Direct, and externally registered deals.
General collateral (GC) repos require the post-trade allocation of specific bonds as collateral. To distinguish these collateral allocations from original trades, the API will support a new Collateral Report message.
Supporting Messages and Fields for BrokerTec Products
Collateral Allocations for General Collateral Repos
CME STP does not directly support allocating collateral for securities that support these BrokerTec General Collateral repos. This must be done through the CME GC Allocation API.
CME STP will support these allocations using the Collateral Report message.
Collateral allocation messages will be sent individually. Grouping and chaining will not be supported.
Trade and Allocation Identifiers
Existing CME Group Futures and Options trade and allocation identifiers will continue to be used.
Trade Capture Report Modifications
To harmonize BrokerTec and CME STP, the following fields and / or values will be supported:
- The Commission Group block will be used for commissions
- The Execution Timestamp will be included in the Report Side Block
A globally-unique identifier (GUID) will be included in the Secondary Trade ID field (TradeCaptureReport/@TrdID2) to guarantee a unique identifier across all business days and CME asset classes.
Fields that support futures and options trading will be present on the Trade Capture Report including: Multi-Leg Reporting Type, Trade Report Status, Venue Type, Client Order ID, and Execution ID.
General Collateral Repo Transactions
CME STP supports General Collateral (GC) repo transactions for the US and EU markets through the CME GC Allocation API with submission of collateral allocation transactions through the CME GC Allocation API.
After a GC repo trade has been completed, the Trade Capture Report and a shell Collateral Report record will be available in near real-time in STP. The Collateral Report and Trade Capture Report will have the same Secondary Trade ID (TrdID2).
Collateral Allocations are submitted using the CME GC Allocation API. Subsequent Collateral Reports will be available in near real-time in STP, and have the same TrdID2 as the Trade Capture Report and initial Collateral Report.
Identifiers for collateral allocations on the GC Allocation API will be common with STP identifiers.
Substitutions can be made for US GC transactions by submitting a Collateral Substitution using CME GC Allocation API. Subsequent Collateral Reports will be available in near real-time in STP, and have the same TrdID2 as the Trade Capture Report and initial Collateral Report.
- In STP the clearing organization is provided on the repo trades shell Collateral Report (Party Role = 21 and instrument reference) and the GC instrument is referenced on the allocations
All-or-None General Collateral Repo Trade Reconciliation
The All-or-None (AON) & None-AON Repo’s are distinct instruments with their own independent SecurityID’s & GUID’s on order entry and market data messaging.
- On MDP 3.0 a Repo AON-eligible instrument is identified in the Security Definition (tag 35-MsgType=d) message by tag
872=InstAttribValue bit 23=1 (All or None instrument). For related AON and parent instruments, the counterpart instrument is identified in the Security Definition
message repeating group tag 1650-RelatedSecurityID. - In RD API v2 for Brokertec, the attribute relatedInstrumentGuidInt at the instrument level will identify relationship between AON & none-AON instruments
In CME STP, the TradeCaptureReport for AON Repo reflects the Non-AON instrument SecurityID & GUID.
GC Repo Trade example
- A None-AON GC Repo trade was executed on Instrument 11111.
- TradeCaptureReport (AE) with SecondaryTradeID (1040) = 1234 is sent along with GC Shell (BA).
- A related AON Repo trade was executed on Instrument 99999.
- TradeCaptureReport (AE) with SecondaryTradeID (1040) = abcd reported as None-AON GC Repo instrument 11111 along with a GeneralCollateral Shell (BA)
GC API trade search (/trades/search) result will reflect both of the None-AON and AON trades while CME STP will only reflect the Non-AON instrument details.
To reconcile GC API trade records with CME STP TradeCaptureReport (AE) customers are expected to use the Related Instrument attributes for AON Repo to identify the None-AON Repo.
CME STP Message Specifications and Workflows
- CME STP FIXML - Message Specifications for BrokerTec Trades
- CME STP - Samples for BrokerTec Trades
- CME STP FIXML - Message Flows for BrokerTec Trades
Contact Information
For technical development support, contact Certification Support for Electronic Trading (CSET).
For production requests, please contact the Global Command Center (GCC).
For all other inquiries, please contact Global Account Management (GAM).