Definition
The Trade Capture Report message can be:
- Used to report trades between counterparties.
- Used to report trades to a trade matching system
- Can be sent unsolicited between counterparties.
- Sent as a reply to a Trade Capture Report Request.
- Can be used to report unmatched and matched trades.
Message structure 371 distinct fields
Source order, including nested components and groups. Group counts precede the repeated entries. “Required here” is relative to the enclosing component or group, not unconditional in the message. A dash means not marked required; conditional requirements remain in the source notes. This is a reference, not a counterparty-specific validator.
StandardHeaderComponentRequired
MsgType = AE
StandardHeader definition & usage →
FIX.4.4 (Always unencrypted, must be first field in message)
(Always unencrypted, must be second field in message)
(Always unencrypted, must be third field in message)
(Always unencrypted)
(Always unencrypted)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Required to identify length of encrypted section of message. (Always unencrypted)
Required when message body is encrypted. Always immediately follows SecureDataLen field.
(Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
Sender's LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
"ADMIN" reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Always required for retransmitted messages, whether prompted by the sending system or as the result of a resend request. (Can be embedded within encrypted data section.)
Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
Required for message resent as a result of a ResendRequest. If data is not available set to same value as SendingTime (Can be embedded within encrypted data section.)
Required when specifying XmlData to identify the length of a XmlData message block. (Can be embedded within encrypted data section.)
Can contain an XML formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.) See Volume 1: FIXML Support
Type of message encoding (non-ASCII characters) used in a message’s "Encoded" fields. Required if any "Encoding" fields are used.
The last MsgSeqNum value received by the FIX engine and processed by downstream application, such as trading system or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.
HopRepeating groupCount tag 627—
Number of repeating groups of historical "hop" information. Only applicable if OnBehalfOfCompID is used, however, its use is optional. Note that some market regulations or counterparties may require tracking of message hops.
Unique identifier for the Trade Capture Report
Identifies Trade Report message transaction type.
Request ID if the Trade Capture Report is in response to a Trade Capture Report Request
Type of Execution being reported: Uses subset of ExecType for Trade Capture Reports
Number of trade reports returned - if this report is part of a response to a Trade Capture Report Request
Indicates if this is the last report in the response to a Trade Capture Report Request
Set to 'Y' if message is sent as a result of a subscription request or out of band configuration as opposed to a Position Request.
Used to subscribe / unsubscribe for trade capture reports. If the field is absent, the value 0 will be the default
The TradeReportID that is being referenced for some action, such as correction or cancellation
Used to associate a group of trades together. Useful for average price calculations.
Exchanged assigned Execution ID (Trade Identifier)
Status of order as of this trade report
Reason for restatement
Indicates if the trade capture report was previously reported to the counterparty
Can be used to indicate cabinet trade pricing
InstrumentComponentRequired
Instrument definition & usage →
Common, "human understood" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles) Use "[N/A]" for products which do not have a symbol.
Used in Fixed Income with a value of "WI" to indicate "When Issued" for a security to be reissued under an old CUSIP or ISIN or with a value of "CD" to indicate a EUCP with lump-sum interest rather than discount price.
Takes precedence in identifying security to counterparty over SecurityAltID block. Requires SecurityIDSource if specified.
Required if SecurityID is specified.
SecAltIDGrpRepeating groupCount tag 454—
Number of alternate Security Identifiers
SecAltIDGrp definition & usage →
Indicates the type of product the security is associated with (high-level category)
Indicates the type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values. It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments.
It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments. Required for Fixed Income. Refer to Volume 7 - Fixed Income Futures and Options should be specified using the CFICode[461] field instead of SecurityType[167] (Refer to Volume 7 - Recommendations and Guidelines for Futures and Options Markets.)
Sub-type qualification/identification of the SecurityType (e.g. for SecurityType="MLEG"). If specified, SecurityType is required.
Specifies the month and year of maturity. Applicable for standardized derivatives which are typically only referenced by month and year (e.g. S&P futures). Note MaturityDate (a full date) can also be specified.
Specifies date of maturity (a full date). Note that standardized derivatives which are typically only referenced by month and year (e.g. S&P futures).may use MaturityMonthYear and/or this field. When using MaturityMonthYear, it is recommended that markets and sell sides report the MaturityDate on all outbound messages as a means of data enrichment.
For Options.
Date interest is to be paid. Used in identifying Corporate Bond issues.
Date instrument was issued. For Fixed Income IOIs for new issues, specifies the issue date.
(Deprecated, use UnderlyingSecurityType (310) )
(Deprecated, use TerminationType (788) )
(Deprecated, use Price (44) )
For Fixed Income: Amortization Factor for deriving Current face from Original face for ABS or MBS securities, note the fraction may be greater than, equal to or less than 1. In TIPS securities this is the Inflation index. Qty * Factor * Price = Gross Trade Amount For Derivatives: Contract Value Factor by which price must be adjusted to determine the true nominal value of one futures/options contract. (Qty * Price) * Factor = Nominal Value
The location at which records of ownership are maintained for this instrument, and at which ownership changes must be recorded. Can be used in conjunction with ISIN to address ISIN uniqueness issues.
ISO Country code of instrument issue (e.g. the country portion typically used in ISIN). Can be used in conjunction with non-ISIN SecurityID (e.g. CUSIP for Municipal Bonds without ISIN) to provide uniqueness.
A two-character state or province abbreviation.
The three-character IATA code for a locale (e.g. airport code for Municipal Bonds).
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Used for derivatives, such as options and covered warrants
Used for derivatives
Used for derivatives, such as options and covered warrants to indicate a versioning of the contract when required due to corporate actions to the underlying. Should not be used to indicate type of option - use the CFICode[461] for this purpose.
For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.
For Fixed Income.
Can be used to identify the security.
Must be set if EncodedIssuer field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field.
Must be set if EncodedSecurityDesc field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field.
Identifies MBS / ABS pool
Must be present for MBS/TBA
The program under which a commercial paper is issued
The registration type of a commercial paper issuance
EvntGrpRepeating groupCount tag 864—
Number of repeating EventType group entries.
If different from IssueDate
If different from IssueDate and DatedDate
FinancingDetailsComponent—
FinancingDetails definition & usage →
The full name of the base standard agreement, annexes and amendments in place between the principals and applicable to this deal
A common reference to the applicable standing agreement between the principals
A reference to the date the underlying agreement was executed.
Currency of the underlying agreement.
For Repos the timing or method for terminating the agreement.
Settlement date of the beginning of the deal
Repayment / repurchase date
Delivery or custody arrangement for the underlying securities
Percentage of cash value that underlying security collateral must meet.
OrderQtyDataComponent—
Note: OrderQty field is required unless rejecting or an order ack for a CashOrderQty or PercentOrder.
OrderQtyData definition & usage →
One of CashOrderQty, OrderQty, or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified.
One of CashOrderQty, OrderQty, or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified. Specifies the approximate "monetary quantity" for the order. Broker is responsible for converting and calculating OrderQty in tradeable units (e.g. shares) for subsequent messages.
For CIV - Optional. One of CashOrderQty, OrderQty or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified.
For CIV - Optional
For CIV - Optional
UndInstrmtGrpRepeating groupCount tag 711—
UndInstrmtGrp definition & usage →
UnderlyingInstrumentComponent—
UnderlyingInstrument definition & usage →
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Specific to the <UnderlyingInstrument> (not in <Instrument>)
Specific to the <UnderlyingInstrument> (not in <Instrument>) Unit amount of the underlying security (par, shares, currency, etc.)
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal clean price (percent-of-par or per unit) of the underlying security or basket.
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal price (percent-of-par or per unit) of the underlying security or basket. "Dirty" means it includes accrued interest
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal price (percent-of-par or per unit) of the underlying security or basket at the end of the agreement.
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the start of the agreement
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value currently attributed to this collateral
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the end of the agreement
UnderlyingStipulationsRepeating groupCount tag 887—
Specific to the <UnderlyingInstrument> (not in <Instrument>)
UnderlyingStipulations definition & usage →
Required if NoUnderlyingStips >0
Trade Quantity.
Trade Price.
Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx is expressed in Yield, Spread, Discount or any other price type that is not percent-of-par.
Applicable for F/X orders
Applicable for F/X orders
Used when reporting other than current day trades.
Average Price - if present then the LastPx will contain the original price on the execution
SpreadOrBenchmarkCurveDataComponent—
SpreadOrBenchmarkCurveData definition & usage →
For Fixed Income
Must be present if BenchmarkPrice is used.
The identifier of the benchmark security, e.g. Treasury against Corporate bond.
Source of BenchmarkSecurityID. If not specified, then ID Source is understood to be the same as that in the Instrument block.
Average Pricing indicator
PositionAmountDataRepeating groupCount tag 753—
PositionAmountData definition & usage →
Number of Position Amount entries
Type of report if multileg instrument. Provided to support a scenario for trades of multileg instruments between two parties.
Reference to the leg of a multileg instrument to which this trade refers Used when MultiLegReportingType = 2 (Single Leg of a Multileg security)
TrdInstrmtLegGrpRepeating groupCount tag 555—
Number of legs Identifies a Multi-leg Execution if present and non-zero.
TrdInstrmtLegGrp definition & usage →
InstrumentLegComponent—
InstrumentLeg definition & usage →
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Specific to the <InstrumentLeg> (not in <Instrument>)
Specific to the <InstrumentLeg> (not in <Instrument>)
Specific to the <InstrumentLeg> (not in <Instrument>)
Identifies MBS / ABS pool
LegStipulationsRepeating groupCount tag 683—
LegStipulations definition & usage →
Required if NoLegStipulations >0
NestedPartiesRepeating groupCount tag 539—
NestedParties definition & usage →
Repeating group below should contain unique combinations of NestedPartyID, NestedPartyIDSource, and NestedPartyRole
Used to identify source of NestedPartyID. Required if NestedPartyIDSource is specified. Required if NoNestedPartyIDs > 0.
Used to identify class source of NestedPartyID value (e.g. BIC). Required if NestedPartyID is specified. Required if NoNestedPartyIDs > 0.
Identifies the type of NestedPartyID (e.g. Executing Broker). Required if NoNestedPartyIDs > 0.
NstdPtysSubGrpRepeating groupCount tag 804—
Repeating group of NestedParty sub-identifiers.
NstdPtysSubGrp definition & usage →
Time the transaction represented by this Trade Capture Report occurred
TrdRegTimestampsRepeating groupCount tag 768—
TrdRegTimestamps definition & usage →
Required if NoTrdRegTimestamps > 1
Required if NoTrdRegTimestamps > 1
Optional
Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values.
TrdCapRptSideGrpRepeating groupCount tag 552Required
Number of sides
TrdCapRptSideGrp definition & usage →
PartiesRepeating groupCount tag 453—
Repeating group below should contain unique combinations of PartyID, PartyIDSource, and PartyRole
Used to identify source of PartyID. Required if PartyIDSource is specified. Required if NoPartyIDs > 0.
Used to identify class source of PartyID value (e.g. BIC). Required if PartyID is specified. Required if NoPartyIDs > 0.
Identifies the type of PartyID (e.g. Executing Broker). Required if NoPartyIDs > 0.
PtysSubGrpRepeating groupCount tag 802—
Repeating group of Party sub-identifiers.
PtysSubGrp definition & usage →
StipulationsRepeating groupCount tag 232—
Stipulations definition & usage →
Required if NoStipulations >0
TrdAllocGrpRepeating groupCount tag 78—
TrdAllocGrp definition & usage →
NestedParties2Repeating groupCount tag 756—
NestedParties2 definition & usage →
Repeating group below should contain unique combinations of Nested2PartyID, Nested2PartyIDSource, and Nested2PartyRole
Used to identify source of Nested2PartyID. Required if Nested2PartyIDSource is specified. Required if NoNested2PartyIDs > 0.
Used to identify class source of Nested2PartyID value (e.g. BIC). Required if Nested2PartyID is specified. Required if NoNested2PartyIDs > 0.
Identifies the type of Nested2PartyID (e.g. Executing Broker). Required if NoNested2PartyIDs > 0.
NstdPtys2SubGrpRepeating groupCount tag 806—
Repeating group of Nested2Party sub-identifiers.
NstdPtys2SubGrp definition & usage →
Indicates drop copy.
StandardTrailerComponentRequired
StandardTrailer definition & usage →
Required when trailer contains signature. Note: Not to be included within SecureData field
Note: Not to be included within SecureData field
(Always unencrypted, always last field in message)