CME STP FIXML - TradeCaptureReport - Futures and Options

CME STP FIXML - TradeCaptureReport - Futures and Options

CME STP FIXML uses the Trade Capture Report (XPath: /FIXML/TrdCaptRpt) message to send trades matching criteria stated in Trade Capture Report Request (XPath: /FIXML/TrdCaptRptReq) to FIXML Client.   

Messages are comprised of Elements, which may be non-repeating or repeating. Elements contain FIXML Attributes that define the trade characteristics.

  • Repeating Elements are indicated by "(repeating)" in the gray highlighted definition row.

  • Some Elements, such as Instrument , have a large number of fields, and are therefore allocated their own page.

  • The first defined Element level on any specification page is considered the highest level for that page. Elements may have sub-Elements on the same page, as indicated by an arrow () preceding the field name.

  • A sub-Element one level down contains an arrow preceding it in the field name, for example:

    • → Sender ID

    • Two levels down will have two preceding arrows:

    • →→ Leg Underlying Product Code

  • The highest level on any page will not be preceded by an arrow, though it may still be a sub-component. For example, Instrument is a sub-element of Trade Capture Report Message, but because it is the highest level for that page, the Field Names will not be preceded by an arrow.

FIXML Attribute Name

Datatype

Description

Enumerations

RptID

String

Identifies the specific trade report being sent. This is usually the unique message ID for the trade being reported. However, legs of spreads can share the same message ID. TrdID2 and RptID together form a unique key. 

Up to a maximum of 63 characters

 

TrdID

String

Trade ID for the trade entity is assigned by the CME clearing system. It is unique per trade side/leg and for the (trading firm / executing firm) and exchange for a given Trade Date. Trade ID will not change during the life of the trade. Note that should a trading firm do business with multiple clearing firms, Trade ID may not be unique. Will not be present for IRS/FRA trades.

 

TrdID2

String

Used to carry a secondary trade ID. Unlike TrdID, this is unique across all trade dates and all clearing firms.

 

PackageID

String

A value that identifies the group of trades or a portfolio of trades cleared simultaneously under the one Package ID.

 

TransTyp

int

Indicates the action being taken on a trade. Note that STP does not guarantee new trades must be reported with New(0) prior to reports of Replace(2). STP will initially report CME ClearPort trades using Replace(2)”.

  • 0 - New

  • 1 - Cancel

  • 2 - Replace

RptTyp

int

Indicates the purpose of the trade within the workflow and determines the action of the receiver of the trade.

101 - Notification

TrdRptStat

int

Indicates the status of the trade in clearing.

  • 0 - Accepted

  • 7 - Terminated

ReqID

String

Request ID returns the same value sent on the Trade Capture Report Request.

 

TrdTyp

int

Specifies the type of trade reported by CME Clearing. Used to distinguish a significant difference in the regulatory or economic requirements surrounding the trade.

  • 0 - Regular Trade

  • 1 - Block Trade

  • 2 - EFP (Exchange for physical)

  • 3 - Transfer

  • 11 - Exchange for Risk (EFR)

  • 22 - Over the Counter Privately Negotiated Trades (OPNT)

  • 23 - Substitution of Futures for Forwards

  • 45 - Option exercise

  • 54 - OTC / Large Notional Off Facility Swap

  • 55 - Exchange Basis Facility (EBF)

  • 57 - Netted trade

  • 58 - Block swap trade

  • 59 - Credit event trade

  • 60 - Succession event trade

TrdSubTyp

int

This field further qualifies the Trade Type.

  • 7 - Differential spread

  • 8 - Implied spread leg executed against an outright

  • 36 - Converted SWAP (Aged Deal)

  • 37 - Crossed Trade (X)

  • 40 - TAS - Traded at settlement
    (Note: Differs from FIXTrading standard)

  • 42 - Auction Trade

  • 43 - TAM - Traded at marker

  • 48 - Multilateral Compression

  • 200 - Delivery Transfer

OfstInst

int

Indicates offset or onset due to allocation.

  • 0 - Offset

  • 1 - Onset

TrnsfrRsn

String

Reason why the trade is being transferred

  • A - Exchange approved transfers between accounts with different beneficial ownership

  • B - For correcting Rule 527 mis-clears

  • C - Transfer between accounts in which the underlying beneficial ownership is identical

  • E - Transfer to correct an error in assignment of account (in-house) or customer/house origin error or firm-to-firm clerical error in clearing a trade

  • J - For rule 770 transfers

  • M - Transfer for portfolio margining purposes

  • N - Transfer of positions to a newly approved clearing firm

  • O - Option Compression

  • P - Fungible Transfers and Delivery Transfers (system generated, cannot be submitted by firms)

  • T - Transfer due to the merger of two or more clearing firms

  • V - Auto-transfer Offset (system generated, cannot be submitted by firms)

  • W - Transfer due to withdrawal of a clearing firm

  • X - For transferring new or offsetting Singapore Exchange executed positions between local firms

  • Y - Cross Exchange Transfer (OCC)

MtchID

String

Trade Match ID is assigned by the matching engine or clearing system and used to correlate a cleared trade with a match event. Should be common for all trade sides included in a match event. For CME ClearPort, this represents the deal number and always links strategies. For CME Globex and Floor, this links calendar spreads only. Will not be present for IRS/FRA trades.

 

ExecID

String

Exchange assigned execution ID (trade identifier). ExecID will be present for on-exchange trades and blocks, including Invoice Swap Spreads. ExecID will not be present for off-exchange IRS/FRA trades.

 

ExecID2

String

This is used to communicate the execution ID of the originating platform, e.g. the ClearPort execution ID.

 

BlckID

String

Contains the platform-assigned block ID for the trade.

 

PxTyp

int

Indicates the type of the price associated with the trade. Will not be present for IRS/FRA trades.

  • 1 - Percentage (i.e. percent of par)

  • 2 - Per unit (i.e. per share or contract)

  • 10 - Fixed cabinet trade price (primarily for listed futures and options)

  • 11 - Variable cabinet trade price (primarily for listed futures and options)

  • 100 - Tentative placeholder price

  • 101 - Updated actual price

  • 102 - Derived price block

CrssType

INT

Type of cross being submitted to a market

3 - Request for Cross Fee Indicator

VenuTyp

char

Identifies the type of venue where a trade was executed.

  • C - Clearing house

  • E - Electronic

  • O - Off facility swap

  • P - Pit

  • R - Registered Market (SEF)

  • X - Ex-Pit

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 / Units

  • 1 - Contract term

LastQty

Qty

The quantity of the trade.

 

LastPx

Price

The price of the trade. Will not be present for IRS/FRA trades.

For CBOT-Agricultural and Interest rate option products (VCAB) this value will denote recognized dollar amounts inline with CME Group Clearing API.

 

CalcCcyLastQty

Qty

Used in calculating the quantity of the other side of the currency trade.

 

TrdDt

LocalMktDate

The trade date assigned to an execution on the trading platform.

Format: YYYY-MM-DD

 

BizDt

LocalMktDate

The date on which a trade is formally cleared and settled.

 

AvgPx

Price

Calculated average price. Will be populated for Average Price System (APS) transactions only.

 

MLegRptTyp

char

Indicates if a trade is being reported as a single-leg outright, the leg of a spread, or a multi-leg trade report.

  • 1 - Single security (default if not specified)

  • 2 - Individual leg of a multi-leg security

  • 3 - Multi-leg security

TxnTm

UTCTimestamp

The time of the transaction, e.g. the date and time of a trade, allocation, etc. Will not be present for IRS/FRA trades.

 

ExecMeth

int

Specifies the transaction was executed manually via Confirm Hub.

1 - Manual

LastUpdateTm

UTCTimestamp

Used to indicate the date and time that internal transaction processing of the trade or allocation completed. Should occur on or after the Transaction Time.

 

Clrd

int

Indicates whether the position or trade being reported was cleared through a clearing organization.

  • 0 - Not cleared

  • 1 - Cleared

ClrIntn

int

Indicates whether or not the parties intend the trade to clear.

  • 0 - Do not intend to clear

  • 1 - Intend to clear

ClrReqmtExcptn

int

Specifies whether a party to a swap is using the clearing requirement exception pursuant to CEA Section 2(h)(7) and Commission regulations.

  • 0 - No exception

  • 1 - Exception

TrdCollztn

int

Indication of trade collateralization. 

  • 0 - Uncollateralized

  • 1 - Partially collateralized

  • 2 - One-way collateralized

  • 3 - Fully collateralized

DiffPx

float

Represents the differential price for spreads, or a TAS or TAM differental price.

Note:  Not supported for CPC-entered Calendar Spreads.

 

DiffPxTyp

int

This indicates the type of differential price represented in the Differential Price attribute.

Note:  Not supported for CPC-entered Calendar Spreads.

  • 0 - Differential from Settlement Price

  • 1 - Differential between legs

OrigTmUnit

String

Specifies the Time Unit of the original trade, e.g. whether it was entered as contracts per day or per month. Note that all trades are normalized to default units in STP, regardless of the units originally used to enter the trade.

  • D - Day

  • H - Hour

  • Min - Minute

  • Mo - Month

  • S - Second

  • Wk - Week

  • Yr - Year

TrdgQty

Qty

Quantity per Original Time Unit as submitted on a CME ClearPort API trade report when a product has multiple time units, or, Product Variable Quantity Unit (VQU) is not 'S' (standard), and the product subtype (Monthly, daily, weekly) is not equal to the time unit entered for the trade.

 

MDTrdEntrID

int

Unique Trade Identifier that will match to a CME Globex order execution, associated market data message and STP messaging

 

CHTrdTyp

String

Custom field to represent specific Confirm Hub Trade Types

 

FeeMult

Float

Multiplier that Clearing (Fee system) will use to calculate fees and will be sent to the firms on their confirms.

 

ClrTransTyp 

int

Indicates the type of Clearing Transformation that generated this Trade.

  • 1- Exercise

  • 2-Assignment

  • 3-General Transformation

  • 4-Delivery Transformation

  • 5-Fungible

CntraryInstrctnInd 

Boolean

Used to indicate when a contrary instruction for exercise or abandonment is being submitted

  • Y - YES

  • N - NO

OptExerTmFm 

int

For Exercise/Assignment Transformation, this indicates whether or not the resulting Future was the result of an Early Exercise Instruction (Prior to Settlement Date)

  • 0 - Early

  • 1 - Expiration

FeeQtyThrshldInd

String

Indicator flag used to determine the eligibility of fee discount based on threshold level

  • L1 - Threshold Level 1 - The highest threshold level was met or surpassed.

  • L2 - Threshold Level 2 - The middle threshold level was met.

  • L3 - Threshold Level 3 - The lowest threshold level was met.

  • LN- Eligible but does not meet set thresholds.

Pty

 

ID

String

Used to identify the Party.

 

Src

char

Used to identify the source of the Party.

N - LEI

R

int

Indicates the type or role of the Party.

73 - Execution Venue

Instrmt

Element that describes the traded security

Pmt

 

Undly

 

Amt

 

Typ

String

The type of the position amount represented.

  • CRES - Cash Residual Amount

  • ICPN - Initial Trade Coupon Amount

  • IPMT - Upfront Payment

  • PREM - Premium Amount

  • TVAR - Trade Variation Amount

Amt

Amt

The position amount represented.

 

Ccy

String

The currency associated with the position amount represented.

 

TrdLeg

 

 

 

RptSide

 

 

 




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.