CME STP FIXML - Spread Trades
CME Group Futures and Options and BrokerTec markets support trading of Spreads, which are multi-legged instruments, on CME Globex and submission via CME ClearPort for clearing (Futures and Options). Spreads could be Exchange defined or User defined.
This section describes CME STP FIXML support for Spread trades. Clients can subscribe to Trade Capture reports for Spread trades, either at spread level or at leg level. With spread level subscription, there will be single Trade capture report for a spread trade with repeating group of leg level details. With leg level subscription, there will be individual trade capture report for each leg of the spread trade.
More information on available spreads can be found in Exceptional Spreads.
Contents
Snapshot and Subscription
Client systems are required to use MLegRptTyp attribute in their Trade Capture report request to obtain a Snapshot or to initiate Subscription of spread trades.
Spread Level trades
To receive Spread level trades clients systems must subscribe using MLegRptTyp=”3” (Multi-legged) in their Trade Capture report request.
Example Trade Capture report request
<?xml version="1.0" encoding="UTF-8"?>
<FIXML>
<TrdCaptRptReq ReqID = "XOXOXO" ReqTyp = "1" SubReqTyp = "0" MLegRptTyp = "3" StartTm="2024-12-23T14:00:00Z" EndTm="2024-12-23T15:00:00Z">
<Hdr>"Header details"</Hdr>
<Pty>"Party details"</Pty>
</TrdCaptRptReq>
</FIXML>Example Trade Capture Report
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FIXML v="5.0 SP2" xv="109" cv="CME.0001" s="20090815">
<Batch>
<Hdr SID="CME" TID="TID" SSub="STP" TSub="TSub"></Hdr>
<TrdCaptRpt RptID="193EF8E9F920001D469023081932967" TrdID="100052" TrdID2="193EF8E9F920001D46902" TransTyp="0" RptTyp="101" TrdRptStat="0" ReqID="XOXOXO" TrdTyp="0" TrdSubTyp="7" MtchID="193EF8E9F920001D46900" ExecID="82909:M:43582TN0000001" PxTyp="2" VenuTyp="E" LastQty="1" LastPx="-0.1575" TrdDt="2024-12-23" BizDt="2024-12-23" MLegRptTyp="3" TxnTm="2024-12-23T14:19:32.000000000Z" LastUpdateTm="2024-12-23T14:19:33.141000000Z" Clrd="1" MDTrdEntrID="912472">
<Instrmt Sym="SR3Z4-SR3H5" ID="SR3" Src="H" CFI="FFDCSO" SecTyp="MLEG" SubTyp="CAL" MMY="202412" MatDt="2025-03-18" Mult="2500" Exch="CME" PxQteCcy="USD"></Instrmt>
<TrdLeg Qty="1" RptID="193EF8E9F920001D46903" LegNo="1" RefID="100053" LastPx="95.6525" PxTyp="2">
<Leg Sym="SR3Z4" ID="SR3" Src="H" CFI="FFDCSO" SecTyp="FUT" MMY="202412" Mat="2025-03-19" Mult="2500" UOM="Ccy" UOMQty="2500" UOMCcy="USD" Exch="CME" Desc="Three-Month SOFR Futures" Side="2" SettlMeth="C"></Leg>
</TrdLeg>
<TrdLeg Qty="1" RptID="193EF8E9F920001D46904" LegNo="2" RefID="100054" LastPx="95.81" PxTyp="2">
<Leg Sym="SR3H5" ID="SR3" Src="H" CFI="FFDCSO" SecTyp="FUT" MMY="202503" Mat="2025-06-18" Mult="2500" UOM="Ccy" UOMQty="2500" UOMCcy="USD" Exch="CME" Desc="Three-Month SOFR Futures" Side="1" SettlMeth="C"></Leg>
</TrdLeg>
<RptSide Side="2" ClOrdID="934918" InptSrc="GLBX" CustCpcty="4" AgrsrInd="Y" StrategyLinkID="821528327925202412231" CustOrdHdlInst="Y" OrdID="821528327925">
<Pty ID="666" Src="D" R="1"></Pty>
<Pty ID="666" R="4"></Pty>
<Pty ID="Party" Src="C" R="7">
<Sub ID="Party Sub ID" Typ="5"></Sub>
</Pty>
<Pty ID="6F6D" R="12"></Pty>
<Pty ID="CME" Src="C" R="21"></Pty>
<Pty ID="CME" Src="C" R="22"></Pty>
<Pty ID="Account" Src="C" R="24">
<Sub ID="1" Typ="26"></Sub>
</Pty>
<Pty ID="A-56969" Src="H" R="24"></Pty>
<Pty ID="Test" R="44"></Pty>
<Pty ID="U45666" R="55"></Pty>
<Pty ID="666" Src="D" R="1001"></Pty>
<RegTrdID ID="SNZ2OJLFK8MNNCLQOF39193EF8E9F920001D46903" Src="" Evnt="2" Typ="0" LegRefID="1"></RegTrdID>
<RegTrdID ID="SNZ2OJLFK8MNNCLQOF39193EF8E9F920001D46904" Src="" Evnt="2" Typ="0" LegRefID="2"></RegTrdID>
<TrdRegTS TS="2024-12-23T14:19:32.000000000Z" Typ="1"></TrdRegTS>
</RptSide>
</TrdCaptRpt>
</Batch>
</FIXML>The Spread level Trade Capture report is identified by /TrdCaptRpt/@MLegRptTyp=”3” (Multi-legged).
Based on the number of legs defining the spread the individual leg trade information will be in /TrdCaptRpt/TrdLeg repeated for each leg.
Leg Level trades
To receive Leg level trades clients systems must subscribe using MLegRptTyp=”2” (Individual legs of Multi-legged security) in their Trade Capture report request.
Example Trade Capture report request
<?xml version="1.0" encoding="UTF-8"?>
<FIXML>
<TrdCaptRptReq ReqID = "XOXOXO" ReqTyp = "1" SubReqTyp = "0" MLegRptTyp = "2" StartTm="2024-12-23T14:00:00Z" EndTm="2024-12-23T15:00:00Z">
<Hdr>"Header details"</Hdr>
<Pty>"Party details"</Pty>
</TrdCaptRptReq>
</FIXML>Example Trade Capture reports
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FIXML v="5.0 SP2" xv="109" cv="CME.0001" s="20090815">
<Batch>
<Hdr SID="CME" TID="TID" SSub="STP" TSub="TSUB"></Hdr>
<TrdCaptRpt RptID="193EF8E9F920001D469021081932962" TrdID="100053" TrdID2="193EF8E9F920001D46903" TransTyp="0" RptTyp="101" TrdRptStat="0" ReqID="XOXOXO" TrdTyp="0" TrdSubTyp="7" MtchID="193EF8E9F920001D46900" ExecID="82909:M:43582TN0000001" PxTyp="2" VenuTyp="E" LastQty="1" LastPx="95.6525" TrdDt="2024-12-23" BizDt="2024-12-23" MLegRptTyp="2" TxnTm="2024-12-23T14:19:32.000000000Z" LastUpdateTm="2024-12-23T14:19:33.141000000Z" Clrd="1" MDTrdEntrID="912472">
<Instrmt Sym="SR3Z4" ID="SR3" Src="H" CFI="FFDCSO" SecTyp="FUT" SubTyp="CAL" MMY="202412" MatDt="2025-03-19" Mult="2500" UOM="Ccy" UOMCcy="USD" UOMQty="2500" SettlMeth="C" Exch="CME" Desc="Three-Month SOFR Futures" PxQteCcy="USD"></Instrmt>
<RptSide Side="2" ClOrdID="934918" InptSrc="GLBX" CustCpcty="4" AgrsrInd="Y" StrategyLinkID="821528327925202412231" CustOrdHdlInst="Y" OrdID="821528327925">
<Pty ID="666" Src="D" R="1"></Pty>
<Pty ID="666" R="4"></Pty>
<Pty ID="PartyID" Src="C" R="7">
<Sub ID="Party Su ID" Typ="5"></Sub>
</Pty>
<Pty ID="6F6D" R="12"></Pty>
<Pty ID="CME" Src="C" R="21"></Pty>
<Pty ID="CME" Src="C" R="22"></Pty>
<Pty ID="ID" Src="C" R="24">
<Sub ID="1" Typ="26"></Sub>
</Pty>
<Pty ID="A-56969" Src="H" R="24"></Pty>
<Pty ID="FIRM" R="44"></Pty>
<Pty ID="U45666" R="55"></Pty>
<Pty ID="666" Src="D" R="1001"></Pty>
<RegTrdID ID="SNZ2OJLFK8MNNCLQOF39193EF8E9F920001D46903" Src="" Evnt="2" Typ="0"></RegTrdID>
<TrdRegTS TS="2024-12-23T14:19:32.000000000Z" Typ="1"></TrdRegTS>
</RptSide>
</TrdCaptRpt>
<TrdCaptRpt RptID="193EF8E9F920001D469022081932965" TrdID="100054" TrdID2="193EF8E9F920001D46904" TransTyp="0" RptTyp="101" TrdRptStat="0" ReqID="XOXOXO" TrdTyp="0" TrdSubTyp="7" MtchID="193EF8E9F920001D46900" ExecID="82909:M:43582TN0000001" PxTyp="2" VenuTyp="E" LastQty="1" LastPx="95.81" TrdDt="2024-12-23" BizDt="2024-12-23" MLegRptTyp="2" TxnTm="2024-12-23T14:19:32.000000000Z" LastUpdateTm="2024-12-23T14:19:33.146000000Z" Clrd="1" MDTrdEntrID="912472">
<Instrmt Sym="SR3H5" ID="SR3" Src="H" CFI="FFDCSO" SecTyp="FUT" SubTyp="CAL" MMY="202503" MatDt="2025-06-18" Mult="2500" UOM="Ccy" UOMCcy="USD" UOMQty="2500" SettlMeth="C" Exch="CME" Desc="Three-Month SOFR Futures" PxQteCcy="USD"></Instrmt>
<RptSide Side="1" ClOrdID="934918" InptSrc="GLBX" CustCpcty="4" AgrsrInd="Y" StrategyLinkID="821528327925202412231" CustOrdHdlInst="Y" OrdID="821528327925">
<Pty ID="666" Src="D" R="1"></Pty>
<Pty ID="666" R="4"></Pty>
<Pty ID="PartyID" Src="C" R="7">
<Sub ID="Party Sub ID" Typ="5"></Sub>
</Pty>
<Pty ID="6F6D" R="12"></Pty>
<Pty ID="CME" Src="C" R="21"></Pty>
<Pty ID="CME" Src="C" R="22"></Pty>
<Pty ID="ID" Src="C" R="24">
<Sub ID="1" Typ="26"></Sub>
</Pty>
<Pty ID="A-56969" Src="H" R="24"></Pty>
<Pty ID="FIRM" R="44"></Pty>
<Pty ID="U45666" R="55"></Pty>
<Pty ID="666" Src="D" R="1001"></Pty>
<RegTrdID ID="SNZ2OJLFK8MNNCLQOF39193EF8E9F920001D46904" Src="" Evnt="2" Typ="0"></RegTrdID>
<TrdRegTS TS="2024-12-23T14:19:32.000000000Z" Typ="1"></TrdRegTS>
</RptSide>
</TrdCaptRpt>
</Batch>
</FIXML>This Trade Capture report batch contains two Trade Capture reports, one for each leg of the Spread trade with /TrdCaptRpt/@MLegRptTyp="2" (Individual legs of the Spread)
Client systems should use /TrdCaptRpt/RptSide/@StrategyLinkID to identify the leg trades belonging to the same spread.
Additional notes
Trade Capture reports with /TrdCaptRpt/@MLegRptTyp="1" (Single Security or Outright) will be sent to client systems for both Spread level (MLegRptTyp=3) and Leg level (MLegRptTyp=2) requests.
Not all Spreads trades are supported with Spread Level (MLegRtpTyp=3) trade capture reports. Clients systems are recommended to use Leg level (MLegRptTyp=2) in their request, to receive all Spread trade capture reports.
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.