CPT TOF to CME STP
This topic is for users migrating from the EBS Central Post Trade (CPT) Ticket Output Feed (TOF) API to the CME STP API. CME STP supports FIX and FIXML API. Mappings apply to both APIs and provide CPT TOF equivalent fields in the CME STP that should be used with the CME STP documentation in related resources.
CME STP is the strategic solution for CME Post Trade services based on the industry standard FIX and FIXML protocol.
In line with the Post Trade API strategy and vision, CME Group will not enhance the CPT TOF API. Clients are encouraged to migrate to the CME STP API at the earliest opportunity.
CPT TOF to CME STP Mappings
FID | TOF Field Name | Description | Example TOF Value / Format | In FIX? | FIX Tag Equivalent | FIXML Attribute Name | Equivalent FIX Example Value | FIX Notes |
---|---|---|---|---|---|---|---|---|
318 | Name Space | Relevant only to NDF tickets, if configured to receive European Market Infrastructure Regulation (EMIR)/Swap Execution Facility (SEF) fields. Only OFF SEF trades are supported, which include the EBS Swiss Co Namespace. | 2138008LPQ92DIHKHY20 | N | The requirement to provide the namespace was dropped when UTI was introduced. | |||
328 | Trade Repository | Relevant only to NDF tickets, if configured to receive EMIR/SEF fields. SEF trades are no longer supported, this value is not provided. | DTCCGTR | Y | 20059-DataRepositoryID | DataRepoID | DTCCGTR | |
338 | SEF IND | Relevant only to NDF tickets, if configured to receive EMIR/SEF fields. This field contains ‘Y’ if traded ON SEF, ‘N’ if traded OFF SEF. | “Y” (or “N”)
| Y | 20058-FacilityType | FcltyTyp | MTF SEF | Part of the SideRegulatoryTradeIDGrp |
500 | SOURCE_OF_DATA | Configured value at client request | "1" or "8" | N | ||||
501 | SOURCE_REFERENCE | Incrementing value, no significance to deal, up to 5 digits. | “27224” | N | ||||
502 | DATE_OF_DEAL | Deal Initiation Date (on Fixing tickets indicates date of fixing) | “22 MAY 2023” | Y | 75-TradeDate | TrdDt | 20230522 | The trade date is the date the match occurred. CME STP does not differentiate between Date of deal and Date confirmed like TOF because these are not different times on Globex. For eFix tickets this may be different to the date the FIX is actually issued as for eFix the trade date is the date of the match and not when the fixing rate is actually published. Matches FID 505 |
503 | TIME_OF_DEAL(FIXING_DEAL_TIME) | Deal Initiation Time (on Fixing tickes indicates time of fixing) | “12:02:54” | Y | 60-TransactTime | TxnTm | 20230522-12:02:54.171 | The transaction time in FIX is always the match time. For eFix the match may occur before the fixing rate is actually issued. Matches FID 506 |
504 | DEALER_ID | GUS of Trader | “T11” | Y |
| ID R Src | T11 44 D | The Globex User Signature (GUS) appears 4 times in the TOF message. When available, all users will see their own GUS. EBS Direct Liquidity Providers do not have a GUS. Matches FIDs 507, 549 and 550 |
505 | DATE_CONFIRMED | Deal Confirmation Date (on Fixing tickets indicates the match confirmation date) | “22 MAY 2023” | Y | 75-TradeDate | TrdDt | 20230522-12:02:54.171 | The trade date is the date the match occurred. CME STP FIX does not differentiate between Date of deal and Date confirmed like TOF. For eFix tickets this may be different to the date the fix is actually issued. Matches FID 502 |
506 | TIME_CONFIRMED(MATCH_DEAL_TIME) | Deal Confirmation Time (on Fixing tickets indicates the match confirmation time) | “12:02:54” | Y | 60-TransactTime | TxnTm | 20230522-12:02:54.171 | The transaction time in FIX is always the match time. For eFix the match may be long before the FIX is actually issued. Matches FID 503 |
507 | CONFIRMED_BY_ID | GUS of Trader | “A11” | Y |
| ID R Src | T11 44 D | The GUS appears 4 times in the TOF message. All users will see their own GUS when available. EBS Direct Liquidity Providers do not have a GUS. Matches FIDs 504, 549 and 550 |
508 | BANK_1_DEALING_CODE | Counterparty GFID | “EBSA” | Y |
| ID R Src | EBSA 90 D | The GFID for the settlement counterparty |
509 | BANK_1_NAME | Counterparty Longname | “A Bank Name” | N | ||||
510 | BROKER_DEALING_CODE | Client requested configured value usually set to EBST | “EBST" | N | ||||
511 | BROKER_NAME | Always blank | “ “ | N | ||||
513 | BANK_2_NAME | Always blank | “ “ | N | ||||
514 | DEAL_TYPE | DealType | “1” (buy) | Y | 54-Side | Side | 1 or 2 | Buy/Sell indicator for Trading firm (PartyRole 7) |
515 | INSTRUMENT_TENOR | Settlement Period |
| Y | 63-SettlType | SettleTyp | 0, Mx or B | Currently FIX supports 0 for Spot, Mx indicating number of months or B (for Broken date in which the settlement date (tag 64) needs to be used to determine the date). |
517 | CURRENCY_1 | Base Currency (and Dealt Currency) | “EUR” | Y |
| Currency PxUOMCcy | EUR | With TOF the assumption was that the dealt currency and base currency were always the same. For Globex and EBS Direct that is true today, CME STP defines the dealt currency in tag 15. Tags 1716 and 1717 both define the base currency; for metals 1716 is not populated. Currently tags 15, 1716 and 1717 will have the same value (unless it is a metal trade when 1716 is not populated). If term currency is supported in the future tag 15 would equal 10026. |
518 | CURRENCY_2 | Terms Currency | “GBP” | Y | 10026-PriceQuoteCurrency | PxQteCcy | GBP | 10026 represents the term currency of the currency pair. |
519 | DEAL_VOLUME_CURRENCY_1 | Quantity of dealt currency | “20000000” | Y | 32-LastQty | LastQty | 2000000 | Notional quantity of currency expressed in dealt currency |
522 | EXCHANGE_RATE_PERIOD_1 | Price of trade | “0.6851” | Y | 31-LastPx | LastPx | 0.6851 | Price of this trade |
524 | RATE_DIRECTION | Used in TOF to indicate if the rate is provided in standard or inverted notation. In CPT TOF it is always 1. | “1” (normal) | N | ||||
525 | SETTLEDATE_DATE_CURRENCY_1 | Settlement date of trade | “24 MAY 2023” | Y | 64-SettlDate | SettlDt | 20230524 | Specific date of trade settlement |
526 | SETTLEDATE_CURRENCY_2 | Settlement date of trade | “24 MAY 2023” | N | ||||
529 | PAYMENT_INSTRUCTION_PERIOD_1_CURRENCY_1 | CPT TOF hardcoded to "Refer to SSI SSI SSI". | "Refer to SSI SSI SSI". | N | ||||
530 | PAYMENT_INSTRUCTION_PERIOD_1_CURRENCY_2 | CPT TOF hardcoded to "Refer to SSI SSI SSI". | "Refer to SSI SSI SSI". | N | ||||
539 | SECONDARY_SOURCE_REFERENCE | Incrementing value, no significance to deal up to 5 digits. Always matches FID 501. | “27224” | N | ||||
540 | METHOD_OF_DEAL | 3 (Maker) / 2 (Taker) Maker = Initiator | "3" or "2" | Y | 1057-AggressorIndicator | AgrsrInd | N or Y | TOF 3 = N - Order initiator is passive |
541 | RATE_CURRENCY_1_AGAINST_USD | Always blank | “ “ | N | ||||
542 | RATE_CURRENCY_2_AGAINST_USD | Always blank | “ “ | N | ||||
543 | RATE_BASE_CURRENCY_AGAINST_USD | Always blank | “ “ | N | ||||
544 | BASE_CURRENCY | Always set to USD | “USD” | Y | 1717-PriceUnitOfMeasureCurrency | PxUOMCcy | USD | In TOF this is hardcoded regardless of true base currency so there isn't really a FIX equivalent but in FIX tag 1717 will contain the true base currency. |
545 | CALCULATED_VOLUME_PERIOD_1_CURRENCY_2 | Contra Quantity of trade | “31730000” | Y | 1056-CalculatedCcyLastQty | CalcCcyLastQty | 31730000 | The calculated contra quantity of the currency trade. Can be derived from LastQty and LastPx. |
549 | DEALER_NAME | GUS of Trader | “T11” | Y |
| ID R Src | T11 44 D | The GUS appears 4 times in the TOF message. All users will see their own GUS when available. EBS Direct Liquidity Providers do not have a GUS. Matches FIDs 504, 507 and 550 |
550 | CONFIRMED_BY_NAME | GUS of Trader | “T11” | Y |
| ID R Src | T11 44 D | The GUS appears 4 times in the TOF message. All users will see their own GUS when available. EBS Direct Liquidity Providers do not have a GUS. Matches FIDs 504, 507 and 549 |
551 | LOCAL_TCID | TOF TCID | “EBSA” | N | ||||
552 | REVIEW_REFERENCE_NUMBER | Sequence number of this ticket | “3232” | N | ||||
553 | COMMENT_TEXT | Comment on deal details including the EBS Deal ID. | WE ARE GFD1 - Customer GFD1. WE ARE AGRESSOR. EBS deal reference number FF01-1234-0000-01-MP | Y |
| ID R Src ID Typ AgrsrInd TrdID PostTrdTyp | GFD1 1 D Customer GFID1 5 Y or N FF01-1234-0000-01 4 | The comment text combines the data from a number of fields. GFD1 is the GFID of the ticket receiver (PartyRole 7 - the 'trading firm'). (NON-)AGRESSOR is maker/taker indicator in tag 1057 - AgressorIndicator FF01-1234-0000-01 is the EBS Deal ID in tag 1003 (TradeID) The 'P' in the -MP suffix indicating a Prime deal can be determined from 99103=4 |
554 | FRA_FIXING_DATE | Valuation Date of NDF or Fixing trade | “27 JUN 2023” | Y | 541-MaturityDate | MatDt | 20230627 | NDF Fixing Date (local market date) |
561 | USER_DEFINED_TITLE_1 | One of 3 values | eg DEAL_REF_NUM | Y | N/A | N/A | N/A | No equivalent in FIX |
562 | USER_DEFINED_DATA_1 | Data associated with above value | eg FF01-1234-0000-01 | Y | See below | See below | eg FF01-1234-0000-01 | |
563 | USER_DEFINED_TITLE_2 | One of 3 values | eg DEAL_REF_NUM | Y | N/A | N/A | N/A | No equivalent in FIX |
564 | USER_DEFINED_DATA_2 | Data associated with above value | eg FF01-1234-0000-01 | Y | See below | See below | eg FF01-1234-0000-01 | |
565 | USER_DEFINED_TITLE_3 | One of 3 values | eg DEAL_REF_NUM | Y | N/A | N/A | N/A | No equivalent in FIX |
566 | USER_DEFINED_DATA_3 | Data associated with above value | eg FF01-1234-0000-01 | See below | See below | eg FF01-1234-0000-01 | ||
567 | ID_OF_THE_ORIGINAL_IF_THIS_IS_A_CONTRA | DealCode#0 | “EBSA#0” | N | ||||
568 | ID_OF_PREVIOUS_IF_THIS_IS_A_NEXT | DealCode#0 | “EBSA#0” | N | ||||
569 | PURE_DEAL_TYPE | InstrumentType | “2” - FX Spot | Y | 167-SecurityType | SecTyp | FXSPOT FXNDF | Security type |
573 | PRICE_CONVENTION | RateDirection | “1” | N | ||||
575 | SWIFT_BIC_CURRENCY_1_PERIOD_1 | SWIFTBICCode | “NOSWIFTCODE” | N | ||||
576 | SWIFT_BIC_CURRENCY_2_PERIOD_1 | SWIFTBICCode | “NOSWIFTCODE” | N | ||||
579 | D2000_2_CREDIT_REDUCTION | Always blank | “ “ | N | ||||
580 | D2000_2_CREDIT_REMAINING | Always blank | “ “ | N | ||||
581 | BASE_CURRENCY_2 | Always blank | “ “ | N | ||||
582 | BASE_CURRENCY_3 | Always blank | “ “ | N | ||||
583 | RATE_BASE_CURRENCY_2_VERSUS_USD | Always blank | “ “ | N | ||||
584 | RATE_BASE_CURRENCY_3_VERSUS_USD | Always blank | “ “ | N | ||||
585 | EBS_TICKET_PROPERTIES | Always blank | “ “ | N | ||||
599 | Their LEI | Relevant only to MiFID tickets, if configured to receive MiFID fields. Counterparty LEI of MiFID regulated Trade. | “ABCD1234EFGH5678IJK” | Y |
| ID R Src ID Typ | EBSA 90 D ABCD1234EFGH5678IJK 84 | SubID of the Settlement Party ID (PartyRole 90) |
15427 | Regulatory Timestamp (µs) | Relevant only to MiFID tickets, if configured to receive MiFID fields. Timestamp provided in microsecond granularity. Format is DD MMM YYYY hh:mm:ss.dddddd | “11 AUG 2017 12:15:14.123456” | Y | 1012-SideTrdRegTimestamp | TS | 20230522-12:02:54.171000 | This will be the timestamp to the precision required for regulatory reporting (eg MiFID). Currently it is in microseconds, which is the same as that of tag 60. |
15431 | ISIN | Relevant only to MiFID tickets, if configured to receive MiFID fields. Instrument identifier of MiFID regulated trade. | “EZ0000001670” | Y | 455-SecurityAltID (456-SecurityAltIDSource=4) | AltID AltIDSrc | EZ0000001670 4 | ISIN is always provided when available |
15435 | MIC | Alphanumeric Relevant only to MiFID tickets, if configured to receive MiFID fields. Venue Identifier – Market Identifier Code (MIC) of MiFID regulated trade. | “XEBS” | Y |
| ID Src R | XEBS G 73 | The MIC code is provided |
15458 | Trading Venue Transaction ID | Relevant only to MiFID tickets, if configured to receive MiFID fields. The Trading Venue Transaction ID is a venue unique deal id (this is the EBS Deal ID without the hyphens). | 054D0001000101 | Y |
| ID Typ | 054D0001000101 5 | The TVTID is only relevant for MIFID transactions. The SideRegulatoryTrade block contains all the regulatory trade IDs. |
TOF User Defined Fields
In the TOF message there are up to 3 user-defined fields that are statically configured on a TOF session (so do not change during the session). These are configured according to user requirements and can take one of 3 values. These 3 values appear in FIDs 561, 563 and 565 and the corresponding value appears in 562, 564 and 566 respectively.
The table below shows the user-defined field value and FIX attributes, examples, details.
TOF user-defined field | FIX Tag Equivalent | FIXML Attribute Name | Equivalent FIX Example Value | FIX Notes |
---|---|---|---|---|
DEAL_REF_NUM | 1003-TradeID | TrdID | FF01-1234-0000-01 | This value appears in FID 533 as part of the comment text so many users have this configured in FID 561 to have the deal ID in FID 562. Clients are advised to check their messages or confirm their set up with their GAM. |
COUNTERPARTY_TRADER_ID | 448-PartyID (452-PartyRole=37, 447-PartyIDSource=D) | ID R Src | T11 37 D | Most clients do not use this user defined field but the format in TOF is traderID@GFID (eg T11@GFID2). In FIX the traderID sits in its own field within a party block. |
CUST_ORDER_REFERENCE | 11-Client Order ID | ClOrdID | MyOrder1 | The client order id is configured for some clients but not all. It is only provided when the order came via an API. |
Existing Unsupported TOF Fields
The list below are fields that are not supported today on CPT TOF and so no equivalent field in CME STP will be provided.
TOF Field# | TOF Field Name |
---|---|
511 | Broker Name |
513 | Bank 2 Name |
541 | Rate Currency 1 against USD |
542 | Rate Currency 2 against USD |
543 | Rate Base Currency against USD |
579 | D2000-2 Credit Reduction |
580 | D2000-2 Credit Remaining |
581 | Base Currency 2 |
582 | Base Currency 3 |
583 | Rate Base Currency 2 versus USD |
584 | Rate Base Currency 3 versus USD |
TOF Fields without an equivalent in FIX
The existing CPT TOF API supports a number of fields that are either no longer relevant on CME STP or not required as they were hardcoded. Details of each field are outlined below.
TOF Field# | TOF Field Name | Notes |
---|---|---|
500 | Source of Data | Configurable value in TOF that remains constant in all TOF messages. Not required |
501 | Source Reference | CPT TOF simply increments this value in messages. It has no connection to the deal and was provided with an incrementing value for compatibility with the previous TOF version. No relevance |
509 | Bank 1 Name | The long name of the counterparty will no longer be provided. Not required |
524 | Rate Direction | Used in TOF to indicate if the rate is provided in standard or inverted notation. In CPT TOF it is always 1. Not required |
529 | Payment Instruction Period 1 Currency 1 | CPT TOF hardcoded to "Refer to SSI SSI SSI". Not required |
530 | Payment Instruction Period 1 Currency 2 | CPT TOF hardcoded to "Refer to SSI SSI SSI". Not required |
539 | Secondary Source Reference | CPT TOF simply increments this value in messages. It has no connection to the deal and was provided with an incrementing value for compatibility with the previous TOF version. No relevance |
553 | Comment Text | This text that includes the GFID, the GFID long name, the Deal ID and whether this is a passive or aggressive ticket. All this information is within the FIX message across multiple tags. No relevance |
567 | ID of Original if this is a Contra | This is hardcoded in TOF to the TOF TCID + #0. No relevance |
568 | ID of Previous if this is a Next | This is hardcoded in TOF to the TOF TCID + #0. No relevance |
573 | Price Convention | Hardcoded to 1 No relevance |
575 | SWIFT-BIC Currency 1 Period 1 | Settlement instructions are not provided on FIX so this is hardcoded to "NOSWIFTCODE" Not required |
576 | SWIFT-BIC Currency 2 Period 1 | Settlement instructions are not provided on FIX so this is hardcoded to "NOSWIFTCODE" Not required |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.