CPT FIX to CME STP
Introduction
This topic is for users migrating from the EBS Central Post Trade (CPT) FIX API to the CME STP API. CME STP supports FIX and FIXML API. Mappings apply to both APIs and provide CPT FIX 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.
Overview
CPT FIX and CME STP FIX are both based on FIX 4.4, which should make the migration relatively straightforward; there are some key differences between the APIs.
Related Resources |
---|
Subscription, Configuration and format changes
The table below describes differences in Session management between CME STP FIX and CPT FIX. FIXML is a different session protocol so it is inherently different to CPT FIX, CPT does not support FIXML and not compared in the table below.
Item | CME STP FIX | CPT FIX |
---|---|---|
Initialisation | Logon must always have tag 141-ResetSeqNumFlag=Y to reset sequence numbers with every session. Sequence numbers are not needed for recovery as client systems use TradeCaptureReportRequest (tag 35-MsgType=AD) for subscription or recovery of tickets. | Logon must never have tag 141-ResetSeqNumFlag=Y (either omit or set to "N") as persistence is integral to recovery following a disconnection. |
Subscription | Client systems send a TradeCaptureReportRequest (tag 35-MsgType=AD) with tag263-SubscriptionRequestType=1 to initiate a subscription for tickets. There can be only one subscription per established FIX Session. | Tickets are sent as soon as a session is connected and tickets are available |
Recovery | Client systems can use TradeCaptureReportRequest (tag 35-MsgType=AD) with tag263-SubscriptionRequestType=0 to initiate trade recovery. | CPT uses FIX Session recovery to send messages that were not sent previously, user has no ability to re-request a message already sent. |
Configuration/Filters | Client systems can use filters defined in TradeCaptureReportRequest (tag 35-MsgType=AD) to limit the scope of returned tickets. Different filter parameters are applicable to Subscription or Recovery request. | CPT is configured by CME and changes are only applied on the weekend |
Message format | The TradeCaptureReport is a single sided message | The TradeCaptureReport is a two-sided message. |
CPT FIX to CME STP FIX Mappings
A large difference between the CPT FIX message and the CME STP FIX message is the use of the sides group. On CPT FIX there were always 2 sides to the message with side 1 reflecting party 1 in the trade and side 2 reflecting party 2 (the counterparty). On CME STP there is one side and instead the 2 parties are represented by specific PartyRoles. The PartyRole mapping is handled in a separate table below this main one.
CPT FIX Tag | CPT FIX Name | CPT Usage Notes | Tag appears in CME STP | CME STP usage identical to CPT FIX | CME STP FIX Tag | CME STP FIX Tag Name | CME STP FIXML Attribute Name | Notes |
---|---|---|---|---|---|---|---|---|
571 | TradeReportID | Unique Identifier of the TradeCaptureReport. Used to identify duplicate tickets. | Y | Y | 571 | TradeReportID | RptID | Same usage as CPT FIX. Used to identify duplicate tickets. Note, when supported, Amends and Cancels will have a new TradeReportID value. |
1003 | TradeID | Deal ID, the globally unique EBS identifier for the trade. | Y | Y | 1003 | TradeID | TrdID | Same usage as CPT FIX For relating to the trading APIs this maps to:
This is the unique deal ID that is common to the maker and taker. For Prime Banks that consume 2 tickets per trade the ticket ID (571) will be unique but the trade ID will be common. |
1040 | SecondaryTradeID | LP assigned Trade Identifier. Up to 64 characters. For LCs this field contains the same value as field 527, SecondaryExecID, on the FIX 4.4 API Execution Report. (Relevant only for MarketID=FXQDM.) | Y | N | 527 | SecondaryExecID | ExecID2 | Only provided for EBS Direct disclosed tickets to LCs. Provides the LP's ExecID in the ER returned to EBS Direct by the LP. For relating to the trading API it is mapped to:
Note: 1040 on CME STP has a different ID with different meaning. |
829 | TrdSubType | The only valid value for this tag is “40” (Wash Trade) | N | N/A | 99103 | PostTradeType | PostTrdTyp | On CPT this indicated the Prime Broker (and Prime of Prime) Synthetic tickets only. On CME STP this maps to value 4 - Prime Give Up (Synthetic) tickets. Note that Prime Customers will also see value 4 (as that is a Synthetic ticket) so 829=40 maps to 99103=4 only for Prime Broker and Prime of Prime Broker Synthetic tickets. To programmatically differentiate between Prime Customer Synthetic tickets and Prime (and Prime of Prime) Broker Synthetic tickets please use PartyRole 79, which is only present on tickets to Prime (and Prime of Prime) Brokers. |
150 | ExecType | Describes the purpose of the TCR. For eFix, clients have the option of receiving a reference ticket at the time of the match, followed by a restated ticket when the trade price is fixed. These will be reported with the following ExecTypes: If the client opts to wait until after the fixing for the eFix ticket to be issued, then they will receive a single standard eFix ticket. (ExecType=F). In future releases, additional ExecType values will support trade corrections and cancels. | N | N/A | CME STP does not provide match tickets, for eFix there is no equivalent of this tag on CME STP. | |||
572 | TradeReportRefID | When providing a 2nd eFix ticket (a restated trade) this is a reference to the TradeReportID of the original (match time) ticket. It is only provided on the 2nd eFix fixing ticket. | N | N/A | CME STP does not provide match tickets, for eFix there is no equivalent of this tag on CME STP. | |||
378 | ExecRestatementReason | Only value: | N | N/A | CME STP does not provide match tickets, for eFix there is no equivalent of this tag on CME STP. | |||
RegulatoryTradeIDGrp | N | N/A | SideRegulatoryTradeIDGrp | |||||
1907 | NoRegulatoryTradeIDs | Number of trade identifiers in the repeating group. This group is always provided even if the trade does not fall within a specific reporting regulatory requirement. For Swaps an id is provided per leg (with a reference to that leg). Will be 1 or 2 (for single leg instruments or swaps). | N | N/A | 10034 | NoSideRegTradeIDs | Number of entries in the repeating group | |
→1903 | RegulatoryTradeID | Transaction identifier required by government regulators or other regulatory organizations for regulatory reporting purposes. Will contain the leg's transaction ID (unique in EBS). Note: USI or UTI MiFID II Reporting Required when NoRegulatoryTradeIDs (1907) > 0. | N | N/A | →10027 | SideRegulatoryTradeID | ID | The Regulatory Trade ID. Unlike CPT FIX for CME STP this represents a specific regulatory ID with each repetition of the group. Tag 10030 indicates the type of ID. Tag 20058 indicates the applicable regulatory jurisdiction. |
→1905 | RegulatoryTradeIDSource | Identifies the reporting entity that originated the value in 1903. Will contain the relevant namespace. Required when NoRegulatoryTradeIDs (1907) > 0. | N | N/A | →10028 | SideRegulatoryTradeIDSource | Src | The requirement to provide the namespace was dropped when UTI was introduced. |
→1904 | RegulatoryTradeIDEvent | Identifies the event that caused the origination of the identifier. | N | N/A | →10029 | SideRegulatoryTradeIDEvent | Evnt | Always 0 as per CPT FIX |
→1906 | RegulatoryTradeIDType | Specifies the type of trade identifier provided in 1903 within the context of the hierarchy of trade events. | N | N/A | →10030 | SideRegulatoryTradeIDType | Typ | Will be 0 usually until 10027 is the TradingVenueTransactionID (TVTID) in which case this is 5. On CPT FIX is always 0. |
→2411 | RegulatoryLegRefID | Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788). | N | N/A | FX Swaps on EBS Direct are not currently supported on CME STP | |||
End RegulatoryTradeIDGrp |
| |||||||
570 | PreviouslyReported | Indicates if the trade capture report was previously reported to the counterparty on a dynamic subscription. If the TCR is sent as a drop copy or in a streaming subscription will be N. | N | N/A | Not supported | |||
1430 | VenueType | Identifies the type of venue where a trade was executed. Provided when traded on a regulated market (e.g., OFF SEF or MTF). | Y | N | →20058 | FacilityType | FcltyTyp | 20058 indicates the regulated facility. On CPT FIX 1430 only had the value R, which indicated a regulated venue and other tags were needed to indicate the venue type. On CME STP 1430 indicates if the venue was the CLOB (E) or EBS Direct (Q). |
1300 | MarketSegmentID | QS = ‘Quotes’ Sweepable [EBS Direct - QDM] | N | N/A | 20060 | VenueSubType | VenuSubTyp | The following mappings apply: CPT FIX: OC = CME STP: C CPT FIX: QF = CME STP: S CPT FIX: QS = CME STP: W To determine eFix use : tag 828=1000 ie CPT FIX: QE if 828=1000. Note as RFQ is not supported CME STP, and the Hedge product was stopped the following do not have mappings on CMES TP: QR = ‘Quotes’ RFQ Off MTF OH = ‘Orders’ HEDGE [Market - ODM] |
1301 | MarketID | A classification akin to 'venue' used to group Market Segments together. FXQDM = FX Quote Driven Market (EBS Direct) | N | N/A | 1430 | VenueType | VenuTyp | CPT FIX: FXODM = CME STP: E CPT FIX: FXQDM = CME STP: Q |
20400 | NonDisclosedTrade | Flag indicating if this was a disclosed or non-disclosed trade. The default is (N), meaning that the trade is disclosed. | Y | Y | 20400 | NonDisclosedIndicator | NonDsclInd | Same usage as CPT FIX. |
55 | Symbol | Currency pair in CCY1/CCY2 format | Y | N | 37725 | FXCurrencySymbol | FXCcySym | The symbol in EBS notation (CCY1/CCY2) is provided in tag 37725 as Symbol (tag 55) is used to provide the unique instrument symbol. |
SecurityAltIDGrp | Y | Y | SecAltIDGrp | |||||
454 | NoSecurityAltID | Number of SecurityAltID entries | Y | Y | 454 | NoSecurityAltID | NumInGroup | Same usage as CPT FIX |
→455 | SecurityAltID | The ISIN for the instrument | Y | Y | →455 | SecurityAltID | AltID | Same usage as CPT FIX |
→456 | SecurityAltIDSource | Identifies the class or source of the SecurityAltID. Only supported value: | Y | Y | →456 | SecurityAltIDSource | AltIDSrc | Same usage as CPT FIX for value 4. More supported values including: 8 - Exchange Symbol 116 - eFix Session Name |
End SecurityAltIDGrp | ||||||||
460 | Product | Indication of the type of product the security is associated with. Valid Values: | Y | Y | 460 | Product | Prod | Same usage as CPT FIX |
167 | SecurityType | Valid Values: For SWAPs that are represented as two single leg tickets (MultiLegReportingType=2), the SecurityType will reflect that of the leg. | Y | Y | 167 | SecurityType | SecTyp | Same usage as CPT FIX The following are not supported on CME STP: FXFWD |
541 | MaturityDate | NDF Fixing date (local market date) | Y | Y | 541 | MaturityDate | MatDt | Same usage as CPT FIX |
32 | LastQty | The notional size of this trade, in units of the dealt currency. | Y | Y | 32 | LastQty | LastQty | Same usage as CPT FIX |
31 | LastPx | The all-in rate of the dealt price. For multileg tickets this represents the swap points ((also provided in the LastSwapPoints field). For an eFIX or NDF TOD trade: Should there be no fixing rate available, this will be set to 0 (and customer will need to determine rate directly with other party). | Y | Y | 31 | LastPx | LastPx | Same usage as CPT FIX |
1056 | CalculatedCcyLastQty | Calculated quantity of the contra currency. Not provided for multileg tickets. See tag 1074 instead | Y | Y | 1056 | CalculatedCcyLastQty | CalcCcyLastQty | Same usage as CPT FIX |
15 | Currency | 3 character ISO code of the dealing currency. May be either base (CCY1) or term (CCY2) currency. | Y | Y | 15 | Currency | Ccy | Same usage as CPT FIX |
120 | SettlCurrency | For non-NDF trades this is the contra-currency. | Y | Y | 120 | SettlCurrency | SettlCcy | Same usage as CPT FIX |
194 | LastSpotRate | For FXFWD, the all-in rate (LastPx) is based on this Spot rate. | N | N/A | N/A | Not supported | ||
195 | LastForwardPoints | For FXFWD, points added to the LastSpotRate to calculate the all-in rate. Provided on all FXFWD tickets (including when 0). | N | N/A | N/A | Not supported | ||
1071 | LastSwapPoints | Provided when SecurityType= FXSWAP or NDS (and when SecurityType=FXSPOT or FXNDF and MultiLegReportingType=2). | N | N/A | N/A | Not supported | ||
20401 | LastFixRate | Fixing rate of the trade only provided on eFIX trades after the fixing. | Y | N | Y | 31 | LastPx | eFix trades will have the price in tag 31. Note that CME STP uses tag 20401 for a completely different use. |
20402 | LastFixPoints | For eFix trades, the dealt points to be applied to the fixing rate. | N | N/A | N/A | Not supported | ||
20412 | ReferenceRate | For eFix trades, prior to the fixing (ie the reference ticket) this is the reference rate. | N | N/A | N/A | Not supported | ||
75 | TradeDate | Effective business date of the transaction in YYYYMMDD format. | Y | Y | 75 | TradeDate | TrdDt | Same usage as CPT FIX |
60 | TransactTime | UTC Timestamp (Date/Time) of the transaction being reported in this ticket. For the second ticket of an eFix transaction, this represents the fixing time and not the match time. Expressed as the millisecond version of the UTCTimestamp. | Y | Y | 60 | TransactTime | TxnTm | Same usage as CPT FIX |
442 | MultiLegReportingType | Used for multileg transactions (FXSWAP/FXNDS) | Y | N | 442 | MultiLegReportingType | MLegRptTyp | For EBS tickets will alway have value 1. For other asset classes this field will have other values. |
555 | NoLegs | Number of Legs (for Multileg tickets only) | Y | N | 555 | NoLegs | Not supported on CME STP for EBS as this was only used for swap products. The underlying component TrdInstrmtLegGrp is also not provided. | |
TrdRegTimestamps | N | N/A | SideTrdRegTS | |||||
768 | NoTrdRegTimestamps | Number of TrdRegTimestamp entries | N | N/A | 1016 | NoSideTrdRegTS | Same usage as equivalent tag in CPT FIX | |
→769 | TrdRegTimestamp | Timestamp value in microseconds. | N | N/A | →1012 | SideTrdRegTimestamp | TS | Same usage as equivalent tag in CPT FIX |
→770 | TrdRegTimestampType | Timestamp type | N | N/A | →1013 | SideTrdRegTimestampType | Typ | Same usage as equivalent tag in CPT FIX |
End TrdRegTimestamps | ||||||||
63 | SettlType | Instrument tenor. Only provided on single leg tickets. (For multi-leg tickets, the settlement dates of each leg will be provided in the NoLegs component.) | Y | Y | 63 | SettlType | SettlTyp | Same usage as CPT FIX but only 3 tenors are supported in CME STP for EBS Customers currently, which match the usage in CPT FIX. 0 (Spot) Mx (Fx tenor expression for months) B (broken date) |
64 | SettlDate | The settlement date of this trade in YYYYMMDD format. Not provided for multileg tickets. (See NoLegs group) | Y | Y | 64 | SettlDate | SettlDt | Same usage as CPT FIX |
5899 | SpotDate | For FXNDF, FXFWD, and FXSWAP the associated SPOT settlement date. | Y | Y | 5899 | SpotDate | SpotDt | Same usage as CPT FIX but only for NDFs (forwards and swaps are not supported for EBS on CME STP). |
TrdCapRptSideGrp | TrdCapRptSideGrp | |||||||
552 | NoSides | Both sides of the trade are represented. The first instance of this repeating group is the ticket First Party. | Y | Y | 552 | NoSides | Same usage as CPT FIX but will have value 1 (as there is only 1 side) | |
→54 | Side | 1= Buy For PBs there are always 2 tickets : | Y | Y | 54 | Side | Side | Same usage as CPT FIX however it applies only to the firm represented in PartyRole 7 (the trading firm) |
→37 | OrderID | EBS-generated identifier of the order that was matched. Not provided on LP tickets. | Y | Y | 37 | OrderID | OrdID | Same usage as CPT FIX |
→198 | SecondaryOrderID | OrderID on target execution system (for LP tickets this would be the LP's Order ID).Provided on 1st side only. | N | N/A | N/A | Not supported | ||
→11 | ClOrdID | Client Order ID as per 1st side, and only provided on API orders. Note for LP tickets this would be the ClOrdID that the LP received on their inbound Order. | Y | Y | 11 | ClOrdID | ClOrdID | For Globex and EBS Direct LCs this is the same usage as CPT FIX. For LPs this is no longer provided. |
Parties | ||||||||
→453 | NoPartyIDs | Number of PartyID (448), PartyIDSource (447), and PartyRole (452) entries. 448, 447, and 452 will be provided on each occurrence when NoPartyIDs is present. | Y | Y | 453 1116 | NoPartyIDs NoRootPartyIDs | Same usage as CPT FIX but split between 2 party blocks - see next section for details | |
→→448 | PartyID | Identifier of the party. | Y | Y | →448 →1117 | PartyID RootPartyID | ID ID | Same usage as CPT FIX but split between 2 party blocks - see next section for details |
→→447 | PartyIDSource | Identifies the source of PartyID value Required when NoPartyIDs > 0 | Y | Y | →447 →1118 | PartyIDSource RootPartyIDSource | Src Src | Same usage as CPT but the enumerations and uses are split between 2 party blocks - see next section for details for 447 values C, D N and P are supported. for 1119 only values G and N are supported |
→→452 | PartyRole | Valid values are below (see Party Role Definitions for details): 1 = Executing Firm Required when NoPartyIDs > 0 | Y | Y | →452 →1119 | PartyRole RootPartyRole | R R | Same usage as CPT but the enumerations and uses are split between 2 party blocks - see next section for details for 452 values 1, 7, 17, 24, 37, 44, 55, 79, 90 and 122 are supported. for 1119 only value 73 is supported |
PartySubIDs | ||||||||
→→802 | NoPartySubIDs | Used to provide further information to the specific PartyID | Y | Y | →802 | NoPartySubIDs | Same usage as CPT FIX | |
→→→523 | PartySubID | Identifier for the PartySubID (qualified by the PartySubIDType) | Y | Y | →→523 | PartySubID | ID | Same usage as CPT FIX |
→→→803 | PartySubIDType | Valid values are below (see PartySubIDType Definitions for details): | Y | Y | →→803 | PartySubIDType | Typ | Same usage as CPT FIX but new enumerations are supported - see next section for details. Value enumerations are: 5, 16, 84 and 1003 |
End PartySubIDs | ||||||||
End Partys | ||||||||
→1 | Account | Floor code for first party (instance 1) | N | N/A | N/A | Not supported | ||
→578 | TradeInputSource | How the First Party entered into the trade, values: For PB tickets this field will not be provided | Y | N | 1028 | ManualOrderIndicator | ManOrdInd | 1028=N is the same as CPT 578=API 1028=Y is the same as CPT 578=Manual In CME STP tag 578 has values GLBX and EBSD to indicate the trading venue. |
→336 | TradingSessionID | For eFix trades, provides the name of the fixing session. Provided on first side only. | N | N/A | N/A | Not supported | ||
→1057 | AggressorIndicator | For EBS Direct: For EBS Market: Note: | Y | Y | 1057 | AggressorIndicator | AgrsrInd | Same usage as CPT FIX. Note this always applies to the PartyRole 7 (the trading firm). |
→5106 | FundDesignation | Fund Designation as specified at order submission time. | Y | Y | 5106 | FundDesignation | FundDsgntn | Same usage as CPT FIX. |
→20115 | UserReference1 | Customer order references. Only valid when MarketSegmentID is: | N | N | 5149 | Memo | Mem | For EBS Direct LC trades the Memo field (5149) contains the value of the UserReference supplied by the LC. |
End TrdCapRptSideGrp | End TrdCapRptSideGrp | |||||||
TrdRegPublicationGrp | TrdRegPublicationGrp | |||||||
2668 | NoTrdRegPublications | No. of regulatory publication rules in the repeating group | Y | Y | Same usage as CPT FIX | |||
→2669 | TrdRegPublicationType | Specifies the type of this regulatory trade publication 0 = Waiver | Y | Y | 2669 | TrdRegPublicationType | Typ | Same usage as CPT FIX |
→2670 | TrdRegPublicationReason | Additional reason for trade publication type specified in TrdPublicationType 4 = Illiquid waiver | Y | Y | 2670 | TrdRegPublicationReason | Rsn | Same usage as CPT FIX |
End NoTrdRegPublications | End TrdRegPublicationGrp |
Party ID Mappings - CPT FIX to CME STP
In general there are direct mappings between the CPT Party Group PartyID tag (tag 448), which is defined by supporting tags PartyRole (tag 452) and PartyIDSource (tag 447), and the CME STP Party Group PartyID tag (tag 449). The same is true for the PartySubID (tag 523), which is defined by the PartySubIDType (tag 803). In some cases CME STP does not support the same PartyRole/PartyIDSource anymore. This detail is shown in the table below.
There are a few places where there is no mapping between the Party/PartySubID groups in CPT FIX to CME STP FIX, which are noted in this main mapping table and the detailed mapping is provided in the table below it.
It is worth pointing out one main difference, in CME STP party role 7, (the Trading Firm) is used to create the Request and provided in the TradeCaptureReport. It is equivalent to tag 1 (Account) on side 1 of the CPT ticket. The side (tag 54) and AggressorIndicator (tag 1057) both apply to the TradingFirm only (and so will 'flip' on the Synthetic tickets).
Item | Item Description | Comparison and Mapping Notes | Supported on CME STP | CPT Side | CPT PartyRole (tag 452) | CPT PartyIDSource (tag 447) | CPT PartySubIDType (tag 803) | CME STP PartyRole (tag 452) | CME STP PartyIDSource (tag 447) | CME STP PartySubIDType (tag 803) |
---|---|---|---|---|---|---|---|---|---|---|
Executing Firm | The GFID of the party that actually did the trade. | CME STP uses Party Role 1 to map to CPT the executing party (role 1) on side 1 of the trade. | Y | 1 | 1 | D | N/A | 1 | D | N/A |
Executing Trader | The GUS of the trader / operator of the Executing Party | CME STP uses partyRole 44 to map to CPT FIX trader ID (role 12) on side 1 of the trade. CME STP does not have a value for the PartyIDSource. | Y | 1 | 12 | D | N/A | 44 | N/A | N/A |
Executing System | The name of the executing System | Not provided on CME STP | N | 1 | 16 | D | N/A | N/A | N/A | N/A |
Liquidity Provider | The disclosed / non-disclosed alias of the LP (only valid for EBS Direct) | Not provided on CME STP (LPs do not see their own alias). On CPT this is only provided on tickets to LPs. | N | 1 | 35 | D | N/A | N/A | N/A | N/A |
Liquidity Provider Pricing Segment | The pricing segment ID applied to the LP pricing (only valid for EBS Direct) | Provided in the root component on CME STP (see below) | Y | 1 | 35 | D | 1001 | N/A | N/A | N/A |
Executing Venue | The MIC code of the venue | CME STP provides this in the RootParties group not the Partys Group (see below) | Y | 1 | 73 | G | N/A | N/A | N/A | N/A |
Prime Broker | The GFID of the Prime Broker firm | CME STP provides to confirm that the trading firm (partyRole 7) acted as a Prime Broker. Only maps to CPT party role 79 on Side 1. | Y | 1 | 79 | D | N/A | 79 | D | N/A |
Institution Code | The CME Internal institution code | Not provided on CME STP as Institution codes are internal to CME Systems. | N | 1 | 1001 | D | N/A | N/A | N/A | N/A |
Data Repository | The SEF Data Repository for reporting trades | Provided in the SideRegulatoryTradeIDGrp component on CME STP. (see below) | Y | 1 | 102 | D | N/A | N/A | N/A | N/A |
Settlement Firm | The GFID of the settlement counterparty | The GFID of the settlement counterparty to the trading firm. | Y | 2 | 90 | D | N/A | 90 | D | N/A |
Settlement Firm BIC | The BIC/Swift code for the settlement counterparty | Same usage as CPT FIX | Y | 2 | 90 | D | 16 | 90 | D | 16 |
Settlement Firm LEI | The counterparty LEI | Different mapping to CPT FIX - CPT FIX holds at the PartyID level, CME STP uses the SubID. | Y | 2 | 90 | N | N/A | 90 | D | 84 |
Contra Firm | The GFID of the executing counterparty (the party that actually did the trade). | CME STP uses a different role, compared to CPT FIX, which used PartyRole 1 on side 2. When the executing counterparty is primed this is not provided for ODM. For QDM this is the counterparty alias. | Y | 2 | 1 | D | N/A | 17 | D | N/A |
Contra Trader | The GUS of the executing counterparty | CME STP uses a different role, compared to CPT FIX, which uses PartyRole 12 on side 2. In most cases this is not provided. CME STP does not have a value for the PartyIDSource. | Y | 2 | 12 | D | N/A | 37 | N/A | N/A |
Prime Broker | The GFID of the Settlement Prime Broker | CME STP uses an attribute to indicate the settlement GFID (PartyRole 90) is prime. CME STP provides the same GFID as the settlement counterparty in this role. | Y | 2 | 79 | D | N/A | 90 | D | 1003 |
Contra Liquidity Provider | The alias of the counterparty Liquidity Provider, only valid for EBS Direct | On CPT FIX this was a duplication of PartyRole 1 on side 2, as this is provided on CME STP in PartyRole 17 it is not repeated. | N | 2 | 35 | D | N/A | N/A | N/A | N/A |
CPT PartyIDs that Map outside the Standard Party Block on CME STP
As indicated above there are 3 fields that map outside the Party component, their mappings are below.
Item | Item Description | Comparison and Usage Notes | CPT Side | CPT PartyRole (tag 452) | CPT PartyIDSource (tag 447) | CPT PartySubIDType (tag 803) | CME STP Component | CME STP Tag | CME STP FIX Tag Name | CME STP FIXML Attribute Name |
---|---|---|---|---|---|---|---|---|---|---|
Liquidity Provider Pricing Segment | The pricing segment ID applied to the LP pricing (only valid for EBS Direct) | Direct mapping from CPT FIX PartySubID to CME STP. | 1 | 35 | D | 1001 | TradeCaptureReport root block | 1500 | MDStreamID | MDStrmID |
Executing Venue | The MIC code of the venue | This is a mapping from CPT Tag 448 when CPT tag 452=73, 447=G to CME STP tag 1117 (with 1118=G, 1119=73) | 1 | 73 | G | N/A | RootParties | 1118 | RootPartyIDSource | Src |
Data Repository | The SEF Data Repository for reporting trades | Direct mapping from CPT FIX PartyID to CME STP. | 1 | 102 | D | N/A | SideRegulatoryTradeIDGrp | 20059 | DataRepositoryID | DataRepoID |
Currency Handling - CPT FIX to CME STP
The below table describes terms, CPT and FIX / FIXML values used for EBS currency terms and handling.
Term | CPT Support | CME STP FIX | CME STP FIXML | Example |
---|---|---|---|---|
Currency Pair | Tag 55 - Symbol | tag 37725 - FXCurrencySymbol | FXCcySym | EUR/USD USD/JPY USD/KRW |
Base Currency | Not supported Clients, if needed, would determine from tag 55 In EBS all trades are in base currency today | tag 1716 - UnitOfMeasureCurrency tag 1717 - PriceUnitOfMeasureCurrency | UOMCcy PxUOMCcy | EUR (for EUR/USD) USD (for USD/JPY) USD (for USD/KRW) |
Term Currency | Not supported. Clients, if needed, would determine from tag 55 | tag 10026 - PriceQuoteCurrency | PxQteCcy | USD (for EUR/USD) JPY (for USD/JPY) KRW (for USD/KRW) |
Dealt Currency | Tag 15 - Currency | tag 15 - Currency | Ccy | Currently all EBS FX trading is in the base currency so tag 15 will reflect same values as 1716/1717 EUR (for EUR/USD) USD (for USD/JPY) USD (for USD/KRW) |
Contra Currency | Not supported | Not supported | ||
Settlement Currency | Tag 120 - SettlCurrency For non-NDF trades this is the contra-currency. For NDF trades this is the deliverable (non-NDF) currency. | tag 120 - SettlCurrency | SettlCcy | For non-NDFs this will be the non-dealt currency. Currently this will always be Term currency as only trading in base is supported. USD (for EUR/USD) JPY (for USD/JPY) For NDFs this will always be the deliverable currency regardless of the dealt currency. USD (for USD/KRW) |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.