Trade Capture Report Request (MsgType = AD, FIXML = TrdCaptRptReq)

The Trade Capture Report Request (AD) can be used to:

Request one or more trade capture reports based upon selection criteria provided on the trade capture report request

Subscribe for trade capture reports based upon selection criteria provided on the trade capture report request.

The following criteria can be specified on the Trade Capture Report (AE) Request:

All trades matching specified trade identification: TradeReportID, SecondaryTradeReportID

All trades matching specified trade types: TrdType, TrdSubType, TransferReason, SecondaryTrdType, TradeLinkID

All trades matching the order identification information: OrderId, ClOrdID, ExecID

Trades that have specified MatchStatus

All trades for the party defined in the component block <Parties>

o This can be a trader id, firm, broker id, clearing firm

All trades for a specific instrument, specified using the component block <Instrument>, the component block <UnderlyingInstrument>, and/or the component block <InstrumentLeg>.

All unreported trades Executions that have not been sent

All unmatched trades Trades that have not been matched

All trades matching specific date and trading session criteria

Trades entered via a specific TradeInputSource

Trades entered via a specific TradeInputDevice

All Advisories

Each field in the Trade Capture Report Request (AD) (other than TradeRequestID (568) and SubscriptionRequestType) identify filters - trade reports that satisfy all Specified filters will be returned. Note that the filters are combined using an implied "and" - a trade report must satisfy every specified filter to be returned.

The optional date or time range-specific filter criteria (within NoDates (580) repeating group) can be used in one of two modes:

"Since" a time period. NoDates=1 with first TradeDate (75) (and optional TransactTime) indicating the "since" (greater than or equal to operation) point in time.

"Between" time periods. NoDates=2 with first TradeDate (75) (and optional TransactTime) indicating the "beginning" (greater than or equal to operation) point in time and the second TradeDate (75) (and optional TransactTime) indicating the "ending" (less than or equal to operation) point in time.

Trade Capture Report messages are the normal return type to a Trade Capture Report (AE) Request.

The response to a Trade Capture Report Request (AD) can be:

One or more Trade Capture Reports

A Trade Capture Report Request Ack (AQ) followed by one or more Trade Capture Reports in two specific cases:

o When the Trade Capture Reports are being delivered out of band (such as a file transfer),

o When there is a processing delay between the time of the request and when the reports will be sent (for instance in a distributed trading environment where trades are distributed across multiple trading systems).

A Trade Capture Report Ack (AR) only

When no trades are found that match the selection criteria specified on the Trade Capture Report (AE) Request

When the Trade Capture Report Request (AD) was deemed invalid for business reasons by the counterparty

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = AD
568 TradeRequestID @ReqID Y Identifier for the trade request
1003 TradeID @TrdID N
1040 SecondaryTradeID @TrdID2 N
1041 FirmTradeID @FirmTrdID N
1042 SecondaryFirmTradeID @FirmTrdID2 N
569 TradeRequestType @ReqTyp Y
263 SubscriptionRequestType @SubReqTyp N Used to subscribe / unsubscribe for trade capture reports If the field is absent, the value 0 will be the default (snapshot only - no subscription)
571 TradeReportID @RptID N To request a specific trade report
818 SecondaryTradeReportID @TrdRptID2 N (Deprecated in FIX.5.0)To request a specific trade report
17 ExecID @ExecID N
150 ExecType @ExecTyp N To requst all trades of a specific execution type
37 OrderID @OrdID N
11 ClOrdID @ClOrdID N
573 MatchStatus @MtchStat N
828 TrdType @TrdTyp N To request all trades of a specific trade type
829 TrdSubType @TrdSubTyp N To request all trades of a specific trade sub type
1123 TradeHandlingInstr @TrdHandlInst N
830 TransferReason @TrnsfrRsn N To request all trades for a specific transfer reason
855 SecondaryTrdType @TrdTyp2 N To request all trades of a specific trade sub type
820 TradeLinkID @LinkID N To request all trades of a specific trade link id
880 TrdMatchID @MtchID N To request a trade matching a specific TrdMatchID
<Parties> N Used to specify the parties for the trades to be returned (clearing firm, execution broker, trader id, etc.): ExecutingBroker; ClearingFirm; ContraBroker; ContraClearingFirm; SettlementLocation - depository, CSD, or other settlement party; ExecutingTrader; InitiatingTrader; OrderOriginator.
<Instrument> N Insert here the set of "Instrument" fields defined in "Common Components of Application Messages".
<InstrumentExtension> N Insert here the set of "InstrumentExtension" fields defined in "Common Components of Application Messages".
<FinancingDetails> N Insert here the set of "FinancingDetails" fields defined in "Common Components of Application Messages".
711 NoUnderlyings Undly N Number of underlyings
=> <UnderlyingInstrument> C Must be provided if Number of underlyings > 0
555 NoLegs Leg N Number of legs Identifies a Multi-leg Execution if present and non-zero.
=> <InstrumentLeg> C Must be provided if Number of legs > 0
580 NoDates TrdCapDt C Number of date ranges provided (must be 1 or 2 if specified)
=> 75 TradeDate @TrdDt C Used when reporting other than current day trades. Conditionally required if NoDates (580) > 0
=> 779 LastUpdateTime @LastUpdateTm N
=> 60 TransactTime @TxnTm N To request trades for a specific time.
715 ClearingBusinessDate @BizDt N To request trades for a specific clearing business date.
336 TradingSessionID @SesID N To request trades for a specific trading session.
625 TradingSessionSubID @SesSub N To request trades for a specific trading session.
943 TimeBracket @TmBkt N To request trades within a specific time bracket.
54 Side @Side N To request trades for a specific side of a trade.
442 MultiLegReportingType @MLegRptTyp N Used to indicate if trades are to be returned for the individual legs of a multileg instrument or for the overall instrument.
578 TradeInputSource @InptSrc N To requests trades that were submitted from a specific trade input source.
579 TradeInputDevice @InptDev N To request trades that were submitted from a specific trade input device.
725 ResponseTransportType @RspTransportTyp N Ability to specify whether the response to the request should be delivered inband or via pre-arranged out-of-band transport.
726 ResponseDestination @RspDest N URI destination name. Used if ResponseTransportType (725) is out-of-band.
58 Text @Txt N Used to match specific values within Text (58) fields
354 EncodedTextLen @EncTxtLen C
355 EncodedText @EncTxt C
1011 MessageEventSource @MsgEvtSrc N Used to identify the event or source which gave rise to a message
<Standard Message Trailer> Y