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 This topic describes CME STP support for CME FX Link trades with the introduction of FX Spot+.
Contents
Table of 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
...
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:
60-TransactionTime (/TrdCaptRpt/@TxnTm)
1012-SideTrdRegTimestamp (/TrdCaptRpt/RptSide/TrdRegTS/@TS)
779-LastUpdateTime (/TrdCaptRpt/@LastUpdateTm)
...
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 stronglyencouraged 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)
...
In order to keep the FX STP API consistent, the FX Spot Leg Trade Capture Report of the FX Link spread will be is updated by adding, deprecating and modifying fields.
New Fields for CME FX Link Spot Leg
The following fields will be are 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 are 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 are 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 is 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 are 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 is 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 is 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 is 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 is 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 is 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 is populated with “Counter Party Longname” |
...