Workflow

Drop Copy

Supported Instruments



Please refer to Supported Instruments to view across all venues.

PartyIDs



Please refer to PartyIDs to view across all venues.

Regulatory Fields



Please refer to Regulatory Fields to view across all venues.

Passthru Fields



Please refer to Passthru Fields to view across all venues.

Details

Drop Copy session

The cme_stp drop copy session can be paired with either ebs_market_ilink3_sbe or cme_ilink3_sbe order entry sessions. When fills occur for orders in EBS or CME CLOB, drop-copy TradeCaptureReports are delivered providing additional regulatory details.

In the event of a CME STP outage, trades may not be available for recovery. Clients should be prepared for manual reconciliation in this case.

Supported Products and Drop copy subscription

The cme_stp implementation will handle drop copy for trades from the EBS Market on CME Globex, EBS Direct [relationship-based trading], and eFIX Matching. Products in scope are FX Spot, Metals, eFix, and NDF for Interdealer and PB clients.

Futures and Spreads drop copy will be handled in the next iteration.


CME STP service allows for drop copy subscriptions for multiple Globex firm IDs. This feature helps clients consume drop copy for trades from different entities in a single session. 

Clients can contact the MF-Delivery team if they want to configure their STP session to subscribe to drop copy messages for multiple GFIDs.

Bank/ Interdealer Vs PrimeBroker workflow

Bank/ Interdealer: An Interdealer client will receive one dropcopy ExecutionReport for every fill on their order. The Interdealer client and the counterparty info are published in the Party group fields. The PostTradeType BodyPassthru field will be Interdealer.

PrimeBroker: PBs will see two dropcopy ExecutionReport for every fill - An Interdealer and a PB dropcopy ExecutionReport where the BodyPassthruField PostTradeType populated with Interdealer and PrimeGiveup respectively.

PrimeClient: PCs will only see one dropcopy ExecutionReport for every fill on their order. This is a PrimeClient dropcopy where the PostTradeType=PrimeGiveup in BodyPassthruField.

PrimeOfPrimeBroker: PrimeOfPBs will see two dropcopy ExecutionReport for every fill - A PrimeOfPrimeBroker and a PB dropcopy ExecutionReport with BodyPassthruField PostTradeType populated with PrimeOfPrimeBroker and PrimeGiveup respectively.

Please refer to the PartyIDs page for the Party info published to the clients.

NDFs in SEF Market

Due to EBS Market NDFs liquidity pool consolidation, the RegulatoryBodies field in ExecutionReport will always be UKMiFID

Background of EBS Market NDF Trading

  • EBS Market (CLOB) operates Spot FX and precious metals markets under the legal entity EBS SERVICE COMPANY LIMITED (MIC: EBSC)
  • NDFs operated under the same legal entity venue as Spot and Precious Metals until 2013. 
  • In 2013, a Swap Execution Facility (SEF) called NEX SEF (MIC: NEXS) was launched to address regulatory requirements in the US. 
  • US-located clients began trading “on-SEF”, while EMEA and APAC continued trading “off-SEF” on the legacy venue. 
  • In 2017, the off-SEF instruments were migrated to a separate regulated venue, a Multilateral Trading Facility (MTF) called BEL MTF (MIC: XEBS). 
  • Late last year, the CFTC reaffirmed the no-action relief previously given to MTF venues, allowing full access from US participants (previously restricted to accessing only SEF venues.) 
  • This cleared the way for CME to merge all NDF trading onto the MTF, thus removing bifurcation from the NDF market. 

Single Liquidity Pool (SLP) Timeline: Beginning 30 September 2024, EBS Market NDFs will no longer trade on the NEX SEF and the BEL MTF; all NDF trading will happen on the BEL MTF. 

  • No changes will occur to existing MTF trading, connectivity or venue setup. 
  • SEF trading will no longer be allowed (order entry disabled)
  • SEF will remain live for contingency purposes  

Order Attributes

Please note that several fields in the Order-session ExecutionReport are not applicable for the DropCopy equivalent.

  • The drop-copy ExecutionReport messages do not provide any status info relating to the originating order (OrdType, OrdStatus, LegCumQty, LegLeavesQty, LegAvgPx, etc).
  • LegIndividualAllocID is always populated with a value of '1' and will not correlate with the Orders session message, if the client specified any other value than 1.

ErrorReport - CME Internal Error

During an active dropcopy session after a successful venue logon, Whisperer clients may receive ErrorReports if CME STP FIX lost access to upstream CME Group systems.

When CME STP publishes an unsolicited TradeCaptureReportRequestAck [Rejected] to notify MarketFactory API of the CME internal error, MarketFactory API will attempt to resubscribe to drop copy messages every thirty seconds until the drop subscription request is accepted.

MarketFactory will notify clients of each unsuccessful subscription request by sending an ErrorReport with "Connection to upstream CME Group system was lost. Attempting to reconnect." in the Text field.

Clients will receive drop copy ExecutionReport messages once our subscription request is accepted and the CME internal errors are resolved.

CME STP Vs EBS CPT

ExecID and SecondaryExecID in cme_stp will match the IDs in ebs_market_ilink3_sbe order entry session ExecutionReport, but not the ebs_cpt drop copy ExecutionReport. We cannot construct the matching IDs with what's published by EBS CPT.


While the venue-specific details are documented in the PartyIDs, RegulatoryFields, and Passthru fields, this section highlights the differences between the MarketFactory's implementation of CME STP and EBS CPT drop copy feeds.

PartyIDs

PartyRoleDescriptioncme_stpebs_cpt
ContraFirm

The GFID of the Prime Broker firm.

CME STP provides PrimeBroker PartyRole to indicate that the EnteringFirm (partyRole 7) acted as a PrimeBroker.

ContraFirm PartyRole is published to clients when they act as a PrimeBroker.

This info was handled differently in EBS CPT where MarketFactory published ClientPrimeBroker in the BodyPassthruFields.

Regulatory Fields

LegRegulatoryKeyDescriptioncme_stpebs_cpt
LegSEFUSIPrefixLEI of the SEF trading entity [NEX SEF] published for SEF NDFs [OnSEF/OnMTF NDF trades].

Not supported in MarketFactory's cme_stp implementation.

cme_stp publishes LegEMIRUTIPrefix.

EBS Market does not support SEF NDF trading. From the 30th of September 2024, NDF trading will be on the BEL UK MTF.

LegSEFUSIPrefix is supported in ebs_cpt.
LegSEFUSIRegulatoryTradeID published for SEF NDFs [OnSEF/OnMTF NDF trades].

Not supported in MarketFactory's cme_stp implementation.

cme_stp publishes LegEMIRUTI.

EBS Market does not support SEF NDF trading. From the 30th of September 2024, NDF trading will be on the BEL UK MTF.

LegSEFUSI is supported in ebs_cpt.
SEFDateRepositoryIdentifier of the data repository currently defaulted to DTCCGTR.

Not supported in MarketFactory's cme_stp implementation. 

EBS Market does not support SEF NDF trading. From the 30th of September 2024, NDF trading will be on the BEL UK MTF.

SEFDateRepository is supported in ebs_cpt.
LegMiFIDTVTICRegulatoryTradeID published for MTF NDFs [OffSEF/OnMTF NDF trades].

Not supported in MarketFactory's cme_stp implementation. 

Since NDFs are traded on the BEL UK MTF, we publish LegEMIRUTIPrefix and LegEMIRUTI.

LegMiFIDTVTIC is supported in ebs_cpt.


Please refer to EBS Market NDFs liquidity pool consolidation for more info.


BodyRegulatoryKeyDescriptioncme_stpebs_cpt
MiFIDLiquidityProvisionFlagCME STP provides LiquidityFlag in drop copy messages to indicate if an order was submitted for a market-making obligation as required for MIFID.MiFIDLiquidityProvisionFlag is supported in cme_stp.Not supported in ebs_cpt.


BodyPassthruFields

Refer to the attached BodyPassthruFields Matrix for the differences in BodyPassthruFields supported by cme_stp and ebs_cpt.

The table below highlights the differences in the usage of fields between CME STP and EBS CPT.

BodyPasthruKeycme_stp Usageebs_cpt UsageComments/ Notes
VenueType

Identifies the type of venue where a trade was executed.

E - Electronic
Q - Quote-driven Market


Provided only when traded on a regulated market (e.g., OnSEF or OnMTF).

R - Registered Market


MarketID in BodyPasthruFields is the equivalent of VenueType.

RegulatoryBodies in ExecutionReport provides the regulated market info, which is always UKMiFID for NDFs.

The MarketID BodyPassthruKey/ Value provides the classification of the MarketSegment in EBS CPT.

FXQDM = FX Quote Driven Market (EBS Direct)
FXODM = FX Order Driven Market (EBS Market - CLOB)

VenueSubType

Identifies the sub-type of the venue where a trade was executed.

C - CLOB
S - SingleTicket
W - Sweepable

VenueSubType does not exist in EBS CPT.

However, the sub-type of the venue where the trade was executed is published in MarketSegmentID BodyPassthruKey/ Value.

MarketSegmentID values supported in EBS CPT are:

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] 

ManualOrderIndicator

Indicates if the order was created manually or through API. [Y or N]

ManualOrderIndicatordoes not exist in EBS CPT.

TradeInputSource in BodyPasthruFields is the equivalent of ManualOrderIndicator.

TradeInputSource

Identifies the Venue from which the trade was entered.

GLBX - Globex
EBSD - EBS Direct

ExecutionVenue PartyRole provides the MIC code of the venue where the trade was entered.

TradeInputSource in EBS CPT indicates how the First Party entered the trade. 

Supported values:

API

Manual

Unknown

Dropcopy for eFix Orders

Only the final ticket after a fixing event will be published for eFix orders so there is no ExecutionReport delivered for preceding match event.

The SecurityGroup field in an eFix DropCopy ExecutionReport will be populated with the fixing product, eg: EUR/USD BFIX 1630 LN.

NDF Tenors

Please note CME STP delivers EOM tenor trades as broken-dated.


Documentation