CME STP Impacts for CME FX Link
Effective Sunday, April 13 (trade date April 14), CME Group will launch CME FX Spot+, a new tradable FX spot instrument, leveraging CME FX Link liquidity to bring together OTC spot FX and FX futures.
This topic provides CME STP Impacts for CME FX Link trades with the introduction of FX Spot+.
Contents
Revision History
Date | Description |
---|---|
Tuesday, March 25, 2025 | added 461-CFICode to Modification to Fields for CME FX Link Spot Leg |
Wednesday, March 5, 2025 | 526-SecondaryClOrdID, /TrdCaptRpt/RptSide/@ClOrderID2 added to New fields section. updated Party role changes to add SubType=”5” for Party Role=”90”. updated Party role changes to add SubType=”16” for Party Roles=”90”. |
Wednesday, January 29, 2025 | Testing and Certification updated - Certification is not required. Testing is strongly encouraged for CME FX Link client systems. |
Wednesday, January 29, 2025 | Updated introduction with Production date of Sunday, April 13, 2025 (trade date April 14). |
Tuesday, December 3, 2024 | Updated CME FX Link Spot Leg fields with FIX tag / FIXML examples:
|
Wednesday, November 6, 2024 | Initial publication of this topic. |
Key Events and Dates
Date | Milestone |
---|---|
November 11, 2024
| Available in New Release For the complete release schedule, see CME FX Spot Plus Launch Schedule in New Release. |
TBA | Available in AutoCert+ |
Sunday, April 13 | Production launch |
Testing and Certification
Certification is not required. Testing is strongly encouraged for CME FX Link client systems.
Client System Impacts
This section describes client impacts for FX Link and FX Spot+.
Field Impacts for CME FX Link Trades
This section describes the CME STP FIX/FIXML field impacts for clients who subscribe to Trade Capture Report (FIX: tag 35-MsgType=AD, FIXML: /TrdCaptRpt) for CME FX Link Trades. To receive CME FX Link Leg level trades Client systems should use Leg level subscription (FIX: tag 442-MultiLegReportingType=2, FIXML:/TrdCaptRptReq/@MLegRptTyp=2) in Trade Capture Report Request (FIX: tag 35-MsgType=AQ, FIXML: /TrdCaptRptReq)
Spread level trade subscriptions (FIX: tag 442-MultiLegReportingType=3, FIXML:/TrdCaptRptReq/@MLegRptTyp=3) are not supported.
A CME FX Link spread trade results in the following leg trades:
CME FX Futures leg trade with Exchange = "CME" (FIX: tag 207-SecurityExchange, FIXML:/TrdCaptRpt/Instrmt/@Exch) and SecurityType = "FUT" (FIX: tag 167-SecurityType, FIXML:/TrdCaptRpt/Instrmt/@SecTyp)
CME FX Spot+ leg trade with Exchange = "FXS" (FIX: tag 207-SecurityExchange, FIXML:/TrdCaptRpt/Instrmt/@Exch) and SecurityType = "FXSPOT" (FIX: tag 167-SecurityType, FIXML:/TrdCaptRpt/Instrmt/@SecTyp)
There are no changes to CME FX Futures leg trade in CME STP FIX/FIXML.
In order to keep the FX STP API consistent the FX Spot Leg Trade Capture Report of the FX Link spread will be updated by adding, deprecating and modifying fields.
New Fields for CME FX Link Spot Leg
The following fields will be added Trade Capture reports or existing fields populated with new values.
FIX Tag | FIXML Attribute | Data Type | Description | Values |
---|---|---|---|---|
99103-PostTradeType | /TrdCaptRpt/@PostTrdTyp | int | Identifies the type of ticket. FX SPOT Give Up Tickets are also known as synthetic tickets; those in which either the FXSPOT firm faces their Trading Firm or when the Trading Firm faces a FX SPOT firm or where the CCP faces the FX SPOT Firm. FX SPOT Prime Broker Tickets are solely when the FX SPOT firm faces their credit parent broker. |
|
526-SecondaryClOrdID | /TrdCaptRpt/RptSide/@ClOrdID2 | string | Provided only to credit suppliers, populated with clients ClOrdID (Tag 11) value. |
|
20057-TradePriceStatus | /TrdCaptRpt/@PxStat | int | Status of the Price | 0 - Final |
854-QtyTyp | /TrdCaptRpt/@QtyTyp | int | Indicates the type of quantity being represented in the Last Quantity. The quantity type defaults to what is specified in the contract specifications. | 0 - Notional FX |
120-SettlCurrency | /TrdCaptRpt/@SettlCcy | Currency | Currency code of settlement denomination. |
|
64-SettlDate | /TrdCaptRpt/@SettlDt | LocalMktDate | Specific date of trade settlement (SettlementDate). Value format follows Protocol. FIX: YYYYMMDD, FIXML: YYYY-MM-DD. |
|
63-SettlType | /TrdCaptRpt/@SettlTyp | String | Settlement Type of trade. | 0 = Spot |
15-Currency | /TrdCaptRpt/@Ccy | Currency | 3 character ISO code of the dealt currency. |
|
2490-TradeNumber | /TrdCaptRpt/@TrdNum | int | The FXS+ Deal ID - Common to all participants involved in a deal. |
|
10037-TradingQuantity | /TrdCaptRpt/@TrdgQty | Qty | Notional traded amount always expressed in terms of base currency regardless of dealt currency. Currently only trading in base currency is supported. |
|
20060-VenueSubType | /TrdCaptRpt/@VenuSubTyp | Char | Identifies the subtype of the venue where a trade was executed. | C - Central limit order book |
37725-FXCurrencySymbol | /TrdCaptRpt/Instrmt/@FXCcySym | String | Currency pair in CCY1/CCY2 format. |
|
37513-GUID | /TrdCaptRpt/Instrmt/@GUID | String | Globally unique Instrument identifier. |
|
460-Product | /TrdCaptRpt/Instrmt/@Prod | int | Indicates the type of product the security is associated with. See also the CFICode (461) and SecurityType (167) fields. | 4 - CURRENCY |
1191-PriceUnitOfMeasure | /TrdCaptRpt/Instrmt/@PxUOM | String | Used to provide context to the PxUOM fields. | Ccy |
1717-PriceUnitOfMeasureCurrency | /TrdCaptRpt/Instrmt/@PxUOMCcy | Currency | 3 character ISO code of the base currency. |
|
455-SecurityAltID | /TrdCaptRpt/Instrmt/AID/@AltID | String | Alternate Security identifier value for this security of SecurityAltIDSource (456) requires SecurityAltIDSource. |
|
456-SecurityAltIDSource | /TrdCaptRpt/Instrmt/AID/@AltIDSrc | String | Identifies the class or source of the SecurityAltID (455) value. Required if SecurityAltID is specified. | 8 - Exchange Symbol |
9373-LiquidityFlag | /TrdCaptRpt/RptSide/@LqdtyFlg | Int | Indicates if an order was submitted for market making obligation as required for MIFID. | 0 - False |
1028-ManualOrderIndicator | /TrdCaptRpt/RptSide/@ManOrdInd | Boolean | Indicates if the order was created manually or through API. |
|
10027-SideRegulatoryTradeID 10028-SideRegulatoryTradeIDSource → 10029-SideRegulatoryTradeIDEvent=0 → 10030-SideRegulatoryTradeIDType=0 | /TrdCaptRpt/RptSide/RegTrdID/@ID /TrdCaptRpt/RptSide/RegTrdID/@Src (@Evnt="0" & @Typ="0") | String | Fully formed Unique Trade Identifier (UTI) Regulatory Trade ID. Legal entity Identifier (LEI) populated in Source. | 213800Y1KZLBMHGMTJ05 |
1119-RootPartyRole="73" 1118-RootPartyIDSource="G" 1117-RootPartyID="GLBX" | /TrdCaptRpt/[@R="73" AND @Src="G"]@ID="GLBX" | Char | Root Party group identifies the Market Identifier Code (MIC) Code. |
|
Modification to Fields for CME FX Link Spot Leg
The following fields on the FX Spot+ leg will be updated.
FIX Tag | FIXML Attribute | Change Reason | Current Value | New value |
---|---|---|---|---|
1832-ClearedIndicator | /TrdCaptRpt/@Clrd | Spot Leg not cleared at CME Clearing. | 1 - Cleared | 0 - Not Cleared |
828-TradeType | /TrdCaptRpt/@TrdTyp | FX Spot+ is a tradable product and not OTC. | 54 - OTC / Large Notional Off Facility Swap | 0 - Regular Trade |
107-SecurityDescription | /TrdCaptRpt/Instrmt/@Desc | Updated naming convention for FX Spot+. | E.g. VALUE DATED GBPUSD SPOT FX | E.g. FXSPOT.GBP/USD |
55-ProductSymbol | /TrdCaptRpt/Instrmt/@Sym | E.g. FXBPV415 | E.g. GBPUSDZ5031 | |
60-TransactionTime | /TrdCaptRpt/@TxnTm | Updated timestamps with nanosecond precision and trailing "Z" removed to be consistent with FIX UTCTimestamp data type. | FIXML Format: 2024-10-15T08:49:40.000000000Z FIX Format: 20241015-08:49:40.000000000Z | FIXML Format: 2024-10-15T08:49:40.755178582 FIX Format: 20241015-08:49:40.755178582 |
1012-SideTrdRegTimestamp | /TrdCaptRpt/RptSide/TrdRegTS/@TS | FIXML Format: 2024-10-15T08:49:40.000000000Z FIX Format: 20241015-08:49:40.000000000Z | FIXML Format: 2024-10-15T08:49:40.755178582 FIX Format: 20241015-08:49:40.755178582 | |
779-LastUpdateTime | /TrdCaptRpt/@LastUpdateTm | No change in time precision but trailing "Z" removed to be consistent with FIX UTCTimestamp data type. | FIXML Format: 2024-10-15T08:49:40.199000000Z FIX Format: 20241015-08:49:40.199000000Z | FIXML Format: 2024-10-10T15:43:53.655000000 FIX Format: 20241010-15:43:53.655000000 |
461-CFICode | /TrdCapRpt/Instmt/@CFI | Update value to be consistent across all Spot trades | FFXCNO | IFXXXP |
Depreciated Fields for CME FX Link Spot Leg
The following fields/values will not be present in FX Spot Leg.
FIX Tag | FIXML Attribute | Reason |
---|---|---|
22-ProductCodeSource | /TrdCaptRpt/Instrmt/@Src | Previously set to H - Clearing House/Clearing Organization. As the Spot leg is not cleared this field is deprecated. |
864-NoEvents → 855-EventDateType → 866-EventDateValue | /TrdCaptRpt/Instrmt/Evnt/@Dt /TrdCaptRpt/Instrmt/Evnt/@EventTyp | Event Block is deprecated. The date value for EventType=121(Fixing Date) will be populated in Settlement date |
200-MaturityMonthYear | /TrdCaptRpt/Instrmt/@MMY | Not relevant for FX Spot. |
541-MatDt | TrdCaptRpt/Instrmt/@MatDt | Not relevant for FX Spot. |
Changes to Party Block for CME FX Link Spot Leg
Party block fields will be updated as follows for CME FX Link Spot leg.
FIX Tag | FIXML Attribute | Change Type / Values |
---|---|---|
452-PartyRole="1" 447-PartyIDSource="D" → 523-PartySubID → 803-PartySubIDType=5 | /TrdCaptRpt/RptSide/Pty[@R="1" AND @Src="D"]/Sub[@Typ="5"]/@ID | The SubID will be populated with the "FXS+ Spot Executing Firm LongName". |
452-PartyRole="1" 447-PartyIDSource="D" → 523-PartySubID → 803-PartySubIDType=84 | /TrdCaptRpt/RptSide/Pty[@R="1" AND @Src="D"]/Sub[@Typ="84"] | 84 - FXS+ Spot Executing Firm LEI (New role indicating the type of SubID) |
452-PartyRole="4" | /TrdCaptRpt/RptSide/Pty[@R="4"]/@ID | PartyRole=4 (Clearing Firm) will not be populated and replaced by PartyRole=90(Counterparty Public ID) and SubRole=1000 (Counterparty ID). |
452-PartyRole="12" | /TrdCaptRpt/RptSide/Pty[@R="12"]/@ID | PartyRole=12 (Executing Trader) will not be populated and replaced by PartyRole=36 (Entering Trader) |
452-PartyRole="21" | /TrdCaptRpt/RptSide/Pty[@R="21"]/@ID | Party ID's for Party Roles 21 (Clearing Organization) and 22 (Exchange) are removed. |
452-PartyRole="22" | /TrdCaptRpt/RptSide/Pty[@R="22"]/@ID | |
452-PartyRole="36" | /TrdCaptRpt/RptSide/Pty[@R="36"]/@ID | Entering trader populated in PartyID with PartyRole=36 (Entering Trader) Replaces PartyRole=12 (Executing Trader) |
452-PartyRole="90" | /TrdCaptRpt/RptSide/Pty[@R="90"] | New PartyRole = 90 (Counterparty Public ID). Denotes the type of PartyID. |
452-PartyRole="90" 447-PartyIDSource="D" → 523-PartySubID → 803-PartySubIDType="1000" | /TrdCaptRpt/RptSide/Pty[@R="90" AND @Src="D"]/Sub[@Typ="1000"]/@ID | New PartySubIDType = 1000 (Counterparty ID). Denotes the type of SubID. |
452-PartyRole="90" 447-PartyIDSource="D" → 523-PartySubID → 803-PartySubIDType="84" | /TrdCaptRpt/RptSide/Pty[@R="90" AND @Src="D"]/Sub[@Typ="84"]/@ID | New PartySubIDType = 84 (Counterparty LEI). Denotes the type of SubID. |
452-PartyRole="90" 447-PartyIDSource="D" → 523-PartySubID → 803-PartySubIDType="1003" | /TrdCaptRpt/RptSide/Pty[@R="90" AND @Src="D"]/Sub[@Typ="1003"]/@ID | New PartySubIDType = 1003 (Prime Broker Indicator). This SubID will be populated with "Y", when applicable, otherwise, the SubIDType block is not set. |
452-PartyRole="90" 447-PartyIDSource="D" → 523-PartySubID → 803-PartySubIDType="16" | TrdCaptRpt/RptSide/Pty[@R="90" AND @Src="D"]/Sub[@Typ="16"]/@ID | New PartySubIDType = 16 (BIC) SubID will be populated with BIC code. |
452-PartyRole="90" 447-PartyIDSource="D" → 523-PartySubID → 803-PartySubIDType="5" | /TrdCaptRpt/RptSide/Pty[@R="90" AND @Src="D"]/Sub[@Typ="5"]/@ID | The PartySubID will be populated with “Counter Party Longname” |
Related content
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.