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

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

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:

  • tag 17 on ER from Ai

  • tag 1797 on ER from iLink

  • tag 17 on ER from EBS Direct LC API

  • tag 11 on NOS to EBS Direct LP API

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:

  • tag 17 on ER from EBS Direct LP API

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.
Values:
F = Trade (standard trade)

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: 
z  =  Reference Trade (Match-time eFix ticket containing a reference rate.) - custom value
D = Restated (updated eFix ticket containing the fixing rate)

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:
3 = Repricing of Order (only sent when ExecType=D[Restated], which is part of eFix flow)

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
This is created by concatenating RegulatoryTradeIDSource (1905) with RegulatoryTradeID.

MiFID II Reporting
The hyphens should be removed as ESMA does not accept hyphens.

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.
Will always be ‘0’ – Initial Block Trade. Required when NoRegulatoryTradeIDs (1907) > 0

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.
Will always be ‘0’ - Current (Default value). Required when NoRegulatoryTradeIDs (1907) > 0

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.
If the TCR is sent as an action from support (e.g. client requested TCR to be sent again) then will be Y.

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]
QF  = ‘Quotes’ Full Amount [EBS Direct - QDM]
QR  = ‘Quotes’ RFQ Off MTF [EBS Direct - QDM]
QRM = ‘Quotes’ RFQ On MTF [EBS Direct – QDM]
OC  = ‘Orders’ CLOB [Market - ODM]
OH  = ‘Orders’ HEDGE [Market - ODM]
OE  = ‘Orders’ eFIX [Market - ODM]

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 
QRM = ‘Quotes’ RFQ On MTF [EBS Direct – QDM]

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)
FXODM = FX Order Driven Market (EBS Market - CLOB)

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.
 
Provided only on non-disclosed trades (with value Y).

The default is (N), meaning that the trade is disclosed.
 
Not relevant for EBS Market trades.

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:
4 = ISIN

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:
2 = Commodity (for Metals)
4 = Currency (for FX)

Y

Y

460

Product

Prod

Same usage as CPT FIX

167

SecurityType

Valid Values:
FXSPOT
FXNDF
FXFWD
FXSWAP
FXNDS 

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
FXSWAP
FXNDS 

541

MaturityDate

NDF Fixing date (local market date)
Provided only for NDF, or for NDS tickets in which the client has opted for a single ticket for each leg.

Y

Y

541

MaturityDate

MatDt

Same usage as CPT FIX

32

LastQty

The notional size of this trade, in units of the dealt currency.
On multileg tickets, only provided for even swaps.
For uneven swaps this will not be provided, and quantities will be provided in the NoLegs group.

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:
- On the reference ticket, equals the reference rate + points.
- On the restated ticket, equals the fixed rate + points.

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.
For NDF/NDS trades this is the base 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.
May be provided for FXNDF if available.
For multileg tickets this is provided in the NoLegs group.

N

N/A

N/A





Not supported

195

LastForwardPoints

For FXFWD, points added to the LastSpotRate to calculate the all-in rate.
For multileg FXQDM tickets, points are provided in the NoLegs group.

Provided on all FXFWD tickets (including when 0).
May be provided for FXNDF if available.
Points are provided unscaled.

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.
 
This will be zero when no fixing rate is available

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)
2 = Individual leg of a multileg transaction (Swap is reported in two single-leg tickets.)
3 = Multileg - (Swap is reported in a single multileg ticket.)

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
1 = Execution Time

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.)
0 = Spot
1 = Today (T + 0)
2 = Tomorrow (T+1)
3 = T+2 (for instruments where Spot is not T+2, or as part of Swap legs)
C = Spot Next (Spot + 1)
Dx = FX tenor expression for days, e.g. D5
Mx = FX tenor expression for months, e.g. M3
Wx = FX tenor expression for weeks, e.g. W13
Yx = FX tenor expression for weeks, e.g. Y1
IMMx = IMM tenor expression. x = the nth IMM date on or after the trade date.
(Third Wednesday of the last month of the quarter)
B = Broken. Non-standard tenor indicated by SettlDate 
“Month of the year” NDF’s will be indicated by SettlType=”B” and the SettlDate of the trade.

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.
Not provided for FXSPOT

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.
Always 2.

Y

Y

552

NoSides



Same usage as CPT FIX but will have value 1 (as there is only 1 side)

→54

Side

1= Buy
2 = Sell
B = Multileg

For PBs there are always 2 tickets :
Market Ticket - Between the PB and other party and has same side as PC ticket
Synthetic Ticket - Between PB and PC is opposite side of PC ticket

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.
Provided on 1st side but not provided for 2nd side.

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.
Provided on 1st side but not provided for 2nd side unless it is the PB/PC synthetic ticket.

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.
This will be qualified by the PartyRole and be applicable to this side. Required when NoPartyIDs > 0

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
D = Proprietary
G = MIC (Market Identifier Code)
N = LEI (Legal Entity Identifier)

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
7   = Entering Firm
12 = Executing Trader
16 = Executing System
35 = LiquidityProvider
36 = Entering Trader
73 = Executing Venue
79 = Prime Broker
90 = Settlement Firm
102 = Data Repository
1001 = Institution

Required when NoPartyIDs > 0

Custom values.

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):
16 = BIC
1000 = AccountReference
1001 = Pricing Segment
1002 = IBAN

Custom values.

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)
Account ID for 2nd party. This follows the general principle that a participant always sees their own floor code but the Account ID of other participants.
 
Provided on both sides.

N

N/A

N/A





Not supported

→578

TradeInputSource

How the First Party entered into the trade, values:
API
Manual
Unknown

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:
Y = order initiator is aggressor (LC [and/or PB of LP])
N = order initiator is passive (LP [and/or PB of LC])

For EBS Market:
Y - Order matched as a Taker (aggressive fill)
N - Order matched as a Maker (passive fill)

Note:
Prime Broker receives 2 tickets:
On Ticket with PC, the Aggressor Indicator is the opposite of the PC's value.On Ticket with counterparty to the Trade, the Aggressor Indicator is the same as the PC's value.
 
Provided on both sides (and will be opposite on each side)

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.
 
Only provided on 1st side and only if first party created this.

Y

Y

5106

FundDesignation

FundDsgntn

Same usage as CPT FIX.

→20115

UserReference1

Customer order references.

Only printable characters are allowed, ASCII printable character codes 32-127.

Only valid when MarketSegmentID is:
D = Direct
DF = Direct – Single Ticket

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
1 = Deferral

Y

Y

2669

TrdRegPublicationType

Typ

Same usage as CPT FIX

→2670

TrdRegPublicationReason

Additional reason for trade publication type specified in TrdPublicationType

4 = Illiquid waiver
7 = Illiquid deferral

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)

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

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
1119

RootPartyIDSource
RootPartyRole

Src
R

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

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.