TRAX FIX Gateway Trade Matching – FIX 5.0 SP2 - MarketAxess
-
Upload
khangminh22 -
Category
Documents
-
view
3 -
download
0
Transcript of TRAX FIX Gateway Trade Matching – FIX 5.0 SP2 - MarketAxess
Confidential and Proprietary
Prepared by Trax
© Copyright 2020 by Trax.
All Rights Reserved.
Trax and the Trax logo are trademarks of Xtrakter Limited.
While every precaution has been taken in the preparation of this document, Trax assumes no responsibility for errors, omissions, or for damages resulting from the use of the information herein.
Products or corporate names may be trademarks or registered trademarks of other companies and are used only for the explanation and to the owner’s benefit, without intent to infringe.
Xtrakter Limited
5 Aldermanbury Square
London
EC2V 7HR
Disclosure
Xtraker Limited ('Trax') has developed this Documentation for the purpose of providing relevant technical information and requirements to current and potential clients of the applicable Trax services. The Documentation is, and contains information that is, proprietary to Trax and is confidential. You may use the Documentation solely for your internal use for the purpose of evaluating or using the applicable Trax services. You shall not copy or redistribute all or any of the Documentation without Trax’s prior written permission, except you may make copies for internal use solely for the purpose stated above. Trax owns all intellectual property rights in the Documentation and it shall at all times be and remain the sole and exclusive property of Trax. THE DOCUMENTATION IS BEING PROVIDED TO YOU ON AN 'AS IS' BASIS, WITHOUT WARRANTY OF ANY KIND BY TRAX OR ITS AFFILIATES, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. TRAX SHALL NOT BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF COST OR SAVINGS, OR DAMAGE SUFFERED, OR COSTS AND EXPENSES INCURRED BY YOU OF ANY NATURE, OR FROM ANY CAUSE WHATSOEVER, WHETHER DIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL ARISING OUT OF THE FURNISHING, PERFORMANCE, OR USE OF, OR INABILITY TO USE THE DOCUMENTATION. Provision of the Services to you may only be undertaken pursuant to a written agreement with Trax. Trax does not guarantee that it will enter into such an agreement with any person.
MATCH FIX Gateway
2019 Version 2.1 Page 3 of 181
Version History
Date Description of Changes Version
Mar 2016 Initial version of specifications. 1.0
June 2016 Update to <Parties> block. 1.1
Oct 2018 Document rebranding 2.0
August 2019
Updates in preparation for SFTR:
• Update to <RootParties>
• Update to <TradeAllocGroup>
• Addition of <RegulatoryTradeIDGrp>
• New custom tag TraxUTI
• New custom tag TraxFundLEI.
2.1
October 2019
Minor update:
• Addition of new custom tag TRAXCurrentLCE.
2.1.1
June 2020 • Addition of ‘XM’ to Trade Transaction Conditions
• Update to Benchmark enumerations
• Addition of Amend of EndLeg on Term Repo MAT+ trades
• Addition of Amend of EndLeg on Term Repo AWC trades
2.2
Oct 2020 • Expansion of amendable fields on Term Repo MAT+ trades
• Expansion of amendable fields on Term Repo AWC trades
• Addition of new custom tag TRAXMismatchReason
2.2.1
MATCH FIX Gateway
2019 Version 2.1 Page 4 of 181
Table of Contents
1. Overview ....................................................................................................... 1
1.1 Introduction ............................................................................................................... 1
1.2 FIX Connections .......................................................................................................... 1
1.2.1 Message Routing to TRAX Services ...................................................................................... 2
1.2.2 Supported FIX Versions........................................................................................................ 2
1.2.3 Supported FIX Application Messages .................................................................................. 2
1.3 TRAX Subscribers ........................................................................................................ 3
1.3.1 Matching Configurations ..................................................................................................... 4
1.3.2 Reporting Configurations ..................................................................................................... 4
1.3.3 Buy Side Firms and Fund IDs ................................................................................................ 4
1.4 Supported Instrument and Transaction Types........................................................... 5
1.5 FIX Session Behavior .................................................................................................. 5
2. Message Flows .............................................................................................. 7
2.1 Trade Entry ............................................................................................................... 12
2.1.1 Amend an Unmatched Trade............................................................................................. 14
2.1.2 Cancelling an Unmatched Trade) ...................................................................................... 16
2.1.3 Use of TradeReportRefID (572) ......................................................................................... 17
2.2 Rejecting a TradeCaptureReport (AE) Message ....................................................... 18
2.3 Acknowledging a TradeCaptureReport (AE) Message ............................................. 19
2.4 Advisories ................................................................................................................. 21
2.4.1 Optional Acknowledgement or Rejection.......................................................................... 22
2.4.2 Amended Trade Advisory .................................................................................................. 23
2.4.3 Cancelled Trade Advisory .................................................................................................. 25
2.5 Deny an Advisory ..................................................................................................... 27
2.5.1 Reporting a Denied Trade to the Submitting Party ........................................................... 29
2.6 Mismatched Trade Update ...................................................................................... 30
2.7 Matched Trade Confirmations ................................................................................. 33
2.7.1 Post-Match Amendment (No/Was), Addendum and Cancel Confirmations ..................... 34
2.8 Amend a Matched Trade (No/Was) ......................................................................... 35
2.9 Cancel a Matched Trade .......................................................................................... 36
2.10 Lifecycle Events (Financing Trades) .......................................................................... 38
2.10.1 Submitting, Amending and Cancelling a Lifecycle Event ................................................... 39
2.10.2 Lifecycle Event Advisory .................................................................................................... 42
2.10.3 Denying a Lifecycle Event .................................................................................................. 44
2.10.4 Reporting a Denied Lifecycle Event to the Submitting Party ............................................. 46
2.10.5 Reporting a Matched Lifecycle Event ................................................................................ 48
2.11 Trade Queries ........................................................................................................... 50
2.11.1 Query Criteria .................................................................................................................... 51
2.11.2 Query Response – Reject Invalid Query ............................................................................ 53
2.11.3 Query Response – Valid Query with Null Result Set .......................................................... 54
2.11.4 Query Response – Valid Query with Results...................................................................... 54
MATCH FIX Gateway
2019 Version 2.1 Page 5 of 181
2.12 Unsolicited Trade Status Updates ............................................................................ 57
3. TRAX Match Business Rules ......................................................................... 60
3.1 Submitting/Amending Cash Trades ......................................................................... 60
3.1.1 Settlement Date and Code ................................................................................................ 62
3.1.2 Price Type and Deal Price .................................................................................................. 63
3.1.3 Place of Trade Type and Place of Trade ............................................................................. 63
3.1.4 Trade Transaction Conditions ............................................................................................ 63
3.2 Submitting/Amending Financing Trades .................................................................. 64
3.3 Trade Matching ........................................................................................................ 67
3.3.1 Disclosed Fields – All Trades .............................................................................................. 67
3.3.2 Disclosed Fields – Cash Trades Only .................................................................................. 69
3.3.3 Disclosed Fields – Financing Transactions Only ................................................................. 70
3.4 Amending a Matched Trade (No/Was) .................................................................... 72
3.4.1 Amending Settlement Details (Cash and Financing Trades) .. Error! Bookmark not defined.
3.4.2 Closing Leg Details (Financing Trades Only) ...................................................................... 73
3.5 Settlement Instruction (SSI) Matching ..................................................................... 75
3.5.1 Disclosed Fields – Settlement Instructions (SSI) ................................................................ 78
3.5.2 Optional Settlement Breakdown Amounts ....................................................................... 80
3.6 Lifecycle Events ........................................................................................................ 82
3.6.1 Valid Lifecycle Events by Term and Rate Types ................................................................. 82
3.6.2 Fields Required per Event Type ......................................................................................... 82
3.7 Identifying Parties .................................................................................................... 84
3.7.1 BIC, MIC and FRN Data ...................................................................................................... 85
3.7.2 Counterparty ..................................................................................................................... 85
3.7.3 Trade Type and Place of Trade .......................................................................................... 86
3.7.4 Operator (TRAX User ID) .................................................................................................... 87
3.7.5 Executing Firms in <Parties> .............................................................................................. 87
3.8 Instruments .............................................................................................................. 87
3.8.1 Symbol (55), Underlying Symbol (311) .............................................................................. 88
3.8.2 Product (460), SecurityType (167) and SecuritySubType (762) ......................................... 88
3.8.3 SecurityID (48) and SecurityIDSource (22)......................................................................... 89
3.8.4 Underlying Instrument (Financing Trades Only) ................................................................ 91
3.9 Control Number References .................................................................................... 91
3.10 MiFID I Reporting Functions ..................................................................................... 92
3.10.1 Trade Regulatory Conditions ............................................................................................. 92
3.10.2 Agency Trades.................................................................................................................... 94
3.10.3 Complex (Aggregate and Average Price) Trades ............................................................... 95
4. Messages .................................................................................................... 98
4.1 TradeCaptureReport (AE) ......................................................................................... 98
4.2 TradeCaptureReportAck (AR) ................................................................................. 105
4.3 TradeCaptureReportRequest (AD) ......................................................................... 109
4.4 TradeCaptureReportRequestAck (AQ) ................................................................... 111
4.5 BusinessMessageReject (j) ..................................................................................... 112
5. Component Blocks ..................................................................................... 114
MATCH FIX Gateway
2019 Version 2.1 Page 6 of 181
5.1 <StandardHeader> ................................................................................................. 116
5.2 <StandardTrailer>................................................................................................... 117
5.3 <TradePriceConditionsGrp> ................................................................................... 118
5.4 <RootParties> ......................................................................................................... 118
5.5 <Instrument> .......................................................................................................... 120
5.6 <SecAltIDGrp> ........................................................................................................ 122
5.7 <FinancingDetails> ................................................................................................. 122
5.8 <UndInstrmntGrp> ................................................................................................. 123
5.9 <UnderlyingInstrument> ........................................................................................ 123
5.10 <UndSecAltIDGrp> ................................................................................................. 125
5.11 <SpreadOrBenchmarkCurveData> ......................................................................... 126
5.12 <TrdCapRptSideGrp> .............................................................................................. 127
5.13 <TrdCapRptAckSideGrp> ........................................................................................ 129
5.14 <Parties> ................................................................................................................ 131
5.15 <CommissionData> ................................................................................................ 132
5.16 <Stipulations>......................................................................................................... 132
5.17 <MiscFeesGrp> ....................................................................................................... 134
5.18 <TrdAllocGrp> ........................................................................................................ 135
5.19 <SettlDetails> ......................................................................................................... 135
5.20 <SettlParties> ......................................................................................................... 136
5.21 <SettlPtysSubGrp> ................................................................................................. 137
5.22 <TradeReportOrderDetail> .................................................................................... 137
5.23 <TrdCapDtGrp> ...................................................................................................... 137
5.24 <TRAXControlNumbers> ........................................................................................ 138
5.25 <TRAXLifecycleEventGrp> ...................................................................................... 139
5.26 <TRAXSide2DisclosedData> ................................................................................... 142
6. TRAX Customizations ................................................................................. 144
6.1 Extensions to Existing Fields .................................................................................. 144
6.2 Custom Fields ......................................................................................................... 149
7. Appendix A - Sample Messages Cash Trades .............................................. 157
7.1 Cash Bond Trade .................................................................................................... 157
7.1.1 New Trade Entry (AE) ...................................................................................................... 157
7.1.2 Accept New Trade – Unmatched (AR) ............................................................................. 158
7.1.3 Matched Trade Confirmation (AE) ................................................................................... 158
7.2 Settlement Instructions .......................................................................................... 158
7.2.1 Alleged No/Was Advisory (AE)......................................................................................... 159
7.2.2 Post-Match No/Was Amendment (AE) ............................................................................ 159
7.2.3 Accept No/Was Amendment – Matched Settlement (AR) .............................................. 159
7.2.4 Post-Match No/Was Amendment Confirmation (AE) ..................................................... 160
7.3 Cash Equity Trade ................................................................................................... 161
7.3.1 New Trade Entry (AE) ...................................................................................................... 161
7.3.2 Reject Trade Report (AR) ................................................................................................. 161
7.3.3 Re-enter New Trade (AE) ................................................................................................. 161
MATCH FIX Gateway
2019 Version 2.1 Page 7 of 181
7.3.4 Accept New Trade – Reporting Only (AR) ........................................................................ 162
8. Appendix B - Sample Messages Financing Transactions .............................. 163
8.1 Financing Trade ...................................................................................................... 163
8.1.1 New Trade Entry (AE) ...................................................................................................... 164
8.1.2 Accept New Trade – Unmatched (AR) ............................................................................. 164
8.1.3 Matched Trade Confirmation (AE) ................................................................................... 164
8.2 Lifecycle Events ...................................................................................................... 165
8.2.1 Lifecycle Event Advisory – End Date (AE) ........................................................................ 165
8.2.2 Deny Lifecycle Event (AE) ................................................................................................ 166
8.2.3 Acknowledge Deny Instruction (AR) ................................................................................ 166
8.2.4 Amended Lifecycle Event (AE) ......................................................................................... 167
8.2.5 Submit New Lifecycle Event – End Date (AE) ................................................................... 167
8.2.6 Acknowledge New Lifecycle Event – Matched (AR) ........................................................ 168
8.2.7 Matched Lifecycle Event (AE) .......................................................................................... 168
8.2.8 Submit New Lifecycle Event – Close (AE) ......................................................................... 169
8.2.9 Acknowledge New Lifecycle Event – Unmatched (AR) .................................................... 169
8.2.10 Lifecycle Event Advisory – Close (AE) .............................................................................. 170
8.2.11 Lifecycle Event Denied (AE) ............................................................................................. 170
8.2.12 Amend Lifecycle Event (AE) ............................................................................................. 171
8.2.13 Acknowledge Amended Lifecycle Event – Matched (AR) ................................................ 171
8.2.14 Matched Lifecycle Event (AE) .......................................................................................... 172
8.3 Triparty Financing Trade ........................................................................................ 173
TRAX FIX Gateway
1
1) Overview
a) Introduction
The primary purpose for submitting trades to TRAX Match via the FIX API is to match trade details, settlement details and lifecycle events against your counterparty, in order to manage risk.
Cash trades can also be submitted for MiFID I reporting purposes. TRAX Match currently supports MiFID 1 reporting using the same message used for trade matching. This will continue to be supported throughout the MiFID 1 reporting period, including the ‘run-off’ period. For MiFID 2 reporting, a separate service will be provided.
If a subscriber is configured for reporting as well as matching, TRAX Match will report eligible trades based on the configuration. Financing trades are not available for reporting purposes.
This document specifies the FIX messaging functionality available to the TRAX Match service. The TRAX Match FIX gateway provides access to the following functions:
• Trade Entry: TRAX subscribers can enter, amend and cancel trades for reporting and matching purposes. In addition, for matched securities financing trades (e.g. repos) subscribers can enter, amend and cancel trade lifecycle events and match these against their counterparty.
• Cash trades are supported for reporting, trade and settlement matching.
• Financing trades are not supported for reporting purposes. They are supported for trade, settlement and lifecycle event matching.
• Advisories: TRAX subscribers can receive real time advisories of trades entered into the system by their counterparties, and deny these advisories.
• Matched Trade Confirmation: TRAX subscribers can receive real time confirmations of trades matched within TRAX Match.
• Trade Queries: TRAX subscribers can query for details of the current status of their trades within TRAX Match, including trade advisories, counterparty data for matched trades, and lifecycle events for matched securities financing trades.
• Status Updates: TRAX subscribers can receive unsolicited status updates when the status of trades and advisories changes due to an out-of-band action by one of their users, e.g. an action on the TRAX Match GUI.
b) FIX Connections
Connection identifiers must be agreed at setup time between the FIX participant and TRAX Client Integration (SenderCompID and TargetCompID values). Connections will then be associated with subscribers in the TRAX system.
Subscribers can request to have multiple FIX connections, potentially permissioned to different functions (e.g. trade entry vs. matched trade confirmation). If using multiple connections for the same subscriber, TRAX will route outbound messages according to the following rules:
TRAX FIX Gateway
2
• For immediate responses to an inbound message, TRAX will send the response to the connection that sent in the original message only;
• For unsolicited messages sent as a result of an event within TRAX (e.g. a matched trade), TRAX will send the message to all connections with the appropriate functional permission configured.
Please contact Customer Integration to set up FIX connection(s).
i) Message Routing to TRAX Services
TRAX will be supporting multiple services via its FIX interface. In some cases, participants will be able to send overlapping sets of FIX message types to these services, but for different purposes. For example, both the TRAX Match and the TRAX APA services will process TradeCaptureReport (AE) messages, although the purpose will be different – counterparty matching in the former case, MiFID II post-trade transparency reporting in the latter.
TRAX will use the SenderSubID (50) / TargetSubID (57) pair in the <StandardHeader> to manage routing of messages from/to specific services.
In order to send an application-level message to the TRAX Match service, participants must set the TargetSubID (57) = MATCH. Similarly, all outbound business messages from the TRAX Match service will be sent with the SenderSubID (50) = MATCH.
Participants should expect other service descriptions to be added in the future. For example, at the current time, the TRAX APA service is being developed, and will be identified using the SubID = APA.
ii) Supported FIX Versions
• Session Layer: For the session layer, the TRAX FIX gateway currently supports version FIXT.1.1.
• Application Layer: For application messages, the TRAX FIX gateway currently supports FIX 5.0 SP2, up to and including Extension Pack EP194.
• TRAX Customization: In addition, TRAX makes use of a number of custom extensions to existing FIX tags, as well as new custom tags. These are specified in this document.
iii) Supported FIX Application Messages
The following FIX application messages will be supported for each function:
Function Inbound (to TRAX) Outbound (from TRAX)
All Functions BusinessMessageReject (j) BusinessMessageReject (j)
TRAX FIX Gateway
3
Function Inbound (to TRAX) Outbound (from TRAX)
Trade Entry TradeCaptureReport (AE) TradeCaptureReport (AE)
TradeCaptureReportAck (AR)
Advisories TradeCaptureReport (AE)
TradeCaptureReportAck (AR)
TradeCaptureReport (AE)
TradeCaptureReportAck (AR)
Matched Confirmation
N/A TradeCaptureReport (AE)
Trade Queries TradeCaptureReportRequest (AD)
TradeCaptureReportRequestAck (AQ)
TradeCaptureReport (AE)
Status Updates N/A TradeCaptureReport (AE)
Notes:
• Inbound TradeCaptureReport (AE) messages will be used to deny trade advisories.
• Connections configured for the Trade Entry function can receive outbound TradeCaptureReport (AE) messages in the case where the counterparty has denied the trade.
c) TRAX Subscribers
TRAX subscribers are identified using an eight character TRAX Code. The TRAX Code is agreed with TRAX when setting up the subscriber, and is a five character code followed by the city code of the city the subscriber resides in (e.g. “TRAX LON”).
Trax subscribers are unique legal entities that are linked to the following industry standard identifiers (where those identifiers are available):
• Bank Identifier Code (BIC)
• Legal Entity Identifier (LEI)
• FCA reference Number (FRN).
A single firm may have multiple subscribers, and a single FIX connection can send and receive messages on behalf of multiple subscribers.
A TRAX subscriber must also provide a Reporting Firm ID, i.e. the identifier with which they will be identified in transaction reports submitted to the relevant Competent Authority. The Reporting Firm ID can either be a BIC or an FCA Reference Number (FRN).
All application messages sent to TRAX must be sent on behalf of a specific TRAX subscriber, identified in the OnBehalfOfCompID (115) field in the standard header. Similarly, all outbound application messages sent by TRAX will be addressed to a specific subscriber, identified in the DeliverToCompID (128) field. The exception to this rule is the BusinessMessageReject (j) message,
TRAX FIX Gateway
4
which can be sent to TRAX without identifying a TRAX subscriber. Similarly, session-level messages should not identify a specific subscriber.
Subscribers must be configured on the TRAX system prior to a FIX connection sending message son their behalf. Configurations govern the TRAX system behavior for reporting and matching functions.
i) Matching Configurations
A TRAX subscriber can have the following matching options:
• Default matching, where the subscriber will seek to match all trades submitted
• Specific matching rules, where the subscriber will only seek to match certain asset classes
• Non matching subscriber, i.e. where the subscriber will not match any trades
Where a subscriber is matching in TRAX, the subscriber can opt to settlement match with their respective counterparties.
ii) Reporting Configurations
A TRAX subscriber can have the following reporting options (for MiFID I reporting of cash trades only):
Competent Authority (Regulator) Reporting Configuration(s)
Financial Conduct Authority (FCA) Default report – all trades will be reported to the FCA
Selective report – the subscriber specifies on a trade by trade basis which trades will be reported to the FCA
Autorité des marchés financiers (AMF)
Default report – all trades will be reported to the AMF
Selective report – the subscriber specifies on a trade by trade basis which trades will be reported to the AMF
Financial Services and Market Authority (FSMA)
All trades in eligible securities will be reported to the FSMA
iii) Buy Side Firms and Fund IDs
TRAX allows buy side firms (institutional investors such as pension funds, mutual funds etc.) to match financing trades with sell side firms by specifying to which of their Funds the transaction is allocated.
TRAX maintains a list of unique Fund IDs per buy side firm, together with the LEI of the fund and a description of the fund to which the ID refers.
TRAX FIX Gateway
5
iv) Unique Transaction Identifiers (UTI)
The Securities’ Financing Transaction Regulation (SFTR) (EU) 2015/2365 mandates that firms need to agree a Unique Trade Identifier (UTI) with their counterparties on each trade they execute as part of their reporting requirements. TRAX allows subscribers to ‘opt in’ to UTI generation for financing trades. A subscriber that is opted in can submit their own UTI where there is a bilateral agreement between the parties to the trade. Where a UTI is submitted by a subscriber it will be disclosed to the counterparty where the counterparty is opted in. If both counterparties submit a UTI, the same UTI must be submitted by both parties for the trade to match. Where a financing trade is matched, neither of the parties have submitted a UTI and at least one of the parties is opted in, TRAX will generate a UTI and disclose the UTI to each party that is opted in.
d) Supported Instrument and Transaction Types
TRAX Match supports the following financial instruments and transaction types for reporting and matching purposes:
Financial Instrument Type Cash Trades Financing Trades
Equities (EQUT) Yes Yes
Fixed Income (BOND) Yes Yes
Basket Collateral (BASK) No Triparty Only
Notes:
• Financing trades include repurchase agreements (REPO), buy sellbacks (BYSE) and securities loans (LEND)
• Triparty financing trades must have a financial instrument type of BASK, and BASK is only supported for these transactions.
e) FIX Session Behavior
The TRAX Match FIX interface utilizes a standard FIXT.1.1 session. TRAX does not specify the details of this session behavior, as these are covered by the FIX protocol. It is strongly suggested that customer FIX implementations make use of an industry-standard FIX gateway to manage session behavior.
If customers wish to build their own FIX gateway, specifications for the session behavior can be found at http://www.fixtradingcommunity.org.
Daily Session Reset: TRAX will recycle FIX sequence numbers daily, between 23:00 and 23:30 UTC. Customers are encouraged to log out prior to this time, reset their outbound sequence number to 1, and log back in after the window has passed.
All sessions that have not logged out normally prior to 23:00UTC will be logged out by TRAX. TRAX will then disconnect the connections, reset all session (i.e. reset outbound sequence numbers and
TRAX FIX Gateway
6
expected inbound sequence numbers to 1), and prevent re-connection until the sessions have been reset.
Note that messages sent/received in the prior session will not be automatically recovered once the session is reset. To recover business information from prior FIX sessions, customers will need to issue a query (i.e. send a TradeCaptureReportRequest message).
TRAX FIX Gateway
7
2) Message Flows The FIX interface functionality can be broken down into the following functional flows:
Functionality FIX Business Message Flow FIX Specification Reference
Reporting Only Trades One-party report for pass through FIX 5.0 SP2 specification, Vol. 5, pp. 84-85
Matching Trades One-party report for matching FIX 5.0 SP2 specification, Vol. 5, pp. 85, 166, 171, 176-178
Trade Queries Trade capture report request FIX 5.0 SP2 specification, Vol. 5, p. 108
Lifecycle Events Custom Implementation EP161, EP179, Custom Requirements
The FIX spec for version 5.0 SP2 can be accessed at:
http://www.fixtradingcommunity.org/pg/structure/tech-specs/fix-protocol.
TRAX FIX Gateway
8
Reporting Only Trades – one party (Party A) submits trades to TRAX for MiFID I reporting purposes only. These trades will not be sent on to counterparties, nor will they be matched within the TRAX Match application. However, where appropriate they will be reported on to the corresponding regulatory reporting body.
Reporting Only Trades: One Party Report for Pass-Through (Cash Trades Only)
1. Send new tradeTrade Capture Report
NEW TRADE
2. Trade(s) acceptedTrade Capture Report Ack
ACCEPTED
3. TRAX determines
reporting obligations and
destination
4. TRAX sends trade(s) to
appropriate regulatory
bodies
(May be in batch form)
Party A TRAX
RegulatorsTRADE(S)
TRAX FIX Gateway
9
Matching Trades – one or both parties to a trade (Party A and Party B) each submits their view of a trade to TRAX, with the goal of having the trade matched against their counterparty and confirmed. Depending on the permissions of the individual party, the trades may be reported to the appropriate regulatory reporting body.
Matching Trades: One Party Report for Matching
1. Send new tradeTrade Capture Report
NEW TRADE
2. Trade acceptedTrade Capture Report Ack
ACCEPTED
Trade Capture Report
ALLEGED
4. Send matching new tradeTrade Capture Report
NEW
3. Trade is unmatched
5. Trade acceptedTrade Capture Report Ack
ACCEPTED
6. Trade matchedTrade Capture Report
MATCHED
Trade Capture Report
MATCHED
Party A TRAX Party B
TRAX FIX Gateway
10
Lifecycle Events – for securities financing (repo) transactions, parties can submit trade lifecycle events for forwarding on to their counterparty, and matching purposes.
Lifecycle Event Matching: Financing Trades Only
Trade is matched
1. Send new lifecycle event
Trade Capture Report
ALLEGED ADDENDUM
4. Send matching lifecycle
event
Trade Capture Report
NEW EVENT
3. Send event advisory
5. Event acceptedTrade Capture Report Ack
ACCEPTED
6. Send event advisory
Trade Capture Report
MATCHED
Trade Capture Report
MATCHED
Trade Capture Report
NEW EVENT
2. Event acceptedTrade Capture Report Ack
ACCEPTED
Trade Capture Report
ALLEGED ADDENDUM
7. Event is matched:
Send Matched Trade
Addendum (all events)
Trade Capture Report
ADDENDUM
Trade Capture Report
ADDENDUM
Party A TRAX Party B
TRAX FIX Gateway
11
Trade Queries – a FIX session can query for trades at any time, and receive the current state of all trades that match their query parameters and permissions.
Trade Queries
1. Trade queryTrade Capture Report Request
<QUERY CRITERIA>
2. Trade(s) matching
criteria
Trade Capture Report
CURRENT TRADE
Trade Capture Report
CURRENT TRADE
2a. Last trade matching
criteria
Trade Capture Report
CURRENT TRADE
Trade Capture Report
CURRENT TRADE
Party A TRAX Main Query Types:
Query for single trade by Trade ID or Senders Reference
Query for all trades matching criteria:
- Trade Status
- Trade Date Range
- Instrument Identifier
- Buy/Sell (Side)
- Counterparty
Query for all trade advisories
In general, only the fields needed for identify each message function/step have been provided. However, where a particular function requires minimal information (such as a cancel or reject), the entire message definition is provided and indicated as such.
TRAX FIX Gateway
12
a) Trade Entry
1. Submits new trade
Trade Capture Report (AE)
TradeReportID = <new>
FirmTradeID = <new>
TradeReportTransType = 0
TradeReportType = 0
STOP 2a. Trade is rejected
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 1
TradeReportRejectReason
2b. Trade is accepted
OR
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TrdRptStatus = 0
TradeHandlingInstr
MatchStatus
Subscriber TRAX
To submit a new trade, subscribers will send a TradeCaptureReport (AE) message containing the following fields:
Tag Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message. TRAX will return this in the associated TradeCaptureReportAck (AR) message.
1041 FirmTradeID Required when submitting a new trade. Unique identifier of the trade assigned by the subscriber. TRAX will return this in all associated messages.
487 TradeReportTransType 0 = New
TRAX FIX Gateway
13
Tag Field Name Comments / Rules
856 TradeReportType 0 = Submit
Notes:
• In addition to the fields above, a new trade submission must include all necessary data required to conform to the TRAX Match business rules
• Submission of settlement details is optional. However, if provided by one of the counterparties, settlement details will be matched according to the TRAX Match business rules.
TRAX FIX Gateway
14
i) Amend an Unmatched Trade
1. Amends unmatched
trade
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 2
TradeReportRefID = <reference>
STOP 2a. Amendment is rejected
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 1
TradeReportRejectReason
2b. Amendment is accepted
OR
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TradeReportRefID = <Reference>
TrdRptStatus = 0
TradeHandlingInstr
MatchStatus
Subscriber TRAX
An unmatched trade can be amended by a regular trade amendment if it is in one of the following states: NMT, UNM, MSM, DEN. To amend an unmatched trade, subscribers must resubmit all the trade details. Any details omitted from the amend message will be deemed to have been deleted, and will be removed from the trade.
TRAX FIX Gateway
15
Note that when amending a trade, in addition to the trade details, amendments must contain the following fields:
Tag Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message. TRAX will return this in the associated TradeCaptureReportAck (AR) message.
1003 TradeID TRAX identifier of the trade.
487 TradeReportTransType 2 = Replace
572 TradeReportRefID TradeReportID of the previous TradeCaptureReport (AE) sent by the subscriber.
Note: In addition to the fields above, a trade amendment must conform to the same rules as a new trade submission, i.e. must include the full trade details. Any data present in the original new trade, but absent in the amendment, will be deemed to have been deleted, and the business rules will be validated accordingly.
TRAX FIX Gateway
16
ii) Cancelling an Unmatched Trade)
1. Cancels trade
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 1
TradeReportRefID = <reference>
STOP 2a. Cancel is rejected
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 1
TradeReportRejectReason
2b. Cancel is accepted
OR
STOP
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TradeReportRefID = <reference>
TrdRptStatus = 0
TradeHandlingInstr
Subscriber TRAX
When cancelling an unmatched trade, subscribers do not need to include all the trade details in the TradeCaptureReport (AE) message. It is sufficient to send enough information to identify the desired action (pre-match cancel) and the trade, as follows (note that this is the entire message definition).
Note that when amending a trade, subscribers should not send TradeReportType (856):
TRAX FIX Gateway
17
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AE
571 TradeReportID Y Identifier of the TradeCaptureReport (AE) message. TRAX will return this in the associated TradeCaptureReportAck (AR) message.
1003 TradeID Y TRAX identifier of the trade.
487 TradeReportTransType Y 1 = Cancel
572 TradeReportRefID Y TradeReportID of the previous TradeCaptureReport (AE) sent by the subscriber.
<Instrument> Y Required by FIX for a TradeCaptureReport (AE) message. For cancel trade instructions, only Symbol (55) is required.
55 Symbol Y Required to properly structure the message. Will not be processed by TRAX Match for a cancel instruction.
<TrdCaptRptSideGrp> Y Required by FIX for a TradeCaptureReport (AE) message. For pre-matched cancel messages, only NoSides (552) and Side (54) are required
552 NoSides Y When submitting a cancel instruction, should always equal 1.
→ 54 Side Y The subscriber’s side of the trade.
<StandardTrailer> Y
iii) Use of TradeReportRefID (572)
The TradeReportRefID (572) field is required by FIX when TradeReportTransType (487) is Cancel (1) or Replace (2). In the case of TRAX Match, this means that the field is required in the following situations:
• When amending or cancelling an unmatched trade
• When denying a trade advisory
• When amending or cancelling a lifecycle event
• When denying a lifecycle event advisory
TRAX FIX Gateway
18
The field is not required for post-match No/Was amendments and trade report cancels, nor when entering a new lifecycle event. However, it can be optionally specified.
In all cases where the field is submitted, TRAX will use it to ensure that the instruction from the subscriber (i.e. the amendment, cancel or deny) belongs to the most current version of the trade. Specifically, TRAX will look up the TradeCaptureReport (AE) message referenced, and determine which version of the trade this report is associated with. If the trade has progressed to a newer version, TRAX will nack in inbound instruction. If the field is not sent, TRAX will assume that the instruction is meant to apply to the most recent version of the trade as held in the TRAX database.
Thus TradeReportRefID (572) is essentially used by TRAX to avoid any business race conditions, for example a subscriber denying a trade that has already been amended by the submitting party. It is recommended that subscribers always send the field, even in cases where it is optional, in order to eliminate this possibility. Subscribers should ensure that the value always references the last TradeCaptureReport (AE) message associated with the trade, whether sent by them or received from TRAX.
b) Rejecting a TradeCaptureReport (AE) Message
If the inbound TradeCaptureReport (AE) message cannot be processed, or violates a business rule, TRAX Match will reject it with a TradeCaptureReportAck (AR) message containing the following fields (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AR
571 TradeReportID Y Identifier of the TradeCaptureReport (AE) message being rejected.
939 TrdRptStatus Y 1 = Rejected
751 TradeReportRejectReason Y Code indicating the reason the TradeCaptureReport (AE) message was rejected.
1 = Invalid party information
2 = Unknown instrument
3 = Unauthorized to report trades
4 = Invalid trade type
99 = Other
TRAX FIX Gateway
19
Tag Field Name Req? Comments / Rules
1328 RejectText N Human readable text containing the reason for the rejection
<Instrument> Y Required by FIX for a TradeCaptureReportAck (AR) message.
When rejecting a TradeCaptureReport (AE), only Symbol (55) will be sent
55 Symbol Y [N/A]
<StandardTrailer> Y
c) Acknowledging a TradeCaptureReport (AE) Message
TRAX Match will acknowledge a TradeCaptureReport (AE) message with a TradeCaptureReportAck (AR) message containing the full details of the trade, including:
Tag Field Name Comments / Rules
571 TradeReportID TradeReportID (571) of the message being acknowledged
1003 TradeID Trade ID of the subscriber’s trade, as assigned by TRAX
572 TradeReportRefID When acknowledging an amendment or cancel instruction, TRAX will include the TradeReportRefID contained within the instruction.
939 TrdRptStatus 0 = Accepted
880 TrdMatchID If the trade is matched, TRAX will assign a unique identifier to the matched pair of trades. TrdMatchID will not be sent for unmatched trades.
1123 TradeHandlingInstr Indicates whether the trade was accepted for matching and reporting, or reporting only purposes.
2 = One-party report for matching – if the trade was accepted for matching and reporting
3 = One-party report for pass through – if the trade was accepted for reporting only
1124 OrigTradeHandlingInstr Used when acknowledging a trade amendment that has changed the TradeHandlingInstr (1123). Carries the previous TradeHandlingInstr (1123) value.
TRAX FIX Gateway
20
Tag Field Name Comments / Rules
573 MatchStatus Indicates whether the trade matches a corresponding trade submitted by the counterparty
0 = Matched
1 = Unmatched
574 MatchType Carries the TRAX Match trade state of the trade
40012 TRAXTradeVersion Current version number of the trade within TRAX Match, after processing the inbound instruction.
Notes:
• All trade and settlement details submitted by the subscriber will be included in the message.
• If mismatched (MatchType (574) = MSM), the message will contain the TRAX trade identifier of the mismatched counterparty’s trade in SideTradeID (1506) of side 2 under the <TrdCapRptAckSideGrp>. Recipients should compare this to the advisories they have received from the counterparty.
• If matched, TRAX will send all data about the subscriber’s trade, as well as all disclosed fields on the counterparty’s matching trade will be included in the message.
TRAX FIX Gateway
21
d) Advisories
1.TRAX accepts new trade
for matching from Party X,
with the Subscriber as the
counterparty
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 0
TradeReportType = 1
TradeHandlingInstr = 2
MatchStatus = 2
2a. Rejects alleged trade
(Optional)STOP
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 1
TradeReportRejectReason
OR
2b. Accepts alleged trade
(Optional)
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 0
Subscriber TRAX
When a party submits an unmatched trade to TRAX naming a subscriber as the counterparty, TRAX will send the subscriber a trade advisory with the disclosed details of the trade.
The subscriber cannot match an advisory by responding to it or accepting it. In order to match the trade, the subscriber must submit a new trade, or amend an existing trade, such that all TRAX trade matching business rules are satisfied.
TRAX FIX Gateway
22
New trade advisories will contain the following fields:
Tag Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message as assigned by TRAX.
1003 TradeID TRAX Trade ID of the submitting party’s side of the trade
487 TradeReportTransType 0 = New
856 TradeReportType 1 = Alleged
1123 TradeHandlingInstr 2 = One-party report for matching
573 MatchStatus 2 = Advisory
2302 TradeVersion Current version number of the trade within TRAX Match.
Notes:
• The trade advisory represents the submitting party’s side of the trade, not the subscriber’s. Therefore all trade details (including TradeID) refer to the submitting party. For instance, Side 1 of the <TrdCapRptSideGrp> will be the submitting party’s side.
• The subscriber will be identified as the Contra Firm (counterparty) in the <RootParties> component block. The submitting party will be identified as the Executing Firm in the <Parties> block under Side 1 of the <TrdCapRptSideGrp>.
• The advisory message will contain all disclosed details of the trade.
• Typically, an advisory message will only contain one side in the <TrdCaptRptSideGrp>. However, in the case of a mismatched trade (MatchType = MSM), there will be a Side 2 instance of <TrdCapRptSideGrp> containing the TRAX Trade ID of the subscriber’s mismatching trade in SideTradeID (1506).
i) Optional Acknowledgement or Rejection
The recipient of a trade advisory can optionally reject or acknowledge it by sending TRAX a TradeCaptureReportAck (AR) message containing the TradeReportID (571) of the advisory and a TrdRptStatus (939) indicating if the advisory was processed successfully or not.
Note that this optional ack/nack will not change the state of the trade, and will not be passed on to the submitting party. It will, however, be visible to TRAX customer support users, and may be helpful in testing and troubleshooting scenarios.
TRAX FIX Gateway
23
ii) Amended Trade Advisory
1. Party X amends trade
prior to matching, naming
the Subscriber as the
counterparty
Trade Capture Report (AE)
TradeReportID = <new>
TradeReportRefID = <reference>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 1
TradeHandlingInstr = 2
MatchStatus = 2
2a. Rejects alleged trade
amendment (Optional)STOP
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 1
TradeReportRejectReason
OR
2b. Accepts alleged trade
Amendment (Optional)
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 0
TRAXSubscriber
If a submitting party amends a trade prior to matching, TRAX will send the subscriber an amended trade advisory message. Amended trade advisories will contain the following fields:
Tag FIX Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message as assigned by TRAX.
1003 TradeID TRAX Trade ID of the submitting party’s side of the trade
TRAX FIX Gateway
24
Tag FIX Field Name Comments / Rules
487 TradeReportTransType 2 = Replace
856 TradeReportType 1 = Alleged
1123 TradeHandlingInstr 2 = One-party report for matching
572 TradeReportRefID TradeReportID of the previous TradeCaptureReport (AE) message regarding this advisory.
573 MatchStatus 2 = Advisory
2302 TradeVersion Current version number of the trade within TRAX Match.
Note: An amended trade advisory requires all the same disclosed trade details as a new trade advisory. Recipients should therefore interpret any fields that were populated in the previous advisory, but are missing in the current amendment, to have been deleted by the submitting party.
TRAX FIX Gateway
25
iii) Cancelled Trade Advisory
1. Party X cancels trade
prior to matching, naming
the Subscriber as the
counterparty
Trade Capture Report (AE)
TradeReportID = <new>
TradeReportRefID = <reference>
TradeID = [T1]
TradeReportTransType = 1
TradeReportType = 1
MatchStatus = 2
2a. Rejects alleged trade
cancel (Optional)STOP
Trade Capture Report Ack (AR)
TradeReportID = [TRAX_B3]
TrdRptStatus = 1
TradeReportRejectReason
STOP
OR
2b. Accepts alleged trade
Cancel (Optional)
Trade Capture Report Ack (AR)
TradeReportID = [TRAX_B3]
TrdRptStatus = 0
TRAXSubscriber
If a submitting party cancels a trade prior to matching, TRAX will send the subscriber a cancelled trade advisory message. Cancelled trade advisories will not include all the trade details in the TradeCaptureReport (AE) message. It is sufficient to send enough information to identify the desired action (pre-match cancel), the trade, the trade status and the submitting party, as follows (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType (35) = AE
571 TradeReportID Y Identifier of the TradeCaptureReport (AE) message as assigned by TRAX.
TRAX FIX Gateway
26
Tag Field Name Req? Comments / Rules
1003 TradeID Y TRAX Trade ID of the submitting party’s side of the trade
487 TradeReportTransType Y 1 = Cancel
856 TradeReportType Y 1 = Alleged
572 TradeReportRefID Y TradeReportID of the previous TradeCaptureReport (AE) message regarding this advisory.
<Instrument> Y Required by FIX for a TradeCaptureReport (AE) message. For cancelled trade advisory, only Symbol (55) will be sent.
55 Symbol Y Required to properly structure the message.
573 MatchStatus Y 2 = Advisory
574 MatchType Y CAN = Cancelled
<TrdCaptRptSideGrp> Y Required by FIX for a TradeCaptureReport (AE) message. For a cancelled trade advisory, only NoSides (552), Side (54) and <Parties> will be sent.
552 NoSides Y When cancelling an advisory, should always equal 1
→ 54 Side Y The submitting party’s side of the trade
→ <Parties> Y Required for a cancelled advisory message. Will contain the BIC and TRAX Code of the submitting party, identified by PartyRole = Executing Firm (452=1)
2302 TradeVersion Y Current version number of the trade within TRAX Match.
<StandardTrailer> Y
TRAX FIX Gateway
27
e) Deny an Advisory
1. Denies trade advisory
(DENY)
Trade Capture Report (AE)
TradeReportID = <new>
TradeReportRefID = <reference>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 3
2a. Rejects trade denySTOP
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 1
TradeReportRejectReason
STOP
OR
2b. Accepts trade
deny
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 0
Subscriber TRAX
A subscriber can deny a trade advisory. When denying an advisory, subscribers do not need to include all the trade details in the TradeCaptureReport (AE) message. It is sufficient to send enough information to identify the desired action (deny advisory) and the trade, as follows (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AE
TRAX FIX Gateway
28
Tag Field Name Req? Comments / Rules
571 TradeReportID Y Identifier of the TradeCaptureReport (AE) message. TRAX will return this in the associated TradeCaptureReportAck (AR) message.
1003 TradeID Y TRAX identifier of the trade
487 TradeReportTransType Y 2 = Replace
856 TradeReportType Y 3 = Decline
572 TradeReportRefID Y Required when denying a trade advisory. Identifier of the advisory TradeCaptureReport (AE) message sent by TRAX.
<Instrument> Y Required by FIX for a TradeCaptureReport (AE) message. For deny advisory instructions, only Symbol (55) is required.
55 Symbol Y Required to properly structure the message. Will not be processed by TRAX Match for a deny instruction.
<TrdCaptRptSideGrp> Y Required by FIX for a TradeCaptureReport (AE) message. For deny instructions, only NoSides (552) and Side (54) are required
552 NoSides Y When submitting a deny instruction, should always equal 1
→ 54 Side Y The submitting party’s side of the trade
40005 TRAXReasonCode Y Reason the trade advisory is being denied
<StandardTrailer> Y
TRAX FIX Gateway
29
i) Reporting a Denied Trade to the Submitting Party
STOP4. TRAX reports the denied
trade to the subscriber
Trade Capture Report (AE)
TradeReportID = <new>
TradeReportRefID = <reference>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 3
TradeHandlingInstr = 3
OrigTradeHandlingInstr = 2
MatchStatus = 1
1. Subscriber submits new
trade
Trade Capture Report (AE)
TradeReportID = <new>
FirmTradeID = <new>
TradeReportTransType = 0
TradeReportType = 0
2. Trade is accepted for
matching (trade is
unmatched)
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TrdRptStatus = 0
TradeHandlingInstr = 2
MatchStatus = 1
3a. TRAX sends trade
advisory to the counterparty
3b. Counterparty denies
trade advisory
Subscriber TRAX
TRAX FIX Gateway
30
When the counterparty denies a trade advisory on a trade submitted by the subscriber, TRAX will report the denied trade to the subscriber in a TradeCaptureReport (AE) message, as follows:
Tag Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message as assigned by TRAX.
1003 TradeID TRAX Trade ID of the subscriber’s side of the trade
487 TradeReportTransType 2 = Replace
856 TradeReportType 3 = Decline
1123 TradeHandlingInstr 3 = One-party report for pass through
(Indicates the trade is now being handled as a reporting only trade)
1124 OrigTradeHandlingInstr 2 = One-party report for matching
(Indicates the trade was originally being handled as a matching trade)
572 TradeReportRefID TradeReportID of the previous TradeCaptureReport (AE) message sent by subscriber, regarding this trade.
573 MatchStatus 1 = Unmatched
2302 TradeVersion Current version number of the trade within TRAX Match.
40005 TRAXReasonCode Reason the trade advisory is being denied. If entered by the counterparty in the deny instruction, TRAX will include it in the denied trade advisory report.
Note: A denied trade report will contain the full details of the subscriber’s trade. As this is a report to the subscriber about their own trade, all available data (disclosed or not) about the trade will be sent.
f) Mismatched Trade Update
The mismatch functionality in TRAX Match allows users to be notified when an unmatched trade has a “close match”, i.e. is mismatched. A trade can be mismatched with a counterparty trade when it matches on primary matching fields (counterparty, side (buy/sell), instrument ID, trade date and settlement date), but not on all trade economics. In this case, the TRAX Match system determines the closest matching pair of trades, and soft-links them as mismatched trades. Note that the legacy interfaces to TRAX Match do not support the mismatch feature. Therefore, in order for trades
TRAX FIX Gateway
31
to be mismatched, both the principal party and the counterparty must have migrated to one of the new interfaces, i.e. FIX, the new GUI, or the new CSV format.
Mismatched trade messages have the following features that distinguish them from unmatched trades:
• They have a trade status of MSM, as reported in MatchType (574)
o They have a second side (Side 2) in the <TrdCapRptSideGrp> or <TrdCapRptAckSideGrp> component blocks, i.e. NoSides (552) = 2. Side 2
references the counterparty’s closest matching trade, which can be linked to the advisory sent on this trade via the SideTradeID (1506)
The existence of the mismatch feature means that a trade can change status and matching details based on actions (new, amend or cancel) by the submitting party on the trade itself, or actions by the counterparty on its own trades.
If the submitting party (principal) performs the action on the trade that causes the change, the new details will be reported back to the submitting party in the regular TradeCaptureReportAck (AR) message. The counterparty will be sent an advisory message informing them of the changes to the trade.
However, if an action is performed on the counterparty’s trade by the counterparty that causes a change to the submitting party’s (principal’s) trade, the submitting party should expect to receive two messages:
• An advisory TradeCaptureReport (AE) message on the counterparty’s trade
• A mismatched trade update TradeCaptureReport (AE) message on their own trade, informing them of the change in status
Specifically, a counterparty action (new, amend or cancel) on its own trade can cause the submitting party’s trade to:
• Move from unmatched to mismatched (UNM to MSM), with new Side 2 details linking it to the counterparty’s trade
• Move from mismatched to unmatched (MSM to UNM), with Side 2 details removed
• Move from mismatched against one trade to mismatched against another (MSM to MSM), with Side 2 details changed to reference new
mismatching trade
TRAX FIX Gateway
32
In addition to the cases listed here, a mismatched or unmatched trade may become matched as a result of a counterparty action on one of its trades. In this case, TRAX will send the submitting party (principal) a Matched Trade Confirmation message.
When a counterparty action on its trade causes the subscribers trade to change status or mismatch details, TRAX will report the change to the subscriber in a TradeCaptureReport (AE) message, as follows:
Tag Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message as assigned by TRAX.
1003 TradeID TRAX Trade ID of the subscriber’s side of the trade
487 TradeReportTransType 2 = Replace
856 TradeReportType 0 = Submit
1123 TradeHandlingInstr 2 = One-party report for matching
572 TradeReportRefID TradeReportID of the previous TradeCaptureReport (AE) message regarding this trade.
573 MatchStatus 1 = Unmatched
574 MatchType
Current TRAX status of the trade, following the change. Values:
UNM = Unmatched
MSM = Mismatched
2302 TradeVersion Current version number of the trade within TRAX Match.
Notes:
• A mismatched trade update report will contain the full details of the subscriber’s trade under Side 1 of the <TrdCapRptSideGrp>. As this is a report to the subscriber about their own trade, all available data (disclosed or not) about the trade will be sent.
• If MatchType = MSM (mismatch), the report will contain a Side 2 in the <TrdCapRptSideGrp>. Side 2 will reference the mismatching trade via the SideTradeID (1506) field, which will match the TradeID (1003) of the advisory message sent on the last update of the mismatching counterparty trade.
TRAX FIX Gateway
33
g) Matched Trade Confirmations
1. TRAX matches both
parties’ trades
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 0
TradeHandlingInstr = 0
OrigTradeHandlingInstr = 2
TrdMatchID
MatchStatus = 0
Subscriber TRAX
When a trade submitted by a subscriber is matched with the counterparty’s trade, TRAX Match will send both parties a matched trade confirmation message. The subscriber’s message will be a TradeCaptureReport (AE) containing the following:
Tag Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message as assigned by TRAX.
1003 TradeID TRAX Trade ID of the subscriber’s side of the trade
487 TradeReportTransType 2 = Replace
856 TradeReportType 0 = Submit
1123 TradeHandlingInstr 0 = Trade Confirmation
1124 OrigTradeHandlingInstr
2 = One-party report for matching
(Indicates the trade was originally being handled as a matching trade)
3 = One-party report for pass through
(indicates the trade was previously being handled as a reporting only trade, i.e. was not eligible for matching (NMT) or denied by the counterparty (DEN))
572 TradeReportRefID TradeReportID of the previous TradeCaptureReport (AE) message regarding this trade.
TRAX FIX Gateway
34
Tag Field Name Comments / Rules
880 TrdMatchID Common identifier across the two matched trades, assigned by TRAX
573 MatchStatus 0 = Matched
2302 TradeVersion Current version number of the trade within TRAX Match.
Notes:
• A trade confirmation message will contain the full details of the subscriber’s trade. As this is a report to the subscriber about their own trade, all available data (disclosed or not) about the trade will be sent. The subscriber’s trade data will e in the main trade details, as well as Side 1 of the <TrdCapRptSideGrp>
• In addition, the message will contain all available disclosed data from the counterparty’s matching trade. The counterparty’s trade data will be in the custom <TRAXSide2DisclosedData> component block, as well as Side 2 of the <TrdCapRptSideGrp>.
The subscriber should not ack/nack a trade confirmation message. If the subscriber does respond to the message, the response will be ignored by TRAX.
i) Post-Match Amendment (No/Was), Addendum and Cancel Confirmations
If the matched trade is changed or cancelled after matching, TRAX Match will send another confirmation message to both parties reporting the change. These post-match confirmation messages will contain the same information as the matched trade confirmation, with the following exceptions:
• Post-Match Addendum: TradeReportType (856) = Addendum (4)
• Post-Match No/Was Confirmation: TradeReportType (856) = No/Was (5)
• Post-Match Cancellation Confirmation: TradeReportType (856) = Trade Report Cancel (6)
Note: Post-match changes require both parties to make changes to their respective sides of the matched trade, and for TRAX Match to match these changes.
TRAX FIX Gateway
35
h) Amend a Matched Trade (No/Was)
Under limited circumstances, subscribers can request an amendment of the details of a matched trade (see section 3d). A post-match amendment follows the same workflow as an amendment to an unmatched trade:
• The subscriber sends a No/Was amendment TradeCaptureReport (AE) to TRAX match
• TRAX validates the amendment, and accepts or rejects it with a TradeCaptureReportAck (AR)
o If accepted, the TradeCaptureReportAck (AR) message will contain all the details of the trade, as well as all disclosed details of the
matching trade
• If the amendment was accepted and the altered trade does not match the counterparty’s trade, TRAX will send the counterparty an
alleged No/Was advisory in a TradeCaptureReport (AE)
o The alleged No/Was advisory will contain all disclosed details of the subscriber’s trade, as well as the details of the counterparty’s
matching trade
o To match the new details of the trade, the counterparty must send a post-match amendment for their side of the trade
• If the amendment was accepted and the altered trade now matches the counterparty’s trade, TRAX will send a post-match No/Was
confirmation message
To amend a matched trade, subscribers must resubmit all the trade details. Any details omitted from the amend message will be deemed to have been deleted, and may cause the amendment to be rejected. In addition to the trade details, amendments must contain the following fields:
Tag Field Name Req? Comments / Rules
571 TradeReportID Y Identifier of the TradeCaptureReport (AE) message. TRAX will return this in the associated TradeCaptureReportAck (AR) message.
1003 TradeID Y TRAX identifier of the trade.
487 TradeReportTransType Y 0 = New
856 TradeReportType Y 5 = No/Was
TRAX FIX Gateway
36
i) Cancel a Matched Trade
1. Subscriber cancels a
matched trade
Trade Capture Report (AE)
TradeReportID = <new>
TradeReportTransType = 0
TradeID = [T1]
TradeReportType = 6
STOP2a. TRAX rejects cancel
request
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TrdRptStatus = 1
TradeReportRejectReason
2b. TRAX accepts cancel
request (trade is marked for
cancellation)
OR
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TrdRptStatus = 0
TradeHandlingInstr = 0
TrdMatchID = [Y]
3a. TRAX sends Alleged
Cancel Advisory to
counterparty
3b. Counterparty cancels
their matching trade
4. TRAX sends post-match
cancel confirmation to both
parties
Trade Capture Report (AE)
TradeReportID = <new>
TradeReportRefID <reference>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 6
TradeHandlingInstr = 0
OrigTradeHandlingInstr = 2
MatchStatus = 0
TrdMatchID = [Y]
Subscriber TRAX
TRAX FIX Gateway
37
Subscribers can request to cancel a matched trade at any time. Unlike cancelling an unmatched trade, in order for the cancel to take full effect the counterparty must also request to cancel their side of the trade.
When requesting to cancel a matched trade, subscribers do not need to include all the trade details in the TradeCaptureReport (AE) message. It is sufficient to send enough information to identify the desired action (cancel request) and the trade, as follows (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AE
571 TradeReportID Y Identifier of the TradeCaptureReport (AE) message.
TRAX will return this in the associated TradeCaptureReportAck (AR) message.
1003 TradeID Y TRAX identifier of the trade
487 TradeReportTransType Y 0 = New
856 TradeReportType Y 6 = Trade Report Cancel
<Instrument> Y Required by FIX for a TradeCaptureReport (AE) message. For cancel trade instructions, only Symbol (55) is required.
55 Symbol Y Required to properly structure the message. Will not be processed by TRAX Match for a cancel instruction.
<TrdCaptRptSideGrp> Y Required by FIX for a TradeCaptureReport (AE) message.
For pre-matched cancel messages, only NoSides (552) and Side (54) are required
552 NoSides Y When submitting a cancel instruction, should always equal 1
→ 54 Side Y The subscriber’s side of the trade
<StandardTrailer> Y
TRAX FIX Gateway
38
j) Lifecycle Events (Financing Trades)
TRAX Match supports the submission, reporting and matching of lifecycle events for matched financing transactions during the life of the transactions.
0. Pre-Condition: TRAX
sends a matched trade
confirmation for a financing
trade
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TrdRptStatus = 1
TradeReportRejectReason
2b. TRAX accepts event
and determines if the event
matches an existing
counterparty event, and
whether it changes trade
details
4. TRAX send both parties
a post-match No/Was or
Addendum trade
confirmation
STOP
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 0
TradeHandlingInstr = 0
OrigTradeHandlingInstr = 2
TrdMatchID
MatchStatus = 0
1. Subscriber submits a
new lifecycle event
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 0
Side 1: <TRAXLifecycleEventGrp> = 1 event
RegulatoryReportType = 9
TradeContinuation = [event type]
2a. TRAX rejects new event
OR
STOP
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TradeReportTransType = 0
TradeReportType = 4, 5, 12 or 13
TrdRptStatus = 0
Side 1: <TRAXLifecycleEventGrp> = n events
Side 2: <TRAXLifecycleEventGrp> = m events
3a. TRAX sends lifecycle
event advisory to the
counterparty
3b. Counterparty submits/
modifies matching lifecycle
eventTrade Capture Report (AE)
TradeReportID = <new>
TradeReportRefID = <reference>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 4 or 5
Side 1: <TRAXLifecycleEventGrp> = n events
Side 2: <TRAXLifecycleEventGrp> = mꞌ events
RegulatoryReportType = 9
Subscriber TRAX
TRAX FIX Gateway
39
i) Submitting, Amending and Cancelling a Lifecycle Event
Lifecycle events can be submitted, amended and cancelled using the TradeCaptureReport (AE) message, with the following fields set (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AE
571 TradeReportID Y Identifier of the TradeCaptureReport (AE) message. TRAX will return this in the associated TradeCaptureReportAck (AR) message.
1003 TradeID Y TRAX identifier of the trade with which the lifecycle event is associated
487 TradeReportTransType Y Trade report message transaction type
0 = New – submit a new lifecycle event
1 = Cancel – cancel an existing lifecycle event
2 = Replace – replace/amend an existing lifecycle event
<Instrument> Y Required by FIX for a TradeCaptureReport (AE) message. For lifecycle event messages, only Symbol (55) is required.
55 Symbol Y Required to properly structure the message. Will not be processed by TRAX Match for a lifecycle message.
<TrdCaptRptSideGrp> Y For lifecycle event messages, only NoSides (552) and Side (54) are required
552 NoSides Y When submitting a lifecycle event, should always equal 1
→ 54 Side Y The subscriber’s side of the trade
→ <TRAXLifecycleEventGrp> Y Custom group containing the details of the lifecycle event. When submitting, cancelling or replacing an event, subscribers should submit just one instance, i.e. the event being submitted or modified.
For new events, TRAXEventID (40103) should not be sent. Subscribers can optionally send TRAXFirmEventID (40105) to assign their own identifier to the event.
For cancel/amend transactions, TRAXEventID (40103) is required.
TRAX FIX Gateway
40
Tag Field Name Req? Comments / Rules
1934 RegulatoryReportType Y Indicates that the message refers to a lifecycle event. Must be set to:
9 = Post-trade event
1937 TradeContinuation Y Contains the event type being reported in the message
<StandardTrailer> Y
Note that when sending a lifecycle event message, subscribers should NOT include the following fields normally sent on TradeCaptureReport (AE) messages:
• TradeReportType (856)
• Details of the trade, other than the Symbol (55), NoSides (552) and Side (54) fields necessary to properly structure the message
(1) Rejecting a Lifecycle Event
If the inbound TradeCaptureReport (AE) message cannot be processed, or violates a business rule, TRAX Match will reject it with a TradeCaptureReportAck (AR).
(2) Acknowledging a Lifecycle Event
TRAX Match will acknowledge a lifecycle event TradeCaptureReport (AE) message with a TradeCaptureReportAck (AR) message containing the full details of the trade.
TRAX FIX Gateway
41
In addition to the standard fields for acknowledging a TradeCaptureReport (AE), when acknowledging a lifecycle event TRAX will also send the following:
Tag Field Name Comments / Rules
856 TradeReportType Indicates whether or not the trade details were modified by the lifecycle event message
4 = Addendum – if the trade details were not modified by the lifecycle event, and the lifecycle event matches the counterparty’s event
5 = No/Was – if the trade details were modified by the lifecycle event, and the lifecycle event matches the counterparty’s event
12 = Alleged Addendum – if the trade details are not modified by the lifecycle event, and the lifecycle event does not match the counterparty’s event
13 = Alleged No/Was – if the trade details are modified by the lifecycle event , and the lifecycle event does not match the counterparty’s event
Note: All existing lifecycle events submitted by both the subscriber and the counterparty, with their associated identifiers and matching status
(3) Determining if a Lifecycle Event is a No/Was or Addendum
Upon receipt of a new lifecycle event, TRAX will determine whether the event represents a change in the economic details of the trade or not. If it does, TRAX will treat it as a No/Was amendment and set TradeReportType (856) = No/Was (5). If it does not, TRAX will treat it as an Addendum and set TradeReportType (856) = Addendum (4).
Note that the vast majority of lifecycle events are treated as Addendums to the trade, as they do not alter the trade details themselves.
TRAX FIX Gateway
42
ii) Lifecycle Event Advisory
1.TRAX accepts new,
amended or canceled event
from Party X, on a matched
trade with the Subscriber as
the counterparty
3a. Subscriber denies
lifecycle event
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 0 or 1 or 2
TradeReportType = 12 or 13
MatchStatus = 2
Side 2: <TRAXLifecycleEventGrp> = 1 event, TRAXEventID
RegulatoryReportType = 9
TradeContinuation = [event type]
TradeVersion
2a. Subscriber rejects
alleged event (Optional)STOP
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 1
TradeReportRejectReason
2b. Subscriber accepts
alleged trade (Optional)
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TrdRptStatus = 0
OR
OR
3a. Subscriber submits
matching lifecycle event on
their matching trade
3a. TRAX reports denied
lifecycle event to Party X
STOP
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 3
TradeReportRefID = <reference>
Side 1: <TRAXLifecycleEventGrp>: TRAXEventID
RegulatoryReportType = 9
TradeContinuation = [event type]
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TrdRptStatus = 1
TradeReportRejectReason
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 0
Side 1: <TRAXLifecycleEventGrp> = 1 event
RegulatoryReportType = 9
TradeContinuation = [event type]
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TradeReportTransType = 4 or 5
TrdRptStatus = 0
Side 1: <TRAXLifecycleEventGrp> = n events
Side 2: <TRAXLifecycleEventGrp> = m events
STOP4a. TRAX rejects lifecycle
event
OR
4b. TRAX accepts lifecycle
event
4. TRAX send both parties
a post-match No/Was or
Addendum trade
confirmation
STOP
Trade Capture Report (AE)
TradeReportID = <new>
TradeReportRefID = <reference>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 4 or 5
Side 1: <TRAXLifecycleEventGrp> = n events
Side 2: <TRAXLifecycleEventGrp> = m events
RegulatoryReportType = 9
Subscriber TRAX
TRAX FIX Gateway
43
If a party to a trade successfully submits, amends or cancels a lifecycle event that does not have a matching event on the counterparty’s side of the trade, TRAX Match will send the counterparty an advisory TradeCaptureReport (AE) message containing the following fields:
Tag Field Name Comments / Rules
571 TradeReportID Unique identifier of the advisory TradeCaptureReport (AE) message, generated by TRAX.
1003 TradeID TRAX trade identifier for the recipient party’s trade
487 TradeReportTransType 0 = New – original party submitted a new lifecycle event
1 = Cancel – original party canceled an existing lifecycle event
2 = Replace – original party replaced/amended an existing lifecycle event
The recipient can use TRAXEventID (40103) to look up the event in their own records in the case of a Cancel or Replace
856 TradeReportType 12 = Alleged Addendum – if the trade details are not modified by the lifecycle event
13 = Alleged No/Was – if the trade details are modified by the lifecycle event
880 TradeMatchID TRAX identifier for the matched pair of trades
573 MatchStatus 2 = Advisory
1934 RegulatoryReportType 9 = Post-trade event
1937 TradeContinuation Contains the event type being reported in the message
2302 TradeVersion Current version of the trade as set by TRAX
Notes:
• All trade and settlement details of the (recipient) counterparty’s trade will be included in the message in Side 1
• All disclosed trade and settlement details of the original party’s trade, i.e. the counterparty that submitted the lifecycle event, will be included in the message in Side 2
• No lifecycle events submitted by the (recipient) counterparty will be included in the <TRAXLifecycleEventGrp> repeating group under Side 1 of the trade
• Only the new/modified/canceled event submitted by the original party will be included in the <TRAXLifecycleEventGrp> repeating group under Side 2 of the trade, identified by TRAXEventID (40103). The recipient should compare the event to the list of events in their existing record for the trade to determine which event has changed or been added.
TRAX FIX Gateway
44
(1) Optional Acknowledgement or Rejection
The recipient of a lifecycle event advisory can optionally reject or acknowledge it by sending TRAX a TradeCaptureReportAck (AR) message containing the TradeReportID (571) of the advisory and a TrdRptStatus (939) indicating if the advisory was processed successfully or not.
Note that this optional ack/nack will not change the state of the trade or lifecycle event, and will not be passed on to the original party. It will, however, be visible to TRAX customer support users, and may be helpful in testing and troubleshooting scenarios.
iii) Denying a Lifecycle Event
Upon receipt of a new lifecycle event advisory, the counterparty can deny the event. To deny a lifecycle event advisory, the recipient should send a TradeCaptureReport (AE) message containing the following fields (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AE
571 TradeReportID Y Unique identifier of the TradeCaptureReport (AE) message denying the advisory.
1003 TradeID Y TRAX identifier of the trade with which the lifecycle event is associated
487 TradeReportTransType Y Trade report message transaction type
2 = Replace
856 TradeReportType Y 3 = Decline
572 TradeReportRefID Y Identifier of the TradeCaptureReport (AE) advisory message sent by TRAX, containing the lifecycle event being denied
<Instrument> Y Required by FIX for a TradeCaptureReport (AE) message.
For lifecycle event messages, only Symbol (55) is required.
55 Symbol Y Required to properly structure the message. Will not be processed by TRAX Match for a lifecycle message.
TRAX FIX Gateway
45
Tag Field Name Req? Comments / Rules
<TrdCaptRptSideGrp> Y For lifecycle event messages, only NoSides (552) and Side (54) are required
552 NoSides Y When denying a lifecycle event, should always equal 1
→ 54 Side Y The original party’s side of the trade, i.e. the side containing the event being denied
→ <TRAXLifecycleEventGrp> Y Custom group containing the details of the lifecycle event. When denying an event, subscribers should submit just one instance, i.e. the event being denied.
For denied events, TRAXEventID (40103) is required.
1934 RegulatoryReportType Y Indicates that the message refers to a lifecycle event. Must be set to:
9 = Post-trade event
1937 TradeContinuation Y Contains the event type being denied
40005 TRAXReasonCode N Reason the event is being denied
<StandardTrailer> Y
TRAX FIX Gateway
46
iv) Reporting a Denied Lifecycle Event to the Submitting Party
2. TRAX accepts event and
determines if the event
matches an existing
counterparty event, and
whether it changes trade
details
4. TRAX reports the denied
lifecycle event to the
subscriber
STOP
1. Subscriber submits a
new lifecycle event
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 0
Side 1: <TRAXLifecycleEventGrp> = 1 event
RegulatoryReportType = 9
TradeContinuation = [event type]
Trade Capture Report Ack (AR)
TradeReportID = <reference>
TradeID = [T1]
TradeReportTransType = 12 or 13
TrdRptStatus = 0
Side 1: <TRAXLifecycleEventGrp> = n events
Side 2: <TRAXLifecycleEventGrp> = m events
3a. TRAX sends lifecycle
event advisory to the
counterparty
3b. Counterparty denies
lifecycle eventTrade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 3
TradeReportRefID = <reference>
MatchStatus = 0
Side 1: <TRAXLifecycleEventGrp> = 1 event
RegulatoryReportType = 9
TradeContinuation = [event type]
TradeVersion
Subscriber TRAX
TRAX FIX Gateway
47
When the counterparty denies a lifecycle event advisory on an event submitted by the subscriber, TRAX will report the denied event to the subscriber in a TradeCaptureReport (AE) message, as follows:
Tag Field Name Comments / Rules
571 TradeReportID Identifier of the TradeCaptureReport (AE) message as assigned by TRAX.
1003 TradeID TRAX Trade ID of the subscriber’s side of the trade
487 TradeReportTransType 2 = Replace
856 TradeReportType 3 = Decline
572 TradeReportRefID TradeReportID of the previous TradeCaptureReport (AE) message sent by subscriber, regarding this event.
573 MatchStatus 0 = Matched
(Indicates that the trade is still matched, even though the event is denied)
1934 RegulatoryReportType 9 = Post-trade event
1937 TradeContinuation Contains the event type being reported in the message
2302 TradeVersion Current version of the original party’s trade as set by TRAX
40005 TRAXReasonCode Reason the event is being denied. If entered by the counterparty in the deny instruction, TRAX will include it in the denied event report.
Notes:
• A denied lifecycle event report will contain the full details of the subscriber’s trade details and settlement details. As this is a report to the subscriber about their own trade, all available data (disclosed or not) about the trade will be sent.
• Only the denied event will be included in the <TRAXLifecycleEventGrp> repeating group under Side 1 of the trade, identified by TRAXEventID (40103). The subscriber should compare the event to the list of events in their existing record for the trade to determine which event has been denied.
• No lifecycle events submitted by the counterparty will be included in the <TRAXLifecycleEventGrp> repeating group under Side 2 of the trade.
TRAX FIX Gateway
48
v) Reporting a Matched Lifecycle Event
TRAX send both parties a
post-match No/Was or
Addendum trade
confirmation
STOP
Trade Capture Report (AE)
TradeReportID = <new>
TradeID = [T1]
TradeReportTransType = 2
TradeReportType = 4 or 5
TradeHandlingInstr = 0
TradeReportRefID = <reference>
Side 1: <TRAXLifecycleEventGrp> = n events
Side 2: <TRAXLifecycleEventGrp> = m events
RegulatoryReportType = 9
Subscriber TRAX
TRAX matches lifecycle
events submitted by each
party to the trade
Because lifecycle events do not fundamentally alter the matching status or details of the trades, they do not get treated as full trade confirmations when they match. Instead, each time a lifecycle event matches on a matched trade, TRAX reports this as either a No/Was amendment or an Addendum to the original trade.
To distinguish the message from a trade-level amendment confirmation, TRAX will include:
• TradeReportRefID (572) containing the TradeReportID of the original lifecycle event message submitted by the subscriber
• RegulatoryReportType (1934) = Post trade event (9)
TRAX FIX Gateway
49
TRAX will report matched lifecycle events in a TradeCaptureReport (AE) message containing the following:
Tag Field Name Comments / Rules
571 TradeReportID Unique identifier of the advisory TradeCaptureReport (AE) message, generated by TRAX.
1003 TradeID TRAX trade identifier for the subscriber’s trade
487 TradeReportTransType 2 = Replace
856 TradeReportType 4 = Addendum – if the trade details are not modified by the lifecycle event
5 = No/Was – if the trade details are modified by the lifecycle event
1123 TradeHandlingInstr 0 = Trade Confirmation
572 TradeReportRefID TradeReportID of the previous TradeCaptureReport (AE) message sent by subscriber, regarding this event.
573 MatchStatus 0 = Matched
1934 RegulatoryReportType 9 = Post-trade event
2302 TradeVersion Current version of the original party’s trade as set by TRAX
Notes:
• All trade and settlement details of the (recipient) subscriber’s trade will be included in the message in Side 1
• All disclosed trade and settlement details of the counterparty’s trade will be included in the message in Side 2
• All existing lifecycle events submitted by both the subscriber and the counterparty, with their associated identifiers and matching status, will be included in the message. Subscribers can use TRAXEventID (40103) to identify which of their lifecycle event has been matched in this event. Their lifecycle event will be located under Side 1 of the trade in the <TRAXLifecycleEventGrp> repeating group.
TRAX FIX Gateway
50
k) Trade Queries
1. Query for trades
Trade Capture Report Request (AD)
TradeRequestID = <new>
TradeRequestType
2a. Query rejected
Trade Capture Report Request Ack (AQ)
TradeRequestID = <reference>
TradeRequestResult
TradeRequestStatus = 2
Text = [TRAX reason for the query rejection]
2c. Query successful with
[n] trades or advisories
matching query
2b. No trades found
OR
OR
Trade Capture Report Request Ack (AQ)
TradeRequestID = <reference>
TotNumTradeReports = 0
TradeRequestResult = 0
TradeRequestStatus = 1
Trade Capture Report (AE)
TradeRequestID = <reference>
TotNumTradeReports = [n]
LastRptRequested = N
LastRptRequested = Y
Subscriber
Trade Capture Report Request Ack (AQ)
TradeRequestID = <reference>
TotNumTradeReports = [n]
TradeRequestResult = 0
TradeRequestStatus = 0
Resulting [n] trades or
advisories sent in individual
messages
TRAX
TRAX FIX Gateway
51
Subscribers can query TRAX Match for the current state of their trades by sending a TradeCaptureReportRequest (AD) message. All queries and results are specific to the TRAX Subscriber/Firm as identified in the OnBehalfOfCompID (115) in the <StandardHeader>. The results of a trade query are not limited to trades submitted over FIX. Results will be returned for all trades and advisories matching the query parameters, regardless of the interface used to submit them (FIX, CSV or GUI).
In response to a TradeCaptureReportRequest (AD) message, TRAX will send a TradeCaptureReportRequestAck (AQ) in order to
• Reject a Trade Capture Report Request if the query is invalid
• Indicate that there are no corresponding trades, if a valid query returns zero results
• Accept a valid query, and report the number of resulting trades to be expected
If there are resulting trades, TRAX will send ‘n’ TradeCaptureReport messages (AE), with
• The TradeRequestID of the corresponding TradeCaptureReportRequest (AD) query
• The total number of trades to be returned as a result of the query in TotNumTradeReports (748)
• LastRptRequested set to ‘N’ if this is not the last trade or ‘Y if it is the last trade to be returned.
• The messages will NOT contain a TradeReportID (571), TradeReportTransType (487) or TradeHandlingInstr (1123).
i) Query Criteria
The table below specifies the search criteria that can be used by subscribers in a trade query.
Search Criteria FIX Fields Rules
TRAX Trade ID TradeID (1003) If used, no other search criterion is needed, and other criteria will be ignored.
Subscriber Trade ID FirmTradeID (1041) Should not be sent in conjunction with TradeID (1003) – TradeID will be used instead.
If used, no other search criterion is needed, and other criteria will be ignored.
Subscriber Pool Reference TradeLinkID (820) Should not be sent in conjunction with TradeID (1003) or FirmTradeID (1041) – these identifiers will take precedence.
If used, no other search criterion is needed, and other criteria will be ignored.
TRAX FIX Gateway
52
Search Criteria FIX Fields Rules
TRAX Matched Trade ID TradeMatchID (880) Should not be sent in conjunction with TradeID (1003), FirmTradeID (1041) or TradeLinkID (820) – these identifiers will take precedence.
If used, no other search criterion is needed, and other criteria will be ignored.
Match Status TradeRequestType (569) If specified with TradeID (1003), FirmTradeID (1041), TradeLinkID (820) or TradeMatchID (880), value will be ignored.
Otherwise, must be specified in conjunction with a date range in <TrdCapDtGrp>.
Can optionally be combined with <Parties> and <Instrument>.
Trade Date Range <TrdCapDtGrp>
TradeDate (75)
Used to limit the return set to trades and advisories within a trade date range.
Cannot be combined with TransactTime (60) or LastUpdateTime (779).
Must be specified in conjunction with TradeRequestType (569).
Can optionally be combined with <Parties> and <Instrument>.
Trade Date Time Range <TrdCapDtGrp>
TradeDate (75) = 19000101
TransactTime (60)
Used to limit the return set to trades and advisories within a trade date and time range.
TradeDate (75) must be set to 19000101.
Cannot be combined with LastUpdateTime (779).
Must be specified in conjunction with TradeRequestType (569).
Can optionally be combined with <Parties> and <Instrument>.
Last Update Time Range <TrdCapDtGrp>
TradeDate (75) = 19000101
LastUpdateTime (779)
Used to limit the return set to trades and advisories with a change/update within a date and time range.
TradeDate (75) must be set to 19000101.
Cannot be combined with TransactTime (60).
Must be specified in conjunction with TradeRequestType (569).
Can optionally be combined with <Parties> and <Instrument>.
Counterparty <Parties>
PartyID = [Counterparty BIC, Counterparty LEI or TRAX Code]
PartyIDSource = B, N or T
PartyRole = 17
Used to limit the return set to trades and advisories against a specific counterparty.
Must be specified in conjunction with TradeRequestType (569) and a date range. Can optionally be combined with <Instrument>.
TRAX FIX Gateway
53
Search Criteria FIX Fields Rules
Security <Instrument>
Symbol = [N/A]
SecurityID (48)
SecurityIDSource (22)
Used to limit the return set to trades and advisories against a specific security.
Must be specified in conjunction with TradeRequestType (569) and a date range. Can optionally be combined with <Parties>.
Unique Transaction Identifier TRAXUTI (40218)
Should not be sent in conjunction with TradeID (1003), FirmTradeID (1041), TradeLinkID (820) or TradeMatchID (880) – these identifiers will take precedence.
If used, no other search criterion is needed, and other criteria will be ignored.
ii) Query Response – Reject Invalid Query
If the query from the subscriber is invalid and cannot be executed, TRAX will send a TradeCaptureReportRequestAck (AQ) message with the following information (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AQ
568 TradeRequestID Y Identifier of the query message being rejected
569 TradeRequestType Y Type of trade report(s) requested in the query message
749 TradeRequestResult Y Result of the trade request.
1 = Invalid or unknown instrument
2 = Invalid type of trade requested
3 = Invalid parties (i.e. invalid counterparty)
9 = Not authorized (i.e. FIX connection does not have permission to query for trades)
99 = Other (reason for rejection will be provided in Text)
750 TradeRequestStatus Y Status of the trade request (i.e. query):
2 = Rejected
58 Text N For rejections with TradeRequestResult = Other (99), TRAX will provide a human readable reason for the rejection.
TRAX FIX Gateway
54
Tag Field Name Req? Comments / Rules
<StandardTrailer> Y
iii) Query Response – Valid Query with Null Result Set
If the query from the subscriber is valid but resolves to an empty results set, TRAX will send a TradeCaptureReportRequestAck (AQ) message with the following information (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AQ
568 TradeRequestID Y Identifier of the query message being acknowledged
569 TradeRequestType Y Type of trade report(s) requested in the query message
748 TotNumTradeReports Y Number of trade reports to be returned. Will equal zero for a null/empty result set
749 TradeRequestResult Y Result of the trade request
0 = Successful
750 TradeRequestStatus Y Status of the trade request (i.e. query):
1 = Completed
<StandardTrailer> Y
iv) Query Response – Valid Query with Results
If the query from the subscriber is valid and resolves to ‘n’ result trades, TRAX will send a TradeCaptureReportRequestAck (AQ) message with the following information (note that this is the entire message definition):
Tag Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = AQ
568 TradeRequestID Y Identifier of the query message being acknowledged
TRAX FIX Gateway
55
Tag Field Name Req? Comments / Rules
569 TradeRequestType Y Type of trade report(s) requested in the query message
748 TotNumTradeReports Y Number of trade reports to be returned. One report per trade or advisory will be sent (n > 0)
749 TradeRequestResult Y Result of the trade request
0 = Successful
750 TradeRequestStatus Y Status of the trade request (i.e. query):
0 = Accepted
<StandardTrailer> Y
After the TradeCaptureReportRequestAck (AQ) has been sent, TRAX will then send ‘n’ TradeCaptureReport (AE) messages, one per trade or trade advisory in the result set. Each TradeCaptureReport (AE) sent in response to a trade query will contain the following information:
Tag Field Name Comments / Rules
1003 TradeID TRAX Trade ID of the trade or advisory
856 TradeReportType Type of trade report. Derived from the current state of the trade or advisory within TRAX:
0 = Submit
1 = Alleged
3 = Decline
6 = Trade Report Cancel
568 TradeRequestID Identifier of the query message
748 TotNumTradeReports Number of trade reports to be returned. One report per trade or advisory will be sent (n > 0)
912 LastRptRequested Indicates if this report is the last one in the result set (Y/N)
573 MatchStatus 0 = Matched trade
1 = Unmatched trade
2 = Advisory
TRAX FIX Gateway
56
Tag Field Name Comments / Rules
574 MatchType TRAX status of the trade
2302 TradeVersion Current version of the original party’s trade as set by TRAX
Notes:
• Unmatched trades will contain the full details of the subscriber’s trade and settlement data. As this is a report to the subscriber about their own trade, all available data (disclosed or not) about the trade will be sent. The subscriber’s data will be in the main trade details, as well as Side 1 of the <TrdCapRptSideGrp>.
• Matched trades will contain all available disclosed data from the counterparty’s matching trade and settlement details. The counterparty’s data will be in the custom <TRAXCptyTradeData> component block, as well as Side 2 of the <TrdCapRptSideGrp>.
• Advisories will contain all disclosed trade and settlement details of the original party’s trade. If matched (i.e. AWC), all disclosed trade and settlement details of the (recipient) counterparty’s matching trade will be included in the message.
• Lifecycle event details – for matched financing trades, all existing lifecycle events submitted by both the subscriber and the counterparty, with their associated identifiers and matching status, will be included in the message.
(1) Trade Status Mapping
For outbound TradeCaptureReport (AE) messages sent by TRAX in response to a trade query, the current TRAX trade status will be reported in the MatchType (574) field. In addition, the values sent in the TradeReportType (856) and MatchStatus (573) fields are derived from the trade status as follows. Note that in the case of cancelled trades (CAN), the value of MatchStatus (573) depends on whether the cancellation took place before or after the trade was matched, as well as whether it is the subscriber’s own trade or an advisory from a counterparty:
Trade Status (MatchType) Description TradeReportType (856) MatchStatus (573)
NMT Not matchable trade (ineligible) 0 = Submit 1 = Unmatched
UNM Unmatched trade 0 = Submit 1 = Unmatched
CAN Cancelled trade 6 = Trade Report Cancel 0 = Matched
1 = Unmatched
2 = Advisory
TRAX FIX Gateway
57
Trade Status (MatchType) Description TradeReportType (856) MatchStatus (573)
DEN Denied unmatched trade 3 = Decline 1 = Unmatched
MSM Mismatched trade 0 = Submit 1 = Unmatched
MAT Matched trade (economic details) 0 = Submit 0 = Matched
MCS Matched trade, conflicting settlement 0 = Submit 0 = Matched
MKC Matched trade, marked for cancellation 14 = Alleged Trade Report Cancel 0 = Matched
MMS Matched trade, matched settlement 0 = Submit 0 = Matched
ADV Advisory 1 = Alleged 2 = Advisory
DKA Not known / denied advisory 3 = Decline 2 = Advisory
AWC Matched trade, awaiting cancellation 14 = Alleged Trade Report Cancel 0 = Matched
l) Unsolicited Trade Status Updates
TRAX Match allows users to log on to a web GUI and interact with their trades and advisories. Similarly, the service supports a single subscriber operating through multiple FIX connections, as well as a file-based CSV interface. The existence of multiple interfaces through which subscribers might modify trades and advisories means that it is possible for actions that change the status of a trade or advisory to be performed outside of the FIX message flow of a particular connection.
If the status of a trade or advisory changes due to the action(s) of a user outside of the standard FIX message flows, TRAX will send an unsolicited trade status update to the participant(s). Unsolicited updates will be sent as TradeCaptureReport (AE) messages containing:
• UnsolicitedIndicator (325) = Y
• The TRAX user ID of the user that caused the change will be sent in the <RootParties> component block with:
o RootPartyID (1117) = TRAX User Name
o RootPartyIDSource (1118) = Proprietary (D)
o RootPartyRole (1119) = Operator (118)
TRAX FIX Gateway
58
Unsolicited status updates will be similar in content to query response messages:
• Like query responses, unsolicited status updates will contain MatchType (574) containing the current trade status of the trade, as well as
TradeReportType (856) and MatchStatus (573) derived from the trade status
• Like query responses, unsolicited status updates will NOT contain a TradeReportTransType (487) or TradeHandlingInstr (1123)
• Unlike query responses, unsolicited status updates WILL include a TradeReportID (571)
• Unlike query responses, unsolicited status updates will NOT contain TradeRequestID (568), TotNumTradeReports (748) or
LastRptRequested (912)
A TradeCaptureReport (AE) sent as an unsolicited status update will contain the following information:
Tag Field Name Comments / Rules
571 TradeReportID Unique identifier of the advisory TradeCaptureReport (AE) message, generated by TRAX.
1003 TradeID TRAX Trade ID of the trade or advisory
856 TradeReportType Type of trade report. Derived from the current state of the trade or advisory within TRAX:
0 = Submit
1 = Alleged
3 = Decline
6 = Trade Report Cancel
14 = Alleged Trade Report Cancel
325 UnsolicitedIndicator Y = Message is being sent unsolicited
<RootParties> GUI user who initiated the change will be identified with RootPartyRole = Operator (1119=118)
573 MatchStatus 0 = Matched trade
1 = Unmatched trade
2 = Advisory
574 MatchType TRAX status of the trade
2302 TradeVersion Current version of the original party’s trade as set by TRAX
TRAX FIX Gateway
59
Notes:
• Unmatched trades will contain the full details of the subscriber’s trade and settlement data. As this is a report to the subscriber about their own trade, all available data (disclosed or not) about the trade will be sent. The subscriber’s data will be in the main trade details, as well as Side 1 of the <TrdCapRptSideGrp>.
• Matched trades will contain all available disclosed data from the counterparty’s matching trade and settlement details. The counterparty’s data will be in the custom <TRAXCptyTradeData> component block, as well as Side 2 of the <TrdCapRptSideGrp>.
• Advisories will contain all disclosed trade and settlement details of the original party’s trade. If matched (i.e. AWC), all disclosed trade and settlement details of the (recipient) counterparty’s matching trade will be included in the message.
• Lifecycle event details – for matched financing trades, all existing lifecycle events submitted by both the subscriber and the counterparty, with their associated identifiers and matching status, will be included in the message.
TRAX FIX Gateway
60
3) TRAX Match Business Rules In general, the FIX interface will require subscribers to send the least amount of information necessary to fulfill a given function, except where additional tags are required in order create a syntactically correct FIX message. For outbound messages, TRAX Match will send the maximum amount of information available. This will include:
• Enrichments to the subscriber’s message, such as additional identifiers and defaulted fields
• For matched trades and advisories , all disclosed fields available from the counterparty’s side of the trade
a) Submitting/Amending Cash Trades
To submit or amend an equity or fixed income cash trade for matching or reporting, subscribers should send the following:
Business Element Req? TRAX Business Rule(s) FIX Fields
TRAX Trade Reference C Not required when submitting a new trade.
Required when amending a previously submitted trade.
TradeID (1003)
Subscriber’s Trade Reference Y Must be unique to the trade for the subscriber FirmTradeID (1041)
Trade Date Y Local market date of execution in YYYYMMDD format TradeDate (75)
Trade Time Y Time of execution in UTC time TransactTime (60)
Settlement Date C See i)below SettlDate (64)
Settlement Code C See i)below SettleType (63)
Price Type N See i)below PriceType (423)
Deal Price Y Price of the security LastPx (31)
Number of Days Accrued N Days of accrued interest NumDaysInterest (157)
Place of Trade Type N Indicates type of execution venue. See i)below TrdType (828)
Place of Trade C Identifies execution venue. Required for non-OTC trades. See iii) below
<RootParties>
Payment Indicator C Deliver versus payment or free of payment. Required if settlement instructions are included
DeliveryType (919)
TRAX FIX Gateway
61
Business Element Req? TRAX Business Rule(s) FIX Fields
Trade Regulatory Conditions
(Competent Authority)
N Used to identify the competent authority to which to report the trade, if the subscriber is configured for selective trade reporting.
<RootParties>
Trade Regulatory Conditions (Other) N Used to specify primary market operations <Stipulations>
StipulationType (233) = PRIMARY
Off Exchange Regulated Market StipulationType (233) = TRAXREGCON
StipulationValue (234) = OE
Trade Transaction Conditions N See i)below <TradePriceConditionsGrp>
<Stipulations>
Buy Sell Indicator Y Side of the trade Side (54)
Counterparty Code Type and Code Y Counterparty (contra firm) identifier <RootParties>
Narrative N Free text narrative – will be displayed to the counterparty Text (58)
Quantity Y Quantity of securities trades LastQty (32)
Financial Instrument Code Type and Code
Y Instrument identifier and type <Instrument>
Financial Instrument Type Y See instrument rules Product (460), SecurityType (167)
TRAX FIX Gateway
62
Business Element Req? TRAX Business Rule(s) FIX Fields
Method of Interest Computation N Day count convention used to calculate accrued interest TRAXDayCount (40004)
Trade Currency Y Currency of execution, deal price currency SideCurrency (1154)
Settlement Amount and Currency Y Net money and settlement currency NetMoney (118), SideSettlCurrency (1155)
Settlement Transaction Type N Settlement indicator SideTrdSubType (1008)
Subscriber’s Settlement Details N See i)below <SettlDetails>
Counterparty’s Settlement Details N See i)below <SettlDetails>
Settlement Breakdown Amounts N Maximum of 4 entries allowed. See i)below AccruedInterestAmt (159), SideGrossTradeAmt (1072), SettlCurrAmt (119), <CommissionData>, <MiscFeesGrp>
i) Settlement Date and Code
Either settlement date or settlement code must be provided on a new or amended trade.
Settlement Code is used to indicate When Issued securities. If sent, settlement date should not also be sent. If both are sent, TRAX will ignore settlement code and persist settlement date.
TRAX FIX Gateway
63
ii) Price Type and Deal Price
When submitting cash trades Price Type is optional, and can be used to indicate that Deal Price is expressed in percent-of-par, currency per unit, or yield. If not sent, TRAX will default Price Type as follows:
• Fixed income trades will default to percent-of-par
• Equity trades will default to per unit
Negative yields can be sent if Price Type is set to yield.
iii) Place of Trade Type and Place of Trade
The Place of Trade Type indicates the type of execution venue, and can be set to over the counter (OTC), exchange, multilateral trading facility (MTF) or systematic internaliser. If not sent, TRAX will default Place of Trade Type to over the counter (OTC). For over the counter (OTC) trades, Place of Trade should not be sent. For all non-OTC trades, Place of Trade is required.
iv) Trade Transaction Conditions
Trade transaction conditions are divided into two sets of conditions in FIX messages:
• Standard price conditions in effect at the time of the trade, carried in the <TradePriceConditionsGrp> component block
• Other transaction conditions supported by TRAX, carried in the <Stipulations> component block with StipulationType (233) = TRAXTRDCON
TRAX supports a maximum of up to eight transaction conditions per trade (7 for financing trades). This includes both the standard pricing conditions and the TRAXTRDCON stipulations.
TRAX FIX Gateway
64
b) Submitting/Amending Financing Trades
To submit or amend a financing trade for matching, subscribers should send the following (note that financing trades are not available for reporting):
Business Element Req? TRAX Business Rule(s) FIX Fields
TRAX Trade Reference C Not required when submitting a new trade.
Required when amending a previously submitted trade.
TradeID (1003)
Subscriber’s Trade Reference Y Must be unique to the trade for the subscriber FirmTradeID (1041)
Unique Trade Identifier (UTI) N Must be unique for the for the subscriber <RegulatoryTradeIDGrp>
Trade Date Y Local market date of execution in YYYYMMDD format TradeDate (75)
Trade Time Y Time of execution in UTC time TransactTime (60)
Settlement Date (Start Date) Y Start date of the financing trade StartDate (916)
Deal Price Y Opening leg deal price. UnderlyingPx (810)
Number of Days Accrued N Number of days of accrued interest NumDaysInterest (157)
Place of Trade Type N Indicates type of execution venue. See above TrdType (828)
Place of Trade C Identifies execution venue. Required for non-OTC trades. See above
<RootParties>
Payment Indicator Y Deliver versus payment or free of payment DeliveryType (919)
Trade Transaction Conditions N See above <TradePriceConditionsGrp>
<Stipulations>
Buy Sell Indicator Y Side of the trade Side (54)
Counterparty Code Type and Code Y Counterparty (contra firm) identifier <RootParties>
Narrative N Free text narrative – will be displayed to the counterparty
Note that Dealer subscribers that are subject to rule 10b10 will be required to populate the Narrative field with the text ‘UNRATED’ to indicate that the related debt security (other than a government security) is unrated by a nationally recognized statistical rating organization.
Text (58)
TRAX FIX Gateway
65
Business Element Req? TRAX Business Rule(s) FIX Fields
Quantity Y Quantity of the underlying securities being financed UnderlyingQty (879)
Financial Instrument Code Type and Code
Y Instrument identifier and type of the underlying security. See underlying instrument rules below
<UnderlyingInstrument>
Financial Instrument Type Y See Instrument rules below Product (460), SecurityType (167), SecuritySubType (762)
Method of Interest Computation N Day count convention used to calculate accrued interest TRAXDayCount (40004)
Trade Currency Y Currency of execution SideCurrency (1154)
Settlement Amount and Currency (Opening Leg)
Y Start cash of the opening leg. Required for all financing trades.
StartCash (921), SideSettlCurrency (1155)
Settlement Transaction Type N Settlement indicator SideTrdSubType (1008)
Subscriber’s Settlement Details N Optional for financing trades. See Settlement Instruction Matching below
<SettlDetails>
Counterparty’s Settlement Details N Optional for financing trades. See Settlement Instruction Matching below
<SettlDetails>
Settlement Breakdown Amounts N Maximum of 4 entries allowed. See below. AccruedInterestAmt (159), SideGrossTradeAmt (1072), SettlCurrAmt (119), <CommissionData>, <MiscFeesGrp>
Second Leg Reference Y Subscriber’s identifier for the closing leg of the financing trade.
SecondaryFirmTradeID (1042)
Fund ID and Fund ID Code Type C Required if the subscriber or counterparty is a Buy Side firm. <TrdAllocGrp>
TRAX FIX Gateway
66
Business Element Req? TRAX Business Rule(s) FIX Fields
Financing Rate Type Y Indicates if the financing trade executed at a fixed (yield) or variable (spread) rate
PriceType (423)
Financing Rate (Repo Rate) Y Yield or spread at which the trade executed Price (44)
Reference Rate (Benchmark Index) C Required if the Financing Rate Type is variable (spread).
Index over which the spread is defined.
BenchmarkCurveName (221)
Forward Price C Required for a Buy Sellback. UnderlyingEndPrice (883)
Repo Call Notice N Used for callable repos TRAXRepoCallNotice (40007)
Repo End Date C Required for term repos and buy sellbacks. EndDate (917)
Closing Amount and Currency C Required for fixed rate term repos and buy sellbacks EndCash (922), TRAXEndCashCurrency (40006)
Termination Type Y Indicates if the financing transaction is term or open TerminationType (788)
Triparty Flag C Required for a triparty transaction. Only valid for repos and securities loans. Not valid for buy sellback. If the trade is a triparty trade, the collateral must be a basket.
StipulationType (233) = TRIPARTY
Agreement Type N Indicates type of agreement under which a securities financing trade is transacted.
AgreementDesc (913)
Haircut N The ‘initial margin’ or haircut applicable to a securities financing trade expressed as a rate or an amount.
StipulationType (233) = HAIRCUT
StipulationValue (234)
Collateral Set C Required for triparty financing trades where the sender is delivering collateral. Identifier of the collateral set (e.g. Tier 1 ECB eligible) within a specific securities account at the Tri-Party Agent. Current definition is based on the Euroclear Tri-Party service.
TRAXCollateralSet (40009)
TRAX FIX Gateway
67
Business Element Req? TRAX Business Rule(s) FIX Fields
Counterparty Collateral Set C Required for triparty financing trades where the sender is receiving collateral. Identifier of the collateral set (e.g. Tier 1 ECB eligible) within a specific securities account at the Tri-Party Agent. Current definition is based on the Euroclear Tri-Party service.
TRAXCollateralSet (40009)
c) Trade Matching
For trades eligible to be matched, TRAX Match will disclose certain business elements in advisory messages to the counterparty if they were provided by the participant. Similarly, if TRAX Match has matched a participant’s trade with one from the counterparty, it will send these elements of the counterparty’s trade back to the participant whenever it sends a message to the participant about the trade, e.g. in a TradeCaptureReportAck (AE - accept), a TradeCaptureReport (AE) matched trade confirmation, or a TradeCaptureReport (AE) responding to a query.
The tables below specify the business elements that are disclosed by TRAX to counterparties, and indicate which of these elements is used for matching trades. Note that matching and disclosure business rules are subject to occasional change by TRAX. Please ensure that you are using the current version of this specification when determining which business elements are matching or disclosed to the counterparty.
i) Disclosed Fields – All Trades
The fields below are disclosed for all trade types.
Business Element Mat. FIX Fields
Transaction Type Y Product (460), SecurityType (167)
TRAX will send it’s default Product and SecurityType values to the counterparty (See iv)d.ii.1 below)
Trade Date Y TradeDate (75)
TRAXSide2TradeDate (40201)
TRAX FIX Gateway
68
Business Element Mat. FIX Fields
Trade Time N TransactTime (60)
TRAXSide2TradeTime (40202)
Settlement Code Y SettlType (63)
TRAXSide2SettlementCode (40203)
Number of Days Accrued N NumDaysInterest (157)
Trade Transaction Conditions Y <TradePriceConditionsGrp>, <Stipulations>
NoTRAXSide2TradePriceConditions (40215), TRAXSide2TradePriceCondition (40216)
Buy Sell Indicator Y Side (54)
Counterparty Code Type N RootPartyIDSource (1118)
TRAX will send the equivalent BIC and TRAX Code to the counterparty
Counterparty Code Y RootPartyID (1117)
TRAX will send the equivalent BIC and TRAX Code to the counterparty
Principal (Executing Party) Code Type N PartyIDSource (447)
Outbound only – TRAX will include the BIC and TRAX Code of the Principal (Executing Party) for each side of the trade.
Principal (Executing Party) Code N PartyID (448)
Outbound only – TRAX will include the BIC and TRAX Code of the Principal (Executing Party) for each side of the trade.
Narrative N Text (58)
TRAXCounterpartyNarrative (40010) (custom field used in TradeCaptureReportAck (AR) messages only)
Reason Code (for denied advisories) N TRAXReasonCode (40005)
Method of Interest Computation N TRAXDayCount (40004)
Trade Currency Y SideCurrency (1154)
Settlement Currency Y SideSettlCurrency (1155)
TRAX FIX Gateway
69
Business Element Mat. FIX Fields
Settlement Transaction Type N SideTrdSubTyp (1008)
Financial Instrument Name N SecurityDesc (107), UnderlyingSecurityDesc (307)
Value provided by TRAX, not the subscriber
ii) Disclosed Fields – Cash Trades Only
In addition to the common fields above, the fields below are disclosed on cash trades.
Business Element Mat. FIX Fields
Quantity (Securities Traded) Y LastQty (32)
TRAXSide2Quantity (40205)
Settlement Date (Cash Trades) Y SettlDate (64)
TRAXSide2SettlementDate (40204)
Price Type Y PriceType (423)
TRAXSide2PriceType (40206)
Deal Price Y LastPx (31)
TRAXSide2Price (40208)
Settlement Amount (Net Money) Y NetMoney (118)
Financial Instrument Code Type N SecurityIDSource (22)
TRAX will send the equivalent ISIN to the counterparty
Financial Instrument Code
Match on ISIN of the security
Y SecurityID (48)
TRAX will send the equivalent ISIN to the counterparty
Financial Instrument Type
Matches on bond versus equity – sub-categories do not need to match
Y Product (460), SecurityType (167)
TRAX will send it’s default Product and SecurityType values to the counterparty (See iv)d.ii.1 below)
TRAX FIX Gateway
70
iii) Disclosed Fields – Financing Transactions Only
In addition to the common fields above, the fields below are disclosed on financing trades.
Business Element Mat. FIX Fields
Unique Transaction Identifier (UTI) Y <RegulatoryTradeIDGrp>
Quantity (Securities Financed) Y UnderlyingQty (879)
TRAXSide2Quantity (40205)
Term Type Y TerminationType (788)
TRAXSide2TermType (40210)
Agreement Type N AgreementDesc (913)
TRAXSide2AgreementType (40211)
Settlement Date (Start Date of Financing Trades) Y StartDate (916)
TRAXSide2StartDate (40212)
Settlement Amount (Start Cash)
(Amounts are matched within a $25 tolerance)
Y StartCash (921)
Financial Instrument Code Type Y UnderlyingSecurityIDSource (305)
TRAX will send the equivalent ISIN to the counterparty. Financial Instrument Code and Type are non-matching for triparty financing transactions using basket collateral, where the participant has identified an internal code for the collateral set.
Financial Instrument Code Y UnderlyingSecurityID (309)
TRAX will send the equivalent ISIN to the counterparty
Financial Instrument Type N Product (460), SecurityType (167), SecuritySubType (762)
TRAX will send it’s default Product and SecurityType values to the counterparty
Fund ID and Fund LEI Y AllocAccount (79)
TraxFundLEI (40219)
TRAX FIX Gateway
71
Business Element Mat. FIX Fields
Repo Rate Type PriceType (423)
TRAXSide2PriceType (40206),
Repo Rate Y Price (44)
Repo Spread Y Price (44)
Reference Rate Y BenchmarkCurveName (221)
TRAXSide2ReferenceRate (40209)
Opening Leg Price Y UnderlyingPx (810)
TRAXSide2UnderlyingPx (40207)
Forward Price N UnderlyingEndPrice (883)
TRAXSide2ForwardPrice (40214)
Haircut N StipulationType (233) = HAIRCUT
StipulationValue (234)
Repo End Date Y EndDate (917)
TRAXSide2EndDate (40213)
Closing Amount
(Amounts are matched within a $25 tolerance)
Y EndCash (922)
Closing Currency Y TRAXEndCashCurrency (40006)
Repo Call Notice Y TRAXRepoCallNotice (40007)
Triparty Flag Y StipulationType (233) = TRIPARTY
Collateral Set Y TRAXCollateralSet (40009)
TRAX FIX Gateway
72
d) Amending a Matched Trade
Prior to a trade being matched, subscribers can amend any details of the trade. TRAX will process the amendment, and provided it passes all business rules for trade submission, will amend the trade details and send an advisory to the counterparty as appropriate. Trades in the following states can be amended with no restrictions: UMN, NMT, DEN.
After a trade has been matched, subscribers can send either a No/Was amendment request (487=0|856=5) or standard amend request (487=2|856=0) in order to change any of the trade details – this is use-case dependent. In addition, subscribers are limited in what fields they can amend.
i) Amending Settlement Details (Cash and Financing Trades) – via No/Was
• Post-match amendments are allowed in order to support the matching of settlement details via No/Was.
• A matched trade can only be amended by a No/Was message if it is in one of the following states: MAT, MCS or MKC.
• Trades with the following states cannot be amended: ADV, DKA, CAN or MMS.
The table below lists the fields that can be amended by a No/Was message:
Business Element FIX Fields
Settlement Transaction Type SideTrdSubTyp (1008)
Settlement Account Details <SettlParties>
Custodial Account Details <SettlParties>
Counterparty Settlement Account Details <SettlParties>
Counterparty Custody Account Details <SettlParties>
Settlement Breakdown Amounts AccruedInterestAmt (159), SideGrossTradeAmt (1072), SettlCurrAmt (119), <CommissionData>, <MiscFeesGrp>
TRAX FIX Gateway
73
ii) Lifecycle Events – No/Was or Addendum
• TRAX Match will determine, based on the transaction details and the event, whether it should be treated as a No/Was or Addendum.
iii) Economic Details on Matched Trades (Term Repo + BSB Only) – via Amend
• In addition to settlement details, subscribers can now amend all* economic fields on a matched trade.
• The full list of economic fields which can be edited post-match are below.
iv) Economic Details on Trades in AWC state (Term Repo + BSB Only) – via Amend
• When a previously matched trade has a cancel request applied to it by a Principal, it’s resultant state for the Principal is MKC
(Marked for Cancellation) and for the Counterparty AWC (Awaiting Cancellation) - Historically, the only option available was to
accept the cancellation request or deny it.
• It is now possible to amend all* of the economic details of a trade in AWC status.
• This causes the principal to receive their Cancel acknowledgement and for the AWC trade to be re-processed as a new UNM entry
- This is known as ‘Amend/Repoint’ (also an option available to AWC trades on the Match GUI).
• This was built to reduce re-keying of trades for entities who amend trades when faced with a (cancel/rebook) amendment
submitted by their counterparty.
TRAX FIX Gateway
74
v) Matrix of Post-Match Amendable Fields (Term Repo + BSB Only)
Field FIX Tag Result
Direction 54 Complete Re-appraisal/Re-match
End Cash 922 MSM
End Currency 40006 MSM
Price (Start Leg) 810 MSM
Trade Currency 1154 MSM
Security Code 309 Complete Re-appraisal/Re-match
Fund ID 79 MSM
Payment Indicator 919 MSM
Price Type 423 MSM
Quantity 879 MSM
Reference Rate 221 MSM
Repo Call Notice 40007 MSM
End Date 917 MSM
Rate 44 MSM
Spread Rate (against Benchmark) 44 MSM
Start Cash 921 MSM
Start Currency 1155 MSM
Start Date 916 MSM
Term Type 788 Complete Re-appraisal/Re-match
Trade Date 60 MSM
Bargain Conditions 234 MSM
TRAX FIX Gateway
75
*Post-match amends of Cpty Code, Counterparty Code Type, Security Type, Security Code Type, UTI is out of scope.
• In the case multiple amends are attempted, complete re-appraisal will take precedence over maintaining an MSM with previously
linked trade.
a. Settlement Instruction (SSI) Matching
Settlement instruction (SSI) matching is secondary to trade matching, i.e. it is possible for a trade to match on its primary economic terms, but fail to match on its settlement instructions. Furthermore, SSI matching is only invoked after the primary trade economics have been matched.
SSI matching is optional for all trade types (cash and financing). For SSIs to match, TRAX Match requires that the participant subscriber and counterparty must match on the following:
• Settlement amount, i.e. net money (for cash trades) or start cash (for financing trades) – matched within a $25 (USD) tolerance
• Settlement currency
In addition, both parties must have provided the following information:
• Payment indicator (i.e. delivery type)
• Their own settlement account details (settlement location - optional for financing trades, account and agent)
A single set of SSIs consists of the following elements:
• Required to achieve settlement match: Place of settlement (settlement location – optional for financing trades) and safekeeping account
number (securities account) and agent
• Optional: Custody agent (custodian) and safekeeping account number (securities account).
Transaction Type 167 Complete Re-appraisal/Re-match
Triparty Flag 233 MSM
TRAX FIX Gateway
76
• Optional: Settlement intermediary and safekeeping account (securities account)
• Conditionally required for tri-party financing transactions with basket collateral only, the collateral set for the deliverer (seller) of
securities
There are a total of four sets of SSIs involved in trade matching, two per trade:
• The participant subscriber’s view of their own SSIs, as submitted to TRAX by the participant
• The participant subscriber’s view of their counterparty’s SSIs, as submitted to TRAX by the participant (for disclosure only)
• The counterparty’s view of its own SSIs, as submitted to TRAX by the counterparty on their matching trade
• The counterparty’s view of the participant’s SSIs, as submitted to TRAX by the counterparty on their matching trade (for disclosure only)
The participant must send in their own SSIs under their side of the trade. They may optionally choose to send in their view of the counterparty’s SSIs under their side of the trade. The counterparty will do likewise.
• The SSI’s of the buyer (for cash trades) or receiver (for financing trades) are identified using SettlObligSource = Buyer’s settlement
instructions (1164=4)
• The SSI’s of the seller (for cash trades) or deliverer (for financing trades) are identified using SettlObligSource = Seller’s settlement
instructions (1164=5)
For unmatched trades, TRAX Match will forward the participant’s view of the SSIs to the counterparty in advisory messages, as well as send these back to the participant in acknowledgements and query responses. For matched trades, TRAX Match will include all available sets of SSIs in all outbound messages, i.e. will include both the participant’s view (in Side 1) and the counterparty’s view (in Side 2).
TRAX FIX Gateway
77
The diagram below summarizes the SSIs pertaining to a matched trade in which the participant subscriber (Firm A) is the buyer:
Trade
Subscriber
Firm A
Counterparty =
Firm BSide = Buy
|54=1|
(Subscriber's Side)
Side = Sell
|54=2|
(Counterparty’s Side)
Payment Indicator
Firm A’s SSIs
Place of Settlement
Safekeeping Account
Agent
Custodian
Safekeeping Account
Intermediary
Safekeeping Account
Firm B’s SSIs
Place of Settlement
Safekeeping Account
Agent
Custodian
Safekeeping Account
Intermediary
Safekeeping Account
Firm B’s SSIs
Place of Settlement
Safekeeping Account
Agent
Custodian
Safekeeping Account
Intermediary
Safekeeping Account
Firm A’s SSIs
Place of Settlement
Safekeeping Account
Agent
Custodian
Safekeeping Account
Intermediary
Safekeeping Account
Side 2: Sell
Executing Firm =
Firm B
Side 1: Buy
Executing Firm =
Firm ABuyer’s SSIs
|1164=4|
Seller’s SSIs
|1164=5|
Buyer’s SSIs
|1164=4|
Seller’s SSIs
|1164=5|
Participant’s Trade(Participant’s View of the SSIs)
Counterparty’s Trade(Counterparty’s View of the SSIs)
TRAX FIX Gateway
78
i. Disclosed Fields – Settlement Instructions (SSI)
The fields below are part of SSI matching, which is independent of trade details matching, i.e. it is possible for the primary economic details of a trade to be matched without the SSIs being matched. SSI matching is optional for all trades. Note that if submitted, these SSI details will be disclosed to the counterparty whether or not the counterparty also submits their SSIs.
In the table below, Y* indicates a field that must be present in order to achieve settlement matching. However, as the other party is not required to enter their view of this same data, the contents of the field will not be matched against information provided by the other party.
Business Element Mat. FIX Fields
Payment Indicator Y* DeliveryType (919)
TRAXSide2DeliveryType (40217)
Place of Settlement Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Settlement Location (784=10)
Place of Settlement Code Y* SettlPartyID (782) where
SettlPartyRole = Settlement Location (784=10)
Settlement Agent Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Agent (784=30)
Settlement Agent Code Y* SettlPartyID (782) where
SettlPartyRole = Agent (784=30)
Safekeeping / Securities Account Y* SettlPartySubID (785) where
SettlPartyRole = Settlement Location (784=10)
Collateral Set (for triparty financing trades, deliverer settlement instructions only)
N TRAXCollateralSet (40009)
Custody Agent / Custodian Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Custodian (784=28)
Custody Agent / Custodian Code N SettlPartyID (782) where
SettlPartyRole = Custodian (784=28)
TRAX FIX Gateway
79
Business Element Mat. FIX Fields
Custody Safekeeping / Securities Account N SettlPartySubID (785) where
SettlPartyRole = Custodian (784=28)
Intermediary Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Intermediary (784=29)
Intermediary Code N SettlPartyID (782) where
SettlPartyRole = Intermediary (784=29)
Intermediary Securities Account N SettlPartySubID (785) where
SettlPartyRole = Intermediary (784=29)
Counterparty Place of Settlement Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Settlement Location (784=10)
Counterparty Place of Settlement Code N SettlPartyID (782) where
SettlPartyRole = Settlement Location (784=10)
Counterparty Settlement Agent Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Agent (784=30)
Counterparty Settlement Agent N SettlPartyID (782) where
SettlPartyRole = Agent (784=30)
Counterparty Securities Account N SettlPartySubID (785) where
SettlPartyRole = Settlement Location (784=10)
Counterparty Collateral Set (for triparty financing trades, deliverer settlement instructions only)
N TRAXCollateralSet (40009)
Counterparty Custody Agent / Custodian Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Custodian (784=28)
Counterparty Custody Agent / Custodian Code N SettlPartyID (782) where
SettlPartyRole = Custodian (784=28)
TRAX FIX Gateway
80
Business Element Mat. FIX Fields
Counterparty Custody Securities Account N SettlPartySubID (785) where
SettlPartyRole = Custodian (784=28)
Counterparty Intermediary Code Type N SettlPartyIDSource (783) where
SettlPartyRole = Intermediary (784=29)
Counterparty Intermediary Code N SettlPartyID (782) where
SettlPartyRole = Intermediary (784=29)
Counterparty Intermediary Securities Account N SettlPartySubID (785) where
SettlPartyRole = Intermediary (784=29)
Settlement Breakdown Amounts 1 to 4 N See below
ii. Optional Settlement Breakdown Amounts
Apart from the required NetMoney (118) for cash trades and StartCash (921) and EndCash (922) for financing trades, TRAX Match supports the ability for subscribers to enter up to 4 additional settlement breakdown amounts for SSI matching against their counterparty. These optional settlement breakdown amounts are carried in a number of FIX fields and component blocks. However, the total number of optional amounts sent cannot be greater than 4.
The table below lists the optional amount and their associated FIX fields:
TRAX Value Definition FIX Field(s)
ACRU Accrued interest amount; the interest amount that has been accrued in between coupon payment periods.
AccruedInterestAmt (159)
EXEC Executing broker's commission. <CommissionData>: Commission (12) where
CommType (13) = Absolute (3)
CHAR Charges/fees levied for the provision of services. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Service charge/fee (100)
TRAX FIX Gateway
81
TRAX Value Definition FIX Field(s)
LOCO Local broker's commission. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Local Commission (3)
COUN Country, national federal tax. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Tax (2)
DEAL Deal amount SideGrossTradeAmt (1072)
ISDI Issue discount/allowance; discount on a new issue or new tranché of an existing issue.
<MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Issue discount/allowance (104)
LEVY Payment levy tax. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Levy (6)
MARG Margin amount. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Margin amount (105)
STAM Stamp duty. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Stamp (5)
TRAX Transaction TAX <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Transaction tax (101)
VATA Value added tax. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Value added tax (VAT) (102)
WITH Percentage of a cash distribution that will be withheld by a tax authority.
<MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Tax withholding amount (103)
OTHR Other amount. <MiscFeesGrp>: MiscFeeAmt (137) where
MiscFeeType (139) = Other (7)
RESU A cash amount resulting from a foreign exchange conversion. SettlCurrAmt (119)
TRAX FIX Gateway
82
b. Lifecycle Events
TRAX supports the following lifecycle events:
Event Type Description Notes
RATE Rate or Spread Lifecycle Event
RPRI Price Lifecycle Event
CLOS Close out Lifecycle Event
ENDD End Date Lifecycle Event
SUBS Substitution Lifecycle Event Not valid for triparty trades
ROLL Roll-over Lifecycle Event
i. Valid Lifecycle Events by Term and Rate Types
Which lifecycle event types can be submitted for a given financing trade depends on the term type (TerminationType (788)) and whether the rate is fixed or variable (PriceType (423)).
Term Type Rate Type RATE RPRI CLOS ENDD SUBS ROLL
Term Fixed - - - - Y -
Term Variable - - Y - Y -
Open Fixed Y Y Y Y Y Y
Open Variable Y Y Y Y Y Y
ii. Fields Required per Event Type
Each event type requires a certain set of fields to be provided in order to be valid. For the RATE event, repo rate must be provided for fixed rate trades, while repo spread and reference rate must be provided for variable rate trades. In the table below:
• ‘Y’ indicates a required field
TRAX FIX Gateway
83
• ‘C’ indicates a conditionally required field, with the conditional rule explained below
• ‘-’ in indicates that the field is not supported for that event type
Business Element FIX Field(s) RATE RPRI CLOS ENDD SUBS ROLL
Repo Rate (Yield) TRAXEventRate (40109) C1 - - - - -
Repo Rate (Spread) TRAXEventSpread (40110) C1 - - - - -
Reference Rate TRAXEventIndexName (40111) C2 - - - - -
Price TRAXEventPrice (40112) - Y - - - -
Effective Date TRAXEventEffectiveDate (40108) Y Y - - Y Y
End Date TRAXEventEndDate (40113) - - C3 Y - -
Closing Amount TRAXEventEndCash (40114) - - Y Y - -
Closing Amount Currency TRAXEventCurrency (40115) - - Y Y - -
Substitution Instrument TRAXEventSecurityID (40116)
TRAXEventSecurityIDSource (40117)
- - - - Y -
Interest Amount TRAXEventAccruedInterestAmt (40118) - - - - - Y
Interest Amount Currency TRAXEventCurrency (40115) - - - - - Y
Conditional Rules:
• C1: For a RATE lifecycle event, either repo rate (yield) or repo rate (spread) must be provided. The yield is required for fixed rate financing trades, while the spread is required for variable rate trades.
• C2: If the repo rate (spread) is provided, the reference rate must also be provided.
• C3: End date should not be provided for the close out of a term variable trade, as the end date has already been agreed (i.e. for a trade where TerminationType = Term (788=2) and PriceType = Spread (423=6)). For all other financing trades, end date is required on a close out lifecycle event.
TRAX FIX Gateway
84
c. Identifying Parties
TRAX Match supports the identification of several parties at the message, trade, side and settlement instruction levels:
• Message level parties include the FIX connection (SenderCompID, TargetCompID), the TRAX service (SenderSubID, TargetSubID) and the
TRAX subscriber (OnBehalfOfCompID, DeliverToCompID)
• Trade level parties are carried in the <RootParties> component block, and include the executing counterparty, the place of trade, and the
regulator to whom the trade is to be submitted, and the GUI operator who caused an unsolicited status update to be sent
• Trade side parties are carried in the <Parties> component block for each side of the trade, and include the executing firm of that side
o Executing firm is not supported for inbound trade reports, but will be sent out by TRAX based on the subscriber and counterparty
identified in the trade report
• Settlement instruction parties are carried in the <SettlParties> component block, and include the place of settlement, settlement agent,
custodian, and intermediary
o In addition, securities accounts for the settlement location, custodian and intermediary are carried in the <SettlPtysSubGrp> under
each settlement party
The table below specifies the party Roles and supported IDSource values for each type of party:
Party Component Block FIX Role(s) IDSource(s) Supported
FIX Connection <StandardHeader> N/A N/A
Subscriber <StandardHeader> N/A N/A
Counterparty <RootParties> 17 = Contra Firm B = Bank Identifier Code (BIC)
Preferred identifier
C = FCA Reference Number (FRN)
D = Internal Code
N = Legal Entity Identifier (LEI)
T = TRAX Code
Place of Trade <RootParties> 22 = Exchange G = Market Identifier Code (MIC)
63 = Systematic Internaliser B = Bank Identifier Code (BIC)
TRAX FIX Gateway
85
Party Component Block FIX Role(s) IDSource(s) Supported
64 = Multilateral Trading Facility
G = Market Identifier Code (MIC)
Regulator
(MiFID I reporting only)
<RootParties> 34 = Regulatory Body T = TRAX Code
Executing Firm <Parties> 1 = Executing Firm B = Bank Identifier Code (BIC)
T = TRAX Code
Place of Settlement <SettlParties> 10 = Settlement Location B = Bank Identifier Code (BIC)
Settlement Agent <SettlParties> 30 = Agent B = Bank Identifier Code (BIC)
Custodian <SettlParties> 28 = Custodian B = Bank Identifier Code (BIC)
Settlement Intermediary <SettlParties> 29 = Intermediary B = Bank Identifier Code (BIC)
Securities Account <SettlPtysSubGrp> 10 = Securities Account N/A
i. BIC, MIC, FRN and LEI Data
TRAX maintains BIC, FRN, MIC and LEI data in line with the data published by SWIFT, the FCA, ISO and GLEIF. Trades input via FIX that reference a BIC (Counterparty Code), FRN (Counterparty Code), MIC (Place of Trade) or LEI (Counterparty Code) are validated against the reference lists and rejected if the BIC, FRN, MIC or LEI is not valid.
ii. Counterparty
When submitting or amending a trade, subscribers are required to send the trade counterparty in <RootParties>. TRAX will attempt to match counterparty using the BIC. For this reason, BIC is the preferred identifier. However, if they do not know the party’s BIC subscribers may use other identifiers, subject to the following rules:
• If both TRAX Code and BIC are sent, TRAX Match will use the TRAX Code. Users are encouraged to send in only one identifier, to avoid
potential errors in identification of parties.
TRAX FIX Gateway
86
• If TRAX Code is used, the code must be active on the TRAX system with an assigned BIC, or TRAX will reject the message
• If a valid FCA Reference Number (FRN) or Legal Entity Identifier (LEI) is used, Trax will attempt to match using the Trax Code linked that
identifier. If a Trax Code is not linked to that identifier, the trade will be marked as “non-matchable”, with no advisory sent to the
counterparty
• In order to be returned as a result of a trade query specifying counterparty, the BIC, TRAX Code or LEI must have been used to identify the
counterparty in the original submission – trades submitted using FRN or internal code will not be returned
• If the subscriber uses an internal code to identify the counterparty
o The code will not be validated
o The trade will be marked as “non-matchable”, with no advisory sent to the counterparty
In all cases, TRAX will send back the code submitted, as well as the BIC and TRAX Code if they can be determined, on outbound messages regarding the trade. Thus participants should expect up to three entries in <RootParties> for the counterparty and counterparty 2 roles, i.e. code submitted, BIC and TRAX Code.
iii. Trade Type and Place of Trade
TRAX uses TrdType (828) to indicate the place of trade type (i.e. execution venue type). Note that each place of trade type triggers different regulatory rules when reporting trades. Subscribers should therefore explicitly set TrdType (828) to one of the following values:
• 54 = Over-the-counter (OTC)
• 1001 = Exchange-traded (EXCH)
• 1002 = Multilateral trading facility (MTF)
• 1003 = Systematic internaliser (SYSI)
In the absence of TrdType (828), TRAX will default the trade to over-the-counter (OTC). For non-OTC trades, the place of trade must also be identified in <RootParties> (see below). Place of trade (execution venue) is required when submitting or amending non-OTC trades, i.e. where TrdType is not set to OTC (828=54) or null. Participants should ensure that the RootPartyRole (1119) matches the trade type specified in TrdType (828).
TRAX FIX Gateway
87
iv. Operator (TRAX User ID)
If a user of the TRAX GUI causes a change to a trade state through actions on the GUI, the user will be identified in the unsolicited status update message sent to the subscriber. Users will be identified by their TRAX User Names, send in RootPartyID (1117), with the RootPartyRole (1119) of Operator (118).
v. Executing Firms in <Parties>
Participants should not attempt to use the <Parties> component block to identify either the submitting subscriber or the trade counterparty. The <Parties> component block will be ignored if sent on an inbound TradeCaptureReport (AE) message. However, the <Parties> component block allows TRAX to send in parties specific to each side of a matched trade.
TRAX will send back the TRAX Code and BIC of the subscriber in the <Parties> block under Side 1 of the trade, with PartyRole = Executing Firm (452=1) or Order Origination Firm(452=13). For a matched trade, TRAX will send back the TRAX Code and BIC of the counterparty subscriber under Side 2 of the trade, with PartyRole = Executing Firm (452=1) or Order Origination Firm(452=13). These will not always match the corresponding counterparty identifiers submitted in <RootParties>.
d. Instruments
TRAX uses the <Instrument> and <UnderlyingInstrument> component blocks to describe the traded securities reported in post trade messages:
• For cash bond and equity trades, <Instrument> contains the details of the bond or equity traded
• For financing trades, <Instrument> represents the financing contract traded (e.g. the repo), and not the security or basket used as
collateral. The collateral security should be described in an <UnderlyingInstrument> component block.
TRAX FIX Gateway
88
i. Symbol (55), Underlying Symbol (311)
FIX requires the fields Symbol (55) and UnderlyingSymbol (311) to be included whenever an <Instrument> or <UnderlyingInstrument> component block is used, to designate the start of the block. TRAX will not process the content of these fields. Participants can use the following guidelines for populating Symbol (55) and UnderlyingSymbol (311):
• For a fixed income security, or where a commonly recognized symbol is not available, send “[N/A]”
• For an equity instrument, send the ticker of the equity
TRAX will send back the Symbol (55) value sent to it by a participant in outbound messages regarding a trade. For all other messages, TRAX will send “[N/A]”.
ii. Product (460), SecurityType (167) and SecuritySubType (762)
TRAX uses the Product (460), SecurityType (167) and SecuritySubType (762) fields to determine both the TRAX transaction type and the TRAX financial instrument type of a trade.
• Product (460) and SecurityType (167) are required when submitting or amending any trade
• In addition, SecuritySubType is required for financing trades.
TRAX Transaction Type: TRAX supports transaction types of Cash, Buy Sellback (BYSE), Repurchase (REPO) and Securities Loans (LEND). Subscribers submitting trades through FIX will indicate the transactions type as follows:
• CASH: FIX Product (460) is any of Agency (1), Corporate (3), Equity (5), Government (6), Mortgage (10), Municipal (11) or Other (12)
• BYSE: FIX Product (460) = Financing (13), SecurityType (167) = BUYSELL
• REPO: FIX Product (460) = Financing (13), SecurityType (167) = REPO
• LEND: FIX Product (460) = Financing (13), SecurityType (167) = SECLOAN
TRAX Financial Instrument Type: TRAX supports financial instrument types of fixed income (BOND), equity (EQUT) and basket collateral (BASK). Basket collateral is only valid for tri-party repos and securities loans.
For cash trades, TRAX will determine financial instrument type from Product (460) as follows (note that BASK is not valid for cash trades):
TRAX FIX Gateway
89
• BOND: FIX Product (460) is any of Agency (1), Corporate (3), Government (6), Mortgage (10), Municipal (11) or Other (12)
• EQUT: FIX Product (460) = Equity (5)
For financing trades subscribers must also send SecuritySubType (762) as follows:
• BOND: FIX Product (460) = Financing (13), SecuritySubType (762) = BOND
• EQUT: FIX Product (460) = Financing (13), SecuritySubType (762) = EQUT
• BASK: FIX Product (460) = Financing (13), SecuritySubType (762) = BASK
o StipulationType (233) = TRIPARTY and SecurityType (167) = REPO or SECLOAN
If a subscriber submits a trade through FIX, TRAX will store the Product (460) and SecurityType (167) values submitted, and return them on all outbound messages associated with the trade.
1. TRAX Default Product and SecurityType Values
For trades not submitted through FIX, as well as advisories submitted by a counterparty, TRAX will send the following default Product (460), SecurityType (167) values to subscribers (these can also be used by subscribers who do not wish to maintain their own FIX categorization schema for instruments):
• Cash BOND: FIX Product (460) = Other (12), SecurityType (167) = BOND
• Cash EQUT: FIX Product (460) = Equity (5), SecurityType (167) = EQUT
• Financing BYSE: FIX Product (460) = Financing (13), SecurityType (167) = BUYSELL
• Financing REPO: FIX Product (460) = Financing (13), SecurityType (167) = REPO
• Financing LEND: FIX Product (460) = Financing (13), SecurityType (167) = SECLOAN
iii. SecurityID (48) and SecurityIDSource (22)
SecurityID (48) and SecurityIDSource (22) are used to identify the traded security in cash trades. These fields are not supported for financing trades, which use the <UnderlyingSecurity> component block to identify the security or basket collateral being financed (see below). The FCA, AMF and FSMA expect the financial instrument of a transaction to be reported using an ISIN code. As a result, ISIN is the preferred SecurityIDSource (22) when submitting a trade to TRAX. TRAX will report the trade, and send the advisory to the counterparty, using the ISIN.
TRAX FIX Gateway
90
Subscribers may submit using any supported alternative ID source, in which case TRAX will attempt to look up the ISIN associated with the security ID in its reference data.
• If the security ID exists, but the ISIN is not yet available, the trade will be “parked” until the corresponding ISIN is loaded into the TRAX
reference database. For trades submitted during normal business hours, this is typically anticipated to occur by the end of day of the same
business day.
TRAX will validate the security against its reference data, and reject the trade if the security is not found.
• This rule can be overridden at the Subscriber level by setting a configuration preference
When responding to a subscriber, TRAX will always attempt to send the following identifiers. Note that these are in priority order, with the first one found being sent in SecurityID (48) and SecurityIDSource (22), while the rest will be sent in the <SecAltIDGrp> fields:
• The subscriber’s security ID and source, as submitted by the subscriber on the trade
• The ISIN
• The TRAX Code
1. Off Database Securities (OF)
To override the TRAX security validation and report the trade using its own identifier, the subscriber must set a trade transaction condition of “OF” in the <Stipulations> component block:
• Stipulation Type (233) = TRAXTRDCON
• StipulationValue (234) = OF (Off Database)
Note that the Competent Authorities will typically reject a trade reported using an identifier other than the ISIN.
TRAX FIX Gateway
91
iv. Underlying Instrument (Financing Trades Only)
Financing trades use the <UnderlyingInstrument> component block to specify the underlying collateral being financed, which can be an equity, a bond or a basket, as specified in SecuritySubType (762). In all cases, UnderlyingSymbol (311) should be provided to designate the start of the component block, and will be defaulted to “[N/A]”.
If the underlying instrument is an equity or bond, then UnderlyingSecurityID and UnderlyingSecurityIDSource must be provided when submitting the trade, and will be used as matching fields. In this case, these fields follow exactly the same rules and behavior as SecurityID (22) and SecurityIDSource (48) above. Similarly, TRAX will provide alternative identifiers in outbound message using the <UndSecAltIDGrp> repeating component block, following the same priority rules as specified above for <SecAltIDGrp>.
The underlying instrument of a triparty financing trade must be a basket. If the underlying instrument is a basket, then the identifier of the seller’s (deliverer’s) collateral set must also be provided:
• UnderlyingSecurityIDSource (305) = Unilateral Code (102)
• UnderlyingSecurityID (309) = Internal identifier of the collateral set
• StipulationType (233) = TRIPARTY
In this case, the underlying instrument will be disclosed, but will not be used as a matching field.
e. Control Number References
TRAX Match allows participants to enter up to five private control number references on a trade.
These references can be any text string up to 16 characters. They are not disclosed to the counterparty, but will be returned on all outbound messages relating to the trade, and will be visible to the participant’s users on the TRAX Match GUI.
Each control number has a unique type associated with it. If a participant has provided a reference in an earlier message (e.g. Type = OTH1), and then leaves it out in a later message amending the trade, TRAX Match will consider the number deleted and remove it from the trade.
TRAX FIX Gateway
92
f. MiFID I Reporting Functions
TRAX Match supports several features designed to allow reporting of trades under MiFID I reporting requirements. Note that support for these features is included in the FIX specification for backwards compatibility purposes, and is expected to be deprecated once MiFID II reporting replaces MiFID I requirements. Currently MiFID I support is expected to be retired mid-2017, although this may be extended by the regulatory authorities.
These features are optional, and should only be used by customers migrating an existing TRAX gateway to FIX who wish to continue using TRAX Match for reporting purposes.
Specifically, the MiFID I reporting features include:
• TRAX trade regulatory conditions, including identification of regulator (competent authority)
• Support for agency trades
• Support for complex average price and aggregate trades
i. Trade Regulatory Conditions
TRAX supports a number of trade regulatory conditions that can be set on a trade in order to control the behavior of the MiFID I reporting service.
These conditions are optional, and have no impact on the behavior of the matching service. They are not disclosed to the counterparty, but rather affect how the trades are reported to the various Competent Authorities.
TRAX Value Definition FIX Field(s)
AG Market-side trade in an agency transaction StipulationType (233) = TRAXREGCON
StipulationValue (234) = AG
AX Agency cross trade StipulationType (233) = TRAXREGCON
StipulationValue (234) = AX
CL Client-side trade in an agency transaction StipulationType (233) = TRAXREGCON
StipulationValue (234) = CL
FR Autorité des Marchés Financiers (AMF) - France In <RootParties>, see 1 below
GB Financial Services Authority (FSA) – United Kingdom In <RootParties>, see 1 below
NL Authority for the Financial Markets (AFM) – The Netherlands In <RootParties>, see 1 below
TRAX FIX Gateway
93
TRAX Value Definition FIX Field(s)
OE Off exchange regulated market (equivalent to FSMA condition “OE”, used when reporting transactions concluded outside the regulated market)
StipulationType (233) = TRAXREGCON
StipulationValue (234) = OE
PM Primary market operations StipulationType (233) = PRIMARY
PX Principal cross trade StipulationType (233) = TRAXREGCON
StipulationValue (234) = PX
TG Client-side aggregate trade StipulationType (233) = TRAXREGCON
StipulationValue (234) = TG
TM Market-side complex trade StipulationType (233) = TRAXREGCON
StipulationValue (234) = TM
TV Client-side average price trade StipulationType (233) = TRAXREGCON
StipulationValue (234) = TV
1. Identifying the Regulator (Competent Authority)
Submitting the trade regulator (Competent Authority) is optional. If the subscriber is configured to report all trades, the regulator need not be provided. If the subscriber is configured to report on a selective (i.e. trade by trade) basis, then the regulator should be specified in order to trigger reporting.
TRAX currently supports three regulators with selective reporting configurations, identified using the <RootParties> component block with:
• RootPartyID (1117)
o FR = Autorité des marchés financiers (AMF)
o GB = Financial Conduct Authority (FCA)
o NL = Authority for the Financial Markets (AFM)
• RootPartyIDSource (1118) = T
• RootPartyRole (1119) = Regulatory Body (34)
TRAX FIX Gateway
94
ii. Agency Trades
Submission of agency trades is supported for cash trades only. Note that agency trade data does not trigger any special matching behavior. For practical purposes, only the market side trade (i.e. the “AG” trade) is likely to have a matching trade from the counterparty (see below).
To report an agency transaction, the participant sends in two trade reports, setting the TRAX Regulatory Condition in the <Stipulations> component block as follows:
• The market-side trade must have StipulationType (233) = TRAXREGCON and StipulationValue (234) = AG
• The client-side trade must have StipulationType (233) = TRAXREGCON and StipulationValue = CL
Other requirements for the two agency trades include:
• Both trades must contain the same Pool Reference in TradeLinkID (820)
• The two trades must match on TradeDate (75), TransactTime (60) and the security referenced in the <Instrument> component block
For MiFID I purposes, the two agency trades will be combined by TRAX and reported to the appropriate regulator as a single transaction with the following features:
• All trade details except the Client identifier will be taken from the AG trade (counterparty 2)
• The Client identifier will be populated from the counterparty identified on the CL trade (counterparty 2)
1. Agency Cross (AX) and Principal Cross (PX) trades
As an alternative to a straight agency trade, participants can also use TRAX Match to report agency cross (AX) and principal cross (PX) trades for MiFID I purposes. Like straight agency trades, participants must send in a linked pair of trades, which TRAX Match will combine into a single transaction when reporting to the regulator. In these cases:
• A pair of agency cross trades must both have StipulationType (233) = TRAXREGCON and StipulationValue (234) = AX
• A pair of principal cross trades must both have StipulationType (233) = TRAXREGCON and StipulationValue (234) = PX
• Both trades must contain the same Pool Reference in TradeLinkID (820)
• The two trades must match on TradeDate (75), TransactTime (60) and the security referenced in the <Instrument> component block
TRAX FIX Gateway
95
• TRAX will take all details except counterparty 2 from the first trade received
• TRAX will take the counterparty 2 details from the second trade received
iii. Complex (Aggregate and Average Price) Trades
Submission of complex aggregate and average price trades is supported for cash trades only. Note that complex trade data does not trigger any special matching behavior. For practical purposes, only the market side trades (i.e. the “TM” trades) are likely to have matching trades from the counterparty (see below).
To report a complex transaction, the participant sends in multiple (‘n’) trade reports, setting the TRAX Regulatory Condition in the <Stipulations> component block as follows:
• The market-side trades must have StipulationType (233) = TRAXREGCON and StipulationValue (234) = TM
• The client-side trades must have StipulationType (233) = TRAXREGCON and
o StipulationValue (234) = TG for a client allocation of an aggregate transaction (client side aggregate trade)
o StipulationValue (234) = TV for a client allocation of an average price transaction (client side average price trade)
• All trades making up the complex transaction must share the same designated trade sub account, sent in the Account (1) field under the
<TrdCapRptSide> component block
o Note that the trade sub account is not disclosed to the counterparty, nor is it a matching field
• All trade making up the complex transaction must contain the same security identified in their <Instrument> component block
The examples below clarify the relationship between trades reported in a complex transaction.
1. Aggregate Transaction
A firm may receive multiple orders from clients that may be filled as a single trade in the market. For example, ABC Broker receives an order totalling 100,000 shares from three separate clients. ABC Broker gives the order to DEF Broker who fulfils the order as a single trade.
TRAX FIX Gateway
96
To reduce the number of transaction reports a firm must submit as well as ensuring an adequate audit trail is maintained, it is recommend that ABC Broker report a buy from DEF Broker on behalf of their internal Aggregated Account (identified in the Trade Sub Account) with a Trade Regulatory Condition Code of “TM” (Market Side Complex Trade), e.g.
Principal Counterparty Quantity Side Trade Sub Account Regulatory Condition
ABC Broker DEF Broker 100,000 Buy TRADE_AGG1 TM
ABC Broker should then report 3 agency sell transactions from the internal Aggregated Account (identified in the Trade Sub Account) for each client identified in the Counterparty element with Trade Regulatory Condition Code of “TG” (Client Side Aggregate Trade), e.g.
Principal Counterparty Quantity Side Trade Sub Account Regulatory Condition
ABC Broker Client 1 20,000 Sell TRADE_AGG1 TG
ABC Broker Client 2 30,000 Sell TRADE_AGG2 TG
ABC Broker Client 3 50,000 Sell TRADE_AGG3 TG
For MiFID I purposes, TRAX will report the above trades to the appropriate regulator as a single agency trade and three agency cross trades.
2. Average Price Transaction
A firm may receive multiple orders from clients that can only be filled by executing two or more transactions at different prices in the market. For example, ABC Broker receives an order totaling 100,000 shares from three separate clients. ABC Broker gives the order to DEF Broker who fulfils the order in three separate trenches: 20,000, 50,000 and 30,000 shares at unit prices of 100p, 101p and 102p respectively.
To reduce the number of transaction reports a firm must submit as well as ensuring an adequate audit trail is maintained, it is recommend that ABC Broker reports three agency transactions for the market side in to a designated internal Average Price Account (identified in the Trade Sub Account) with a Trade Regulatory Condition Code of “TM” (Market Side Complex Trade), e.g.
Principal Counterparty Quantity Side Price Trade Sub Account Regulatory Condition
ABC Broker DEF Broker 20,000 Buy 100p TRADE_AGG1 TM
TRAX FIX Gateway
97
Principal Counterparty Quantity Side Price Trade Sub Account Regulatory Condition
ABC Broker DEF Broker 30,000 Buy 101p TRADE_AGG2 TM
ABC Broker DEF Broker 50,000 Buy 102p TRADE_AGG3 TM
ABC Broker should then report three agency cross transactions for each client identified in the Counterparty element out of the designated internal Average Price Account (identified in the Trade Sub Account) with a Trade Regulatory Condition Code of “TV” (Client Side Average Price Trade), e.g.
Principal Counterparty Quantity Side Price Trade Sub Account Regulatory Condition
ABC Broker Client 1 50,000 Sell 101p TRADE_AGG1 TV
ABC Broker Client 2 40,000 Sell 101p TRADE_AGG2 TV
ABC Broker Client 3 10,000 Sell 101p TRADE_AGG3 TV
For MiFID I purposes, TRAX will report the above trades to the appropriate regulator as three agency trades and three agency cross trades.
TRAX FIX Gateway
98
v) Messages
a. TradeCaptureReport (AE)
Tag Field Name Req? Comment
<StandardHeader> Y MsgType (35) = AE
571 TradeReportID N Unique identifier for this trade report message. Required for all inbound TradeCaptureReport (AE) messages. Will not be provided on outbound messages that are responses to a trade query, i.e. where TradeRequestID (568) is specified. Will be provided by TRAX for all other outbound TradeCaptureReport (AE) messages.
1003 TradeID N TRAX’s unique identifier for the trade. Not required when submitting a new trade. Required for all other TradeCaptureReport (AE) messages.
1041 FirmTradeID N Subscriber’s unique identifier for the trade.
1042 SecondaryFirmTradeID N Optional identifier for subscribers who wish to assign a separate ID to the closing leg of a financing trade. If provided, it will be returned on all outbound messages associated with the trade.
487 TradeReportTransType N Identifies Trade Report message transaction type. Required for inbound TradeCaptureReport (AE) messages. Will not be provided on outbound messages that are responses to a trade query, i.e. where TradeRequestID (568) is specified. Will be provided on all other outbound TradeCaptureReport (AE) messages. Values:
0 = New
1 = Cancel
2 = Replace
TRAX FIX Gateway
99
Tag Field Name Req? Comment
856 TradeReportType N Type of trade report. Values:
0 = Submit
1 = Alleged
3 = Decline
4 = Addendum
5 = No/Was
6 = Trade Report Cancel
12 = Alleged Addendum
13 = Alleged No/Was
14 = Alleged Trade Report Cancel
568 TradeRequestID N Used when responding to a trade query. Identifier of the TradeCaptureReportRequest (AD) message to which this message is a response.
828 TrdType N Type of trade. Used to indicate the type of venue the trade was executed on (place of trade). If not specified on trade entry/amend, TRAX will default to OTC. Values:
54 = Over the counter (OTC)
1001 = Exchange-traded (EXCH)
1002 = Multilateral trading facility (MTF)
1003 = Systematic internaliser (SYSI)
<TradePriceConditionsGrp> N Price conditions in effect at the time of the trade, as provided by the original submitting party. Note – the counterparty trade’s price conditions will be provided in <TRAXSide2DisclosedData> for a matched trade.
TRAX FIX Gateway
100
Tag Field Name Req? Comment
1123 TradeHandlingInstr N Used by TRAX to indicate the workflow that TRAX will employ when handling the trade. Not supported for inbound TradeCaptureReport (AE) message. Values:
0 = Trade confirmation. Indicates the trade is matched, and can only be altered by agreement of both parties
2 = One-party report for matching. Indicates that the trade is eligible for matching and reporting
3 = One-party report for pass through. Indicates that the trade is eligible for reporting only, i.e. will not be matched
1124 OrigTradeHandlingInstr N Carries the previous trade handling instructions when the workflow has changed, e.g. after a trade amendment, matched trade confirmation or counterparty denial. Not supported for inbound TradeCaptureReport (AE) message.
748 TotNumTradeReports N Total number of trades returned by the query. Used when responding to a trade query.
912 LastRptRequested N Indicates whether or not this trade report is the last one in the return set. Used when responding to a trade query. Values:
N = Not the last message
Y = Last message
325 UnsolicitedIndicator N Used in unsolicited status updates caused by out-of-band changes, e.g. participant user actions performed on the TRAX GUI. Value:
Y = Message is being sent unsolicited
572 TradeReportRefID N TradeReportID of the previous TradeCaptureReport (AE) in the message chain. Required where TradeReportTransType (487) = Cancel (1) or Replace (2), e.g. for inbound pre-match amendments, cancelations and trade denies.
820 TradeLinkID N Optional pool reference. Can be used by the subscriber to link multiple trades together. If provided, TRAX will return the reference in all outbound messages associated with the trade that are sent back to the submitting party. TradeLinkID will not be disclosed to the counterparty.
880 TrdMatchID N Common trade reference provided by TRAX to on both trades in a matched pair of trades.
TRAX FIX Gateway
101
Tag Field Name Req? Comment
<RegulatoryTradeIDGrp> N The Unique Transaction Identifier (UTI) for securities financing trades.
423 PriceType N Indicates the type of deal price or repo rate of the trade. Modifies LastPx (31) for cash trades, Price (44) for financing trades. Values:
1 = Percentage (cash trades only)
2 = Per unit (cash trades only)
6 = Spread (financing trades only – massage must include BenchmarkCurveName (221))
9 = Yield (cash or financing trades)
<RootParties> N Used to identify the trade counterparty, end client, place of trade and competent authority.
<Instrument> Y Identifies the security or financing transaction traded. In a financing trade, the underlying security or basket collateral is identified in <UnderlyingInstrument>
<FinancingDetails> N Used for financing trades to describe financing agreement terms. In cash trades, only the DeliveryType is specified.
<UndInstrmtGrp> N Used in financing trades to identify the underlying security or basket collateral
32 LastQty N For cash trades, the quantity of securities trades. Not supported for financing trades.
31 LastPx N For cash trades, deal price of the trade, expressed in PriceType (423) units. Not supported for financing trades
75 TradeDate N Indicates date of trading day (expressed in local time at place of trade) in YYYYMMDD format.
<SpreadOrBenchmarkCurveData> N Used for variable rate financing transactions, to carry the reference index name
60 TransactTime N Time the transaction/trade represented by this TradeCaptureReport (35=AE) occurred. Execution time of trade in UTC time.
63 SettlType N Used to indicate When Issued trades. Value:
7 = When and If Issued
TRAX FIX Gateway
102
Tag Field Name Req? Comment
64 SettleDate N Cash trades only. Specific date of trade settlement in YYYYMMDD format. If present, this field overrides SettlType (63). This field should be omitted if the value of SettlType (63) is 7 (When and If Issued). Expressed in local time at place of settlement. For Financing trades, use StartDate (916)
573 MatchStatus N Indicates whether or not the trade has been matched. Values:
0 = Matched
1 = Unmatched
2 = Advisory
574 MatchType N TRAX status of the trade. Not supported for inbound messages. Even though the trade is not matched, it will contain a Side 2 carrying the SideTradeID (1506) of the mismatching trade. Values:
ADV = Advisory
AWC = Matched, awaiting cancellation
CAN = Cancelled
DEN = Denied unmatched
DKA = Not known advisory
MAT = Matched
MCS = Matched, conflicting settlement
MKC = Matched, marked for cancellation
MMS = Matched, matched settlement
NMT = Non matchable trade (ineligible)
UNM = Unmatched
MSM = Mismatched
<TrdCapRptSideGrp> Y Contains trade details of each side of a matched pair of trades. For unmatched trades, it will contain only Side 1. For matched trades, Side 1 will be the original submitting party’s data, while Side 2 will contain data from the matching counterparty trade.
779 LastUpdateTime N Timestamp of the last update to the trade in UTC time. Not supported for inbound messages.
TRAX FIX Gateway
103
Tag Field Name Req? Comment
1934 RegulatoryReportType N Type of regulatory report. Used to indicate a lifecycle event message. Value:
9 = Post-trade event
1937 TradeContinuation N Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties. Values:
101 = Re-rate, i.e. rate or spread Change
102 = Re-price, i.e. price change
103 = End date change
104 = Close out
105 = Substitution
106 = Roll-over
2302 TradeVersion N TRAX assigned version of the trade.
TRAX FIX Gateway
104
Tag Field Name Req? Comment
40005 TRAXReasonCode N Indicates the reason an advisory trade is denied. For optional use by subscribers when denying an advisory trade. If provided, TRAX will pass the code on to the original submitting party. Codes are only defined for fields that prevent a match. No codes are defined for disagreement on fields that are disclosure only (e.g. Accrued Interest Amount). Values:
0001 = Trade not recognized
0002 = Disagreement Direction of Trade
0003 = Disagreement Security
0004 = Disagreement Deal Price
0005 = Disagreement Deal Price Currency
0008 = Disagreement Trade Date
0011 = Disagreement Settlement Date
0013 = Disagreement Trade Conditions
0014 = Disagreement Fund Id
0015 = Disagreement Quantity
0016 = Disagreement SSIs
0019 = Disagreement Settlement Amount Currency
0020 = Disagreement Settlement Amount
0022 = Possible duplicate trade
0023 = Disagreement Termination Transaction Amount
0024 = Disagreement Termination Type
0025 = Disagreement Repo Rate
0026 = Disagreement Closing Date Time
0027 = Disagreement Variable Rate Support
0028 = Disagreement Call Notice
40220 TRAXMismatchReason N In the case that trade is in an MSM state, indicates field(s) of mismatch when compared with linked Trade ID given in Tag1506. Format is '<MismatchField1>:<MismatchValue1> ; <MismatchField2>:<MismatchValue2> ; …'
TRAX FIX Gateway
105
Tag Field Name Req? Comment
<TRAXControlNumbers> N Contains optional additional references assigned to the trade by the subscriber. If provided, it will be returned on all outbound messages associated with the trade.
<StandardTrailer> Y
b. TradeCaptureReportAck (AR)
Tag Field Name Req? Comment
<StandardHeader> Y MsgType (35) = AR
571 TradeReportID Y Identifier of the trade capture report message being accepted or rejected.
1003 TradeID N TRAX’s unique identifier for the trade. Will not be sent when rejecting a new trade. Will be sent on all other outbound TradeCaptureReportAck (AR) messages.
1041 FirmTradeID N As provided by the subscriber.
1042 SecondaryFirmTradeID N As provided by the subscriber.
487 TradeReportTransType N Transaction type of the trade capture report.
856 TradeReportType N Trade report type of the trade capture report.
828 TrdType N Type of trade. Used to indicate the type of venue the trade was executed on (place of trade). If not specified on trade entry/amend, TRAX will default to OTC. Values:
54 = Over the counter (OTC)
1001 = Exchange-traded (EXCH)
1002 = Multilateral trading facility (MTF)
1003 = Systematic internaliser (SYSI)
TRAX FIX Gateway
106
Tag Field Name Req? Comment
1123 TradeHandlingInstr N Used by TRAX to indicate the workflow that TRAX will employ when handling the trade. Values:
0 = Trade confirmation. Indicates the trade is matched, and can only be altered by agreement of both parties
2 = One-party report for matching. Indicates that the trade is eligible for matching and reporting
3 = One-party report for pass through. Indicates that the trade is eligible for reporting only, i.e. will not be matched
1124 OrigTradeHandlingInstr N Carries the previous trade handling instructions when the workflow has changed, e.g. after a trade amendment, matched trade confirmation or counterparty denial.
<RootParties> N TRAX will enrich the <RootParties> supplied on the trade report with additional identifiers.
572 TradeReportRefID N The TradeReportID that is being reference for some action, such as an amendment, cancellation or trade deny.
939 TrdRptStatus Y Indicates if the trade report was successfully processed or not. Note – does not indicate if the trade itself has been accepted or denied, only whether the trade report message has been successfully processed. Values:
0 = Accepted
1 = Rejected
751 TradeReportRejectReason N Code representing the reason for rejection of the trade report. Values:
0 = Successful
1 = Invalid party information
2 = Unknown instrument
3 = Unauthorized to report trades
4 = Invalid trade type
99 = Other
1328 RejectText N Human readable text explanation for the refection of the trade report.
820 TradeLinkID N As provided by the subscriber.
TRAX FIX Gateway
107
Tag Field Name Req? Comment
880 TrdMatchID N Common trade reference provided by TRAX on both trades in a matched pair of trades.
<RegulatoryTradeIDGrp> N Unique Transaction Identifier (UTI). As provided by the original submitting party or as provided by the counterparty for a matched trade. Trax will assign a UTI for a matched trade if neither of the parties to the trade have submitted a UTI.
423 PriceType N As provided by the original submitting party.
32 LastQty N As provided by the original submitting party.
31 LastPx N As provided by the original submitting party.
<Instrument> Y TRAX will enrich with additional identifiers and security description.
<FinancingDetails> N As provided by the original submitting party.
75 TradeDate N As provided by the original submitting party.
60 TransactTime N As provided by the original submitting party.
63 SettlType N As provided by the original submitting party.
<UndInstrmtGrp> N Financing trades only. TRAX will enrich with additional identifiers and security description.
573 MatchStatus N Indicates whether or not the trade has been matched. Values:
0 = Matched
1 = Unmatched
2 = Advisory
TRAX FIX Gateway
108
Tag Field Name Req? Comment
574 MatchType N TRAX status of the trade. Not supported for inbound messages. Even though the trade is not matched, it will contain a Side 2 carrying the SideTradeID (1506) of the mismatching trade. Values:
ADV = Advisory
AWC = Matched, awaiting cancellation
CAN = Cancelled
DEN = Denied unmatched
DKA = Not known advisory
MAT = Matched
MCS = Matched, conflicting settlement
MKC = Matched, marked for cancellation
MMS = Matched, matched settlement
NMT = Non-matchable trade (ineligible)
UNM = Unmatched
MSM = Mismatched
58 Text N The submitting party’s narrative associated with the current version of the trade.
779 LastUpdateTime N Timestamp of the last update to the trade in UTC time. Not supported for inbound messages.
<TrdCapRptAckSideGrp> N Contains trade details of each side of a matched pair of trades. For unmatched trades, it will contain only Side 1. For matched trades, Side 1 will be the original submitting party’s data, while Side 2 will contain data from the matching counterparty trade.
64 SettlDate N As provided by the original submitting party.
40005 TRAXReasonCode N Reason for denying the trade, as provided on in the trade capture report. TRAX will pass the reason code on to the original submitting party.
TRAX FIX Gateway
109
Tag Field Name Req? Comment
40010 TRAXCounterpartyNarrative N The most recent counterparty narrative associated with the counterparty’s side of a matched trade. Note that the Text (58) field is defined at the message level in a TradeCaptureReportAck (AR) message. In a TradeCaptureReport (AE) message, the same data will be conveyed in the Text (58) field under side 2 of the <TrdCapRptSideGrp> component block.
40011 TRAXReferenceIndex N Used for variable rate financing trades. Reference index over which the spread is defined. Same values as BenchmarkCurveName (221) in a TradeCaptureReport (AE) message.
40012 TRAXTradeVersion N Used in outbound TradeCaptureReportAck (AR) messages to carry the TRAX assigned version of the trade. Same values as TradeVersion (2302) in a TradeCaptureReport (AE) message.
40220 TRAXMismatchReason N In the case that trade is in an MSM state, indicates field(s) of mismatch when compared with linked Trade ID given in Tag1506. Format is '<MismatchField1>:<MismatchValue1> ; <MismatchField2>:<MismatchValue2> ; …'
<TRAXControlNumbers> N Contains optional additional references assigned to the trade by the subscriber. If provided, it will be returned on all outbound messages associated with the trade.
<StandardTrailer> Y
c. TradeCaptureReportRequest (AD)
A Subscriber firm can query for their trades and advisories for up to 90 days after submission (for cash trades), or indefinitely (for financing trades). In all cases, only trades/advisories where the Subscriber is a party to the trade will be returned. When combining multiple search criteria, the combination is always treated as a logical AND operator.
Tag Field Name Req? Comment
<StandardHeader> Y MsgType (35) = AD
568 TradeRequestID Y Unique identifier for the trade request (query) message. TRAX will return this ID on all response messages resulting from the query.
TRAX FIX Gateway
110
Tag Field Name Req? Comment
1003 TradeID N Will return the specific subscriber’s trade or counterparty advisory with this TradeID. Search criterion: TRAX Trade ID.
1041 FirmTradeID N Search criterion: Subscriber’s Trade ID.
Will return the specific subscriber’s trade with this FirmTradeID.
569 TradeRequestType Y Required by FIX on a TradeCaptureRequest (AD) message. Search criterion: Match Status. Values:
0 = All Trades – return all trades and advisories meeting other criteria
1 = Matched trades – return all matched trades meeting other criteria
2 = Unmatched trades – return all unmatched trades meeting other criteria
4 = Advisories – return all advisories meeting other criteria
820 TradeLinkID N Will return all trades containing the subscriber’s TradeLinkID. Search criterion: Subscriber’s Pool Reference.
880 TrdMatchID N Will return the subscriber’s trade and the counterparty advisory that contain the TrdMatchID. Search criterion: TRAX matched trade ID.
40218 TraxUTI N Search criterion: Unique Transaction Identifier (UTI).
Will return the specific subscriber’s trade with this UTI.
<Parties> N Subscriber can specify one of the parties by BIC, TRAX Code or LEI. Search criterion: Counterparty.
<Instrument> N Limits the return set to cash trades on the identified security, plus financing trades where the identified security is the underlying collateral. Only SecurityID (48) and SecurityIDSource (22) are supported for trade queries. Search criterion: Security.
<TrdCapDtGrp> C Required if TradeID (1003), FirmTradeID (1041), TradeLinkID (820) or TradeMatchID (880) are not specified.
Search criterion: Trade date range - Use TradeDate (75)
Search criterion: Trade date time range - Use TransactTime (60)
Search criterion: Last update time range - Use LastUpdateTime (779)
<StandardTrailer> Y
TRAX FIX Gateway
111
d. TradeCaptureReportRequestAck (AQ)
TRAX will respond to every TradeCaptureReportRequest (AD) message with a TradeCaptureReportRequestAck (AQ) message.
Tag Field Name Req? Comment
<StandardHeader> Y MsgType (35) = AQ
568 TradeRequestID Y TradeRequestID of the TradeCaptureReportRequest to which this is a response.
569 TradeRequestType Y TradeRequestType as specified in the TradeCaptureReportRequest to which this is a response. Note that this may be an unsupported type.
748 TotNumTradeReports C Not required for rejected queries. Will equal 0 if query returns no results. If query returns results, total number of trade reports to follow.
749 TradeRequestResult Y Reports the result of the trade request. Values:
0 = Successful (will be sent when the query was valid, whether it returned 0 or n>0 results)
1 = Invalid or unknown instrument
3 = Invalid parties
8 = TradeRequestType not supported
9 = Not authorized
99 = Other
750 TradeRequestStatus Y Reports the status of the trade request. Values:
0 = Accepted (query is valid and will return n>0 results)
1 = Completed (query is valid, but returned 0 results)
2 = Rejected (query is invalid)
58 Text C Human readable reason for the query rejection. Required for rejected queries.
<StandardTrailer> Y
TRAX FIX Gateway
112
e. BusinessMessageReject (j)
TRAX supports the BusinessMessageReject (j) message both inbound (from participants) and outbound (from TRAX). All inbound BusinessMessageReject (j) messages will result in an alert to TRAX support personnel which will be investigated. The message should therefore be used sparingly by participants. Specifically, it should only be used to:
• Reject an application level message type that does not have a standard rejection message, i.e. TradeCaptureReportAck (AR) and
TradeCaptureReportRequestAck (AQ) messages
• Inform TRAX that an internal application is not available to process messages due to a production issue
TRAX will only send a BusinessMessageReject (j) message in the following scenarios:
• The FIX gateway receives an application level message, but cannot communicate to the TRAX system due to an internal production
problem
• The FIX gateway receives an application level message that is not a supported message type
• The FIX gateway receives a TradeCaptureReportAck (AR), but the connection does not have the required Advisories functional permission
• The FIX gateway receives a TradeCaptureReportAck (AR), but the TradeReportID (571) does not belong to a TradeCaptureReport (AE)
message previously sent to the connection
BusinessMessageReject (j) messages do not require a TRAX subscriber to be identified in OnBehalfOfCompID (115), and will be sent without a subscriber in DeliverToCompID (128). BusinessMessageReject (j) messages will not alter or report on the status of any business data or transactions within the TRAX Match system. They are purely a means to trigger human investigation in cases where a serious problem may have occurred.
The table below represents the outbound BusinessMessageReject (j) messages participants can receive from TRAX. For inbound messages, participants may send any fields supported in the standard FIX 5.0 SP2 specifications.
Tag Field Name Req? Comment
<StandardHeader> Y MsgType (35) = j. DeliverToCompID (128) will not be sent
45 RefSeqNum N MsgSeqNum of the message being rejected.
372 RefMsgType Y MsgType of the FIX message being referenced.
TRAX FIX Gateway
113
Tag Field Name Req? Comment
380 BusinessRejectReason Y Code to identify the reason for the Business Message Reject message. Values:
1 = Unknown ID
3 = Unsupported Message Type
4 = Application Not Available
6 = Not Authorized
58 Text N Where possible, a human readable message explaining the rejection.
TRAX FIX Gateway
114
vi) Component Blocks The table below specifies the component blocks used by TRAX Match:
Component Block
Trad
eC
aptu
reR
epo
rt
(AE)
Trad
eC
aptu
reR
epo
rtA
c
k (A
R)
Trad
eC
aptu
reR
epo
rtR
e
qu
est
(A
D)
Trad
eC
aptu
reR
epo
rtR
e
qu
est
Ack
(A
Q)
Parent Component Block(s)
<StandardHeader> X X X X Message (All)
<StandardTrailer> X X X X Message (All)
<TradePriceConditionsGrp> X - Message (AE)
TradeCaptureReportAck (AR) uses custom fields
<RegulatoryTradeIDGrp> X X Message (AE, AR)
<RootParties> X X - - Message (AE, AR)
<Instrument> X X X X Message (AE, AR, AD, AQ)
<SecAltIDGrp> X X -* -* <Instrument>
<FinancingDetails> X X -* - Message (AE, AR, AD)
<UndInstrmntGrp> X X -* -* Message (AE, AR, AD, AQ)
<UnderlyingInstrument> X X -* -* <UndInstrmntGrp>
<UndSecAltIDGrp> X X - - <UnderlyingInstrument>
<SpreadOrBenchmarkCurveData> X - - - Message (AE)
TradeCaptureReportAck (AR) uses custom fields
<TrdCapRptSideGrp> X - - - Message (AE)
<TrdCapRptAckSideGrp> - X - - Message (AR)
TRAX FIX Gateway
115
Component Block
Trad
eC
aptu
reR
epo
rt
(AE)
Trad
eC
aptu
reR
epo
rtA
c
k (A
R)
Trad
eC
aptu
reR
epo
rtR
e
qu
est
(A
D)
Trad
eC
aptu
reR
epo
rtR
e
qu
est
Ack
(A
Q)
Parent Component Block(s)
<Parties> X X X - Message (AD)
<TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<CommissionData> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<Stipulations> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<MiscFeesGrp> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<TrdAllocGrp> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<SettlDetails> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<SettlParties> X X - - <SettlDetails>
<SettlPtysSubGrp> X X - - <SettlPtysSubGrp>
<TradeReportOrderDetail> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<TrdCapDtGrp> - - X - Message (AD)
<TRAXControlNumbers> X X - - Message (AE, AR)
<TRAXLifecycleEventGrp> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp>
<TRAXSide2DisclosedData> X X - - <TrdCapRptSideGrp>, <TrdCapRptAckSideGrp> (Side 2 Only)
• X = Supported by TRAX
• = Not supported in FIX
• -* = Supported in FIX, not supported by TRAX
TRAX FIX Gateway
116
a. <StandardHeader>
The <StandardHeader> is required for all session and application layer messages. The table below specifies the fields supported by TRAX.
Tag Field Name Req? Comment
8 BeginString Y Must be the first field in the message. Always unencrypted.
Will always = FIXT.1.1
9 BodyLength Y Message length, in bytes, forward to CheckSum field. Must be the second field in the message. Always unencrypted.
35 MsgType Y Defines the message type. Always the third field in the message. Always unencrypted.. Values:
Session Level Messages
0 = Heartbeat
1 = TestRequest
2 = ResendRequest
3 = Reject (Session Level)
4 = SequenceReset
5 = Logout
A = Logon
Application (Business) Level Messages
AD = TradeCaptureReportRequest
AE = TradeCaptureReport
AQ = TradeCaptureReportRequestAck
AR = TradeCaptureReportAck
j = BusinessMessageReject
1128 ApplVerID C TRAX will send ApplVerID on all other outbound application messages. Not supported for session layer or BusinessMessageReject (j) messages, will be ignored if sent. Optional for all other inbound application messages. Value:
9 = FIX 5.0 SP2
49 SenderCompID Y Value as defined for the FIX connection.
TRAX FIX Gateway
117
Tag Field Name Req? Comment
56 TargetCompID Y Value as defined for the FIX connection.
115 OnBehalfOfCompID C Not supported for session layer or BusinessMessageReject (j) messages, will be ignored if sent. Required for all other inbound application messages. Must be the TRAX Code of the subscriber entity. TRAX will not send OnBehalfOfCompID
128 DeliverToCompID N Not supported for inbound messages, will be ignored if sent. TRAX will send DeliverToCompID on all outbound application messages except BusinessMessageReject (j). Value will be the TRAX Code of the subscriber entity to whom the message is being sent.
34 MsgSeqNum Y Usage as per FIX specification.
50 SenderSubID C Required on outbound business messages. Used to identify the TRAX service sending the message. Values:
MATCH = TRAX Match service
APA = TRAX APA service (future use)
57 TargetSubID C Used to identify the TRAX service to which the message is being sent. Required on inbound business messages. Values:
MATCH = TRAX Match service
APA = TRAX APA service (future use)
43 PossDupFlag N Usage as per FIX specification.
97 PossResend N Usage as per FIX specification.
52 SendingTime Y Usage as per FIX specification (UTC time).
122 OrigSendingTime N Usage as per FIX specification (UTC time).
b. <StandardTrailer>
Tag Field Name Req? Comment
10 CheckSum Y Always last field in the message. Always unencrypted.
TRAX FIX Gateway
118
c. <TradePriceConditionsGrp>
Tag Field Name Req? Comment
1838 NoTradePriceConditions Y Number of trade price conditions.
1839 TradePriceCondition Y Price conditions in effect at the time of the trade. Multiple price conditions can be in effect at the same time. Price conditions are usually required to be reported in markets that have regulations on price execution at a market or national best bid or offer, and the trade price differs from the best bid or offer. Values:
0 = Special cum dividend (CD)
1 = Special cum rights (CR)
2 = Special ex dividend (XD)
3 = Special ex rights (XR)
4 = Special cum coupon (CC)
5 = Special cum capital repayments (CM)
6 = Special ex coupon (XC)
7 = Special ex capital repayments (XP)
9 = Special cum bonus (CB)
11 = Special ex-bonus (XB)
12 = Guaranteed delivery (GD)
d. <RegulatoryTradeIDGrp>
The <RegulatoryTradeIDGrp> is used in the in TradeCaptureReport (AE) and TradeCaptureReportAck (AR) messages to specify the Unique Transaction Identifier for a securities financing trades.
Tag Field Name Req? Comment
1907 NoRegulatoryTradeIDs Y Number of regulatory trade identifiers for the trade. Will always be 1.
→ 1903 RegulatoryTradeId Y Unique Transaction Identifier (UTI)
TRAX FIX Gateway
119
e. <RootParties>
The <RootParties> component block will be used in TradeCaptureReport (AE) and TradeCaptureReportAck (AR) messages to specify the following parties to the trade:
• Counterparty to a trade
• The place of trade for non-OTC trades, either an exchange, a multilateral trading facility (MTF) or a systematic internaliser
• The regulator to whom a trade will be reported
• The GUI user who caused an unsolicited change in trade status
Tag Field Name Req? Comment
1116 NoRootPartyIDs Y Number of RootPartyID (1117), RootPartyIDSource (1118) and RootPartyRole (1119) groups specified below.
→ 1117 RootPartyID Y Party identifier/code. See RootPartyIDSource (1118) and RootPartyRole (1119).
→ 1118 RootPartyIDSource Y Type of identifier in RootPartyID (1117). Required if RootPartyID is specified. Values:
B = Bank Identifier Code (BIC)
C = FCA Reference Number (FRN)
D = Internal Code
G = Market Identifier Code (MIC)
N = Legal Entity Identifier (LEI)
T = TRAX Code
→ 1119 RootPartyRole Y Role of the party identified in RootPartyID (1117). Values:
17 = Contra Firm (Counterparty)
22 = Exchange
34 = Regulatory Body
63 = Systematic Internaliser
64 = Multilateral Trading Facility (MTF)
118 = Operator
TRAX FIX Gateway
120
f. <Instrument>
The <Instrument> component block will be used by TRAX as follows:
• For cash equity and fixed income trades, the security traded (equity or bond) will be described in <Instrument>
• For financing trades, the financing agreement will be described in <Instrument>, while the underlying security or collateral basket will be
described in <UndInstrmntGrp>
Tag Field Name Req? Comment
55 Symbol Y If available, can contain the Ticker symbol for an equity security. If no ticker symbol is available, the string “[N/A]” should be sent. TRAX will send back the Symbol value submitted for all trades reported using FIX. For all other trades (including all Advisories), TRAX will send “[N/A]”. Required to identify the start of the component block.
48 SecurityID N Security identifier value of SecurityIDSource (22) type. Requires SecurityIDSource.
22 SecurityIDSource N Required if SecurityID (48) is specified. Identifies class or source of the SecurityID (48) value. Values:
1 = US Domestic Code (CUSIP)
2 = UK Domestic (LSE) Code (SEDOL)
3 = Japanese Domestic Code (QUIK)
4 = ISIN
8 = Exchange Symbol
B = German Domestic Wertpapierkennummer
D = Swiss Domestic Valoren Code
E = French Domestic Sicovam Code
G = Euroclear and Clearstream Code (CEDEL)
101 = TRAX ICMA Number
<SecAltIDGrp> N TRAX will provide additional security identifiers where available in the TRAX securities database. Not supported for inbound messages. Will be ignored if sent.
TRAX FIX Gateway
121
Tag Field Name Req? Comment
460 Product N Indicates the type of product a security is associated with. See also SecurityType (167). Required by TRAX when submitting new or amended trades. Values:
1 = Agency
3 = Corporate
5 = Equity
6 = Government
10 = Mortgage
11 = Municipal
12 = Other
13 = Financing
167 SecurityType C TRAX will store values sent by the participant, and return them on outbound messages. TRAX does not process the field except where Product (460) = Other (12) or Financing (13). Required by TRAX when submitting new or amended trades. Values:
For Product (460) = Agency (1), Corporate (3), Equity (5), Government (6), Mortgage (10), Municipal (11): All standard FIX values accepted
For Product (460) = Equity (5): EQUT = Generic equity security
For Product (460) = Other (12): BOND = Generic fixed income security
For Product (460) = Financing (13)
o REPO = Repurchase Agreement
o BUYSELL = Buy Sellback
o SECLOAN = Securities Loan
SecuritySubType (762) must be specified if SecurityType = REPO, BUYSELL or SECLOAN
762 SecuritySubType N Sub-type qualification/identification of the SecurityType. Required by TRAX for financing transactions, i.e. when Product (460) = Financing (13). Specifies the broad category of the collateral. Values:
BOND = Fixed income financing agreement
EQUT = Equity financing agreement
BASK = Basket collateral (Used for triparty repos and securities loans only)
TRAX FIX Gateway
122
Tag Field Name Req? Comment
107 SecurityDesc N Human-readable description of the security. Not supported for inbound messages. TRAX will send back the security description held within its instrument reference data on outbound messages.
g. <SecAltIDGrp>
The <SecAltIDGrp> is used on outbound messages to communicate multiple security identifiers where available. It is not supported for inbound messages.
Tag Field Name Req? Comment
454 NoSecurityAltIDs Y Number of SecurityAltID (455) entries
→ 455 SecurityAltID Y Alternate Security identifier value for this security of SecurityAltIDSource (456) type (e.g. CUSIP, SEDOL, ISIN, etc.) Requires SecurityAltIDSource.
→ 456 SecurityAltIDSource Y Identifies class or source of the SecurityAltID (455) value. Required if SecurityAltID is specified. Values:
4 = ISIN
101 = TRAX ICMA Number
h. <FinancingDetails>
Tag Field Name Req? Comment
913 AgreementDesc N Indicates type of agreement under which a securities financing trade is transacted. Supported for financing trades only. Values:
MRPA - Global Master Repurchase Agreement
MSLA - Global Master Securities Lending Agreement.
TRAX FIX Gateway
123
Tag Field Name Req? Comment
788 TerminationType N Type of financing termination. Supported for financing trades only. Values:
2 = Term
4 = Open
916 StartDate N Start date of a financing deal, i.e. the date the buyer pays the seller cash and takes control of the collateral. Supported for financing trades only.
917 EndDate N End date of a financing deal, i.e. the date the seller reimburses the buyer and takes back control of the collateral. Supported for financing trades only.
919 DeliveryType C Payment indicator identifying the type of settlement. Required if <SettlDetails> are entered. Required for all financing trades. Optional for cash trades. Values:
0 = Delivery versus payment (APMT)
1 = Deliver free of payment (FREE)
i. <UndInstrmntGrp>
Tag Field Name Req? Comment
711 NoUnderlyings Y Required if <UnderlyingInstrument> is specified. TRAX Match only supports one underlying instrument, therefore will always equal 1.
→ <UnderlyingInstrument> Y Used for financing trades only.
j. <UnderlyingInstrument>
For a financing trade, <UnderlyingInstrument> identifies the specific security or basket being financed (i.e. acting as collateral) on the trade, as well as the deal price and forward leg price of the security.
Tag Field Name Req? Comment
311 UnderlyingSymbol Y Required by FIX to designate the start of the component block. Should always = [N/A]
TRAX FIX Gateway
124
Tag Field Name Req? Comment
309 UnderlingSecurityID Y Underlying security's SecurityID.
305 UnderlyingSecurityIDSource Y Underlying security's ID source. Required if UnderlyingSecurityID (309) is specified. Values:
1 = US Domestic Code (CUSIP)
2 = UK Domestic (LSE) Code (SEDOL)
3 = Japanese Domestic Code (QUIK)
4 = ISIN
8 = Exchange Symbol
B = German Domestic Wertpapierkennummer
D = Swiss Domestic Valoren Code
E = French Domestic Sicovam Code
G = Euroclear and Clearstream Code (CEDEL)
101 = TRAX ICMA Number
102 = Unilateral Code (Used to identify the collateral basket in a triparty agreement)
<UndSecAltIDGrp> N TRAX will provide additional security identifiers where available in the TRAX securities database. Not supported for inbound messages. Will be ignored if sent.
307 UnderlyingSecurityDesc N Human-readable description of the security being financed. Not supported for inbound messages. TRAX will send back the security description held within its instrument reference data on outbound messages.
879 UnderlyingQty Y Quantity of securities being financed. Unit amount of the underlying security (par, shares, currency, etc.)
810 UnderlyingPx Y In a financing deal clean price (percent-of-par or per unit) of the underlying security or basket.
883 UnderlyingEndPrice N Forward price. In a financing deal price (percent-of-par or per unit) of the underlying security or basket at the end of the agreement.
TRAX FIX Gateway
125
k. <UndSecAltIDGrp>
The <UndSecAltIDGrp> is used on outbound messages to communicate multiple security identifiers for financing trade securities, where the underlying security is a specific bond or equity.
It is not supported for cash trades, or for triparty financing trades with basket collateral.
The component block follows the same rules as <SecAltIDGrp> above. It is not supported for inbound messages.
Tag Field Name Req? Comment
457 NoUnderlyingSecurityAltID Y Number of UnderlyingSecurityAltID (458) entries
→ 458 UnderlyingSecurityAltID Y Alternate security identifier value for this security of UnderlyingSecurityAltIDSource (459) type (e.g. CUSIP, SEDOL, ISIN, etc.) Requires SecurityAltIDSource.
→ 459 UnderlyingSecurityAltIDSource Y Identifies class or source of the UnderlyingSecurityAltID (458) value. Required if UnderlyingSecurityAltID is specified. Values:
4 = ISIN
101 = TRAX ICMA Number
TRAX FIX Gateway
126
l. <SpreadOrBenchmarkCurveData>
Tag Field Name Req? Comment
221 BenchmarkCurveName N Used in variable rate financing transactions to identify the repo rate index. Values:
LIBOR = London Interbank Offered Rate
EONIA = Euro Overnight Index Average
EUREPO = Euro GC Repo Market
SONIA = Sterling Overnight Interbank Average Rate (London Money Market)
FEDEFF = US Federal Fund Rate
BBSW = Bank Bill Swap Rate
AONIA = RBA Interbank Overnight Cash Rate
CDOR = Canadian Dollar Offered Rate
CORRA = Canadian Overnight Repo Rate Average
SARON = Swiss Average Overnight Rate
ESTR = Euro Short Term Rate
HONIA = Hong Kong Overnight Index Average
TONA = Tokyo Overnight Average Rate
JTIBOR = Japan Yen Tokyo Overnight Index Average
EYTIBOR = Euro Yen Tokyo Overnight Index Average
SIBOR = Singapore Interbank Offered Rate
SOFR = Secured Overnight Financing Rate
BGCR = Broad General Collateral Rate
TGCR = Tri-Party General Collateral Rate
OBFR = Overnight Bank Funding Rate
TRLIBON = Turkey Short Term Interest Rate
SAONBOR = South Africa Benchmark Overnight Rate
EURIBOR = Euro Inter Bank Offered Rate
HIBOR = Hong Kong Interbank Offered Rate
USDLIBOR = US Dollar LIBOR
TRAX FIX Gateway
127
m. <TrdCapRptSideGrp>
The <TrdCapRptSideGrp> is used in the TradeCaptureReport (AE) message to report trade details on each side of a matched trade.
• For an unmatched trade, only one side will be present, i.e. the original submitting party’s side. All inbound TradeCaptureReport (AE) messages should only contain one side.
• For a matched trade, TRAX will send both sides. Side 1 will always be the original submitting party’s side, while Side 2 will contain data from the counterparty’s matching trade.
Tag Field Name Req? Comment
552 NoSides Y Number of Side repeating group instances. TRAX assumes that Side 1 is always the participant’s side, while Side 2 is always the counterparty’s side of the transaction. Values:
1 = One Side
2 = Both Sides
→ 54 Side Y Required when NoSides (552) > 0. Values:
1 = Buy
2 = Sell
→ 1506 SideTradeID N Used by TRAX on outbound messages to carry the TRAX trade IDs of each side of a matched trade. Not supported for inbound messages.
→ 1008 SideTrdSubType N Indicates the type of settlement transaction. Absence of the field indicates normal settlement of a trade between unrelated parties.Values:
1 = Internal transfer or adjustment (OWNI)
2 = External transfer or adjustment (OWNE)
→ 1154 SideCurrency N Currency of the trade price.
→ 1155 SideSettlCurrency N Settlement currency as reported by the executing party for this side of the trade
→ <Parties> N On outbound messages, TRAX will provide the TRAX Code and BIC of the executing party (participant or counterparty) to whom this side belongs. Not supported for inbound messages, will be ignored if sent.
TRAX FIX Gateway
128
Tag Field Name Req? Comment
→ 1 Account N Used for MiFID I reporting of complex aggregate and average price trades. Principal’s trade sub account. Required if the trade regulatory condition is complex trade, i.e. StipulationValue (234) = TM, TG, or TV.
→ <CommissionData> N Used to report optional settlement breakdown amount - executing broker’s commission (EXEC).
→ 157 NumDaysInterest N Number of days of accrued interest.
→ 159 AccruedInterestAmt N Optional settlement breakdown amount – accrued interest (ACRU)
→ 921 StartCash N Starting dirty cash consideration of a financing deal, i.e. paid to the seller on start date. Supported for financing trades only.
→ 922 EndCash N Cash amount to be settled in the second part of the repurchase agreement. Required for Buy Sellbacks and Term repos. Optional for open repos. Supported for financing trades only.
→ 118 NetMoney N Total amount due as a result of the transaction. Supported for cash trades only.
→ 119 SettlCurrAmt N Optional settlement breakdown amount – RESU. Total amount due expressed in settlement currency, i.e. SideSettlCurrency (1155). Includes the effect of a forex transaction.
→ 58 Text N Participant or counterparty free text narrative. The narrative will be disclosed to the counterparty.
→ <Stipulations> N Used to report the following:
Primary market operations trade
Triparty financing trade
TRAX Trade Transaction Conditions
→ <MiscFeesGrp> N Used to report optional settlement breakdown amounts.
→ <TrdAllocGrp> N Used to identify the fund to which a financing trade will be allocated if one of the parties is a buy side firm.
→ <SettlDetails> N Used to carry the settlement instructions (SSIs) of both parties to the trade.
→ 1072 SideGrossTradeAmt N Settlement breakdown amount – DEAL (Deal amount).
TRAX FIX Gateway
129
Tag Field Name Req? Comment
→ <TradeReportOrderDetail> N Used in financing trades to carry the repo rate in Price (44).
→ 40004 TRAXDayCount N Computation method used to calculate the accrued interest of the related financial instrument, as input by the subscriber (side 1) and counterparty (side 2). Values:
A001 = 30U/360 - U.S. 30/360
A004 = Act/360 - Actual/360
A005 = Act/365 - Actual/365
A006 = Act/Act - ICMA & US Treasury (Actual/Actual)
A007 = 30E/360 - European 30/360
A008 = Act/Act(ISDA) - ISDA (Actual/Actual)
A009 = Act/Year - Actual/days in year of payment date
→ 40006 TRAXEndCashCurrency N Currency of the closing leg of a financing trade, i.e. currency of EndCash (922).
→ 40007 TRAXRepoCallNotice N Repurchase call notice for callable repos; if called early the end or close date should be changed to the call date.
→ 40219 TraxFundLEI N The LEI of the fund to which a financing trade will be allocated if one of the parties is a buy side firm. Will be populated in:
• Side 2 for matched trades
• Side 1 for advisory trades.
→ <TRAXLifecycleEventGrp> N On outbound messages, carries lifecycle event details for matched financing trades.
→ <TRAXSide2DisclosedData> N In Side 2 of outbound messages, carries disclosed counterparty data that is normally held at the trade level.
n. <TrdCapRptAckSideGrp>
The <TrdCapRptAckSideGrp> is defined by FIX for use in TradeCaptureReportAck (AR) messages. It’s use is identical to that of the <TrdCapRptSideGrp> in TradeCaptureReport (AE) messages, and TRAX will populate it using the same rules. The majority of fields supported by TRAX
TRAX FIX Gateway
130
are defined for both the <TrdCapRptSideGrp> and the <TrdCapRptAckSideGrp>. In these cases, TRAX will use the same logic in reporting out or validating the fields in both component blocks.
However, users should be aware of the following differences between the two component blocks:
• The order of the fields is not identical
• The Text (58) field not defined under the <TrdCapRptAckSideGrp>. As a result, TRAX will report the counterparty narrative in a custom
TRAXCounterpartyNarrative (40010) field in TradeCaptureReportAck (AR) messages, but in Text (58) under Side 2 in TradeCaptureReport
(AE) messages
Tag Field Name Req? Comment
552 NoSides Y See above under <TrdCapRptSideGrp>
→ 54 Side Y See above under <TrdCapRptSideGrp>
→ 1506 SideTradeID N See above under <TrdCapRptSideGrp>
→ <Parties> N See above under <TrdCapRptSideGrp>
→ 1 Account N See above under <TrdCapRptSideGrp>
→ 1154 SideCurrency N See above under <TrdCapRptSideGrp>
→ 1155 SideSettlCurrency N See above under <TrdCapRptSideGrp>
→ <CommissionData> N See above under <TrdCapRptSideGrp>
→ 157 NumDaysInterest N See above under <TrdCapRptSideGrp>
→ 159 AccruedInterestAmt N See above under <TrdCapRptSideGrp>
→ 921 StartCash N See above under <TrdCapRptSideGrp>
→ 922 EndCash N See above under <TrdCapRptSideGrp>
→ 118 NetMoney N See above under <TrdCapRptSideGrp>
→ 119 SettlCurrAmt N See above under <TrdCapRptSideGrp>
→ <Stipulations> N See above under <TrdCapRptSideGrp>
→ <MiscFeesGrp> N See above under <TrdCapRptSideGrp>
→ <SettlDetails> N See above under <TrdCapRptSideGrp>
TRAX FIX Gateway
131
Tag Field Name Req? Comment
→ <TrdAllocGrp> N See above under <TrdCapRptSideGrp>
→ 1072 SideGrossTradeAmt N See above under <TrdCapRptSideGrp>
→ 1008 SideTrdSubType N See above under <TrdCapRptSideGrp>
→ <TradeReportOrderDetail> N See above under <TrdCapRptSideGrp>
→ 40004 TRAXDayCount (40004) N See above under <TrdCapRptSideGrp>
→ 40006 TRAXEndCashCurrency N See above under <TrdCapRptSideGrp>
→ 40007 TRAXRepoCallNotice N See above under <TrdCapRptSideGrp>
→ 40219 TraxFundLEI N See above under <TrdCapRptSideGrp>
→ <TRAXLifecycleEventGrp> N See above under <TrdCapRptSideGrp>
→ <TRAXSide2DisclosedData> N See above under <TrdCapRptSideGrp>
o. <Parties>
The <Parties> component block is used in two situations:
• On outbound TradeCaptureReport (AE) and TradeCaptureReportAck (AR) messages sent by TRAX, to indicate the executing firm for each
side of the trade
• On inbound TradeCaptureReportRequest (AD) messages, to query trades by counterparty
Participants should not use the <Parties> block to send the subscriber or counterparty identifiers to TRAX when submitting or amending a trade.
Tag Field Name Req? Comment
453 NoPartyIDs Y Number of PartyID (448), PartyIDSource (447) and PartyRole (452) groups specified below.
→ 448 PartyID Y Party identifier/code. See PartyIDSource (447) and PartyRole (452).
TRAX FIX Gateway
132
Tag Field Name Req? Comment
→ 447 PartyIDSource Y The type of identifier in PartyID (448). Required if PartyID is specified. Values:
B = Bank Identifier Code (BIC)
N = Legal Entity Identifier (LEI)
T = TRAX Code
→ 452 PartyRole Y Role of the party identified in PartyID (448). Values:
1 = Executing Firm (Outbound messages only)
13 = Order Originating Firm (buy-side firm) (Outbound messages only)
17 = Contra Firm - Counterparty (Trade queries only)
p. <CommissionData>
Tag Field Name Req? Comment
12 Commission Y Commission in SideSettlCurrency (1155) units.
13 CommissionType Y Commission type. Value:
3 = Absolute (total monetary amount)
q. <Stipulations>
Tag Field Name Req? Comment
232 NoStipulations Y Number of stipulation entries.
→ 233 StipulationType Y Required if NoStipulations > 0. Type of stipulation. Values:
PRIMARY = Primary Market Operations (PM)
HAIRCUT = Valuation discount (StipulationValue (234) contains the initial haircut rate)
TRIPARTY = Tri-party financing transaction (StipulationValue (234) is not required)
TRAX FIX Gateway
133
Tag Field Name Req? Comment
TRAXTRDCON = TRAX Trade Transaction Condition
TRAXREGCON = TRAX Regulatory Condition (Used for MiFID I reporting)
→ 234 StipulationValue N Value of the Stipulation. Range of supported values depends on StipulationType (233). Values (per type):
PRIMARY: Value not required.
HAIRCUT: “Initial Margin” or haircut applicable, expressed as a rate or an amount
TRIPARTY: Value not required.
TRAXTRDCON:
BI = Buy In
CP = Commercial Paper
EC = Callable
FP = Flat Price
RN = Redemption
RO = Result of Option
SO = Sell Out
XA = Ex All
XX = Special Conditions
OF = Off Database
LC = Operation is netted by the London Clearing House
(Used for MiFID I reporting to the FSMA)
XM – Externally Matched
TRAXREGCON:
OE = transaction is concluded outside the regulated market
(Used for MiFID I reporting to the FSMA)
AG = Market-side trade in an agency transaction
CL = Client-side trade in an agency transaction
AX = Agency cross trades
PX = Principal cross trade
TRAX FIX Gateway
134
Tag Field Name Req? Comment
(AG, CL, AX and PX are used to support MiFID I reporting of agency trades to regulators)
TM = Market-side complex trade
TG = Client-side aggregate trade
TV = Client-side average price trade
(TM, TG and TV are used to support MiFID I reporting of complex trades to regulators)
r. <MiscFeesGrp>
Tag Field Name Req? Comment
136 NoMiscFees Y Required is any miscellaneous fees are reported. Indicates number of repeating entries.
→ 137 MiscFeeAmt Y Miscellaneous fee value in SideSettlCurrency (1155) units. Required if NoMiscFees > 0.
→ 139 MiscFeeType Y Indicates the type of miscellaneous fee. Values:
2 = Tax (Country, national federal tax)
3 = Local Commission
5 = Stamp duty
6 = Levy (Payment levy tax)
7 = Other
100 = Service charge/fee
101 = Transaction tax
102 = Value added tax (VAT)
103 = Tax withholding amount
104 = Issue discount/allowance (Discount on a new issue or new tranche of an existing issue)
105 = Margin amount
TRAX FIX Gateway
135
s. <TrdAllocGrp>
The <TrdAllocGrp> is used for financing trades only, when one of the parties to the trade is a buy side firm. In this case, the Fund (end investor) to whom the trade is allocated must be identified. AllocAcctIDSource will not be present when reported in Side 2 for matched trade or in Side 1 for advisory trades; i.e. Fund ID will always be reported in these scenarios.
Tag Field Name Req? Comment
78 NoAllocs Y Number of allocation entries. Required by FIX. TRAX Match supports only one allocation, i.e. the Fund ID for a buy-side to sell-side financing transaction. Therefore NoAllocs will always equal 1.
→ 79 AllocAccount Y Contains the identifier of the fund to which a buy-side financing transaction is allocated. Required if NoAllocs >0.
→ 661 AllocAcctIDSource N Defines the type of identifier used to identify the fund:
98 = Legal Entity Identifier (LEI)
99 = Other (i.e. Fund ID)
Where AllocAcctIDSource is not provided, AllocAcount shall contain the Fund ID
t. <SettlDetails>
Tag Field Name Req? Comment
1158 NoSettlDetails Y Number of <SettlParties> component blocks below. If only this side’s executing party’s settlement instructions are included, will equal 1. If this side’s executing party’s view of their counterparty’s instructions is included, will equal 2.
→ 1164 SettlObligSource Y Indicates the source of the settlement instructions. Values:
4 = Buyer’s settlement instructions
5 = Seller’s settlement instructions
→ 40009 TRAXCollateralSet C Identifier of the collateral set (e.g. Tier 1 ECB eligible) within a specific securities account at the Tri-Party Agent. Associated with the party delivering collateral, i.e. where SettlObligSource = Seller’s settlement instruction (1164=5). Required in triparty financing trades with basket collateral.
TRAX FIX Gateway
136
Tag Field Name Req? Comment
→ <SettlParties> Y Carries the settlement account information (SSIs) for the party indicated in SettlObligSource (1164).
u. <SettlParties>
Tag Field Name Req? Comment
781 NoSettlPartyIDs Y Number of settlement party IDs contained below. Repeating group should contain unique combinations of SettlPartyID, SettlPartyIDSource and SettlPartyRole.
→ 782 SettlPartyID Y Identifier (BIC) of the settlement party.
→ 783 SettlPartyIDSource Y PartyIDSource of the settlement party. Value:
B = Bank Identifier Code (BIC)
→ 784 SettlPartyRole Y Role of the settlement party. Values:
10 = Settlement Location (Place of Settlement)
28 = Custodian
29 = Intermediary
30 = Agent (Receiving or Delivering Agent)
→ <SettlPtysSubGrp> C Repeating group of SettlParty sub-identifiers. Used by TRAX Match to carry securities safekeeping account numbers at the settlement location, custodian and intermediary. Required for the settlement location, custodian and intermediary. Not supported for the settlement agent.
TRAX FIX Gateway
137
v. <SettlPtysSubGrp>
Tag Field Name Req? Comment
801 NoSettlPartySubIDs Y Number of SettlPartySubID entries belonging to this SettlPartyID. TRAX Match only supports one safekeeping account number per settlement location or custodian; therefore NoSettlPartySubIDs will always equal 1.
→ 785 SettlPartySubID Y PartySubID value within a settlement party component. Carries safekeeping account number at the settlement party.
→ 786 SettlPartySubIDType Y Type of SettlPartySubID (785). Value:
10 = Securities account number (for settlement instructions)
w. <TradeReportOrderDetail>
The <TradeReportOrderDetail> contains the Price (44) field, which is required for financing trades. It is not supported for cash trades.
Tag Field Name Req? Comment
44 Price Y The repo rate in yield or spread, as determined by PriceType (423).
<TrdCapDtGrp>
The <TrdCapDtGrp> is used to specify a date/time range within a trade query. It should not be send if the trade query contains a trade identifier, i.e. TradeID (1003), FirmTradeID (1041), TradeLinkID (820) or TrdMatchID (880). If it is combined with any of these fields, the trade identifier will be processed and the date/time range will be ignored. A date/time range is required for all trade queries that do not contain a trade identifier.
TRAX FIX Gateway
138
Tag Field Name Req? Comment
580 NoDates Y Number of dates included. Must be 1 or 2. If 1, it is treated as the start date, and the query is start date to present date. If 2, date 1 is the start and date 2 is the end date. Only one type of start/end date can be used in a given query. Start and end of the date/time range must be the same type of date/time, and must both be in the past. Start date must be less than end date.
→ 75 TradeDate Y If querying by another date/time range, TradeDate (75) should be set to 19000101. This value will then be ignored by TYRAX. Required if NoDates > 0. Local market trade date in YYYYMMDD format.
→ 779 LastUpdateTime N UTC timestamp of the last update to the trades.
→ 60 TransactTime N Execution date and time of the trades.
<TRAXControlNumbers>
The custom component block <TRAXControlNumbers> carries private control number references that can be used by a participant to carry up to 5 private references to the trade. Control numbers will be sent back to the participant on all messages related to the trade, but will not be sent to any other party (e.g. counterparty, regulator etc.).
Tag Field Name Req? Comment
40001 NoTRAXControlNumbers Y Number of TRAX control number references in the repeating group below. A trade can have up to 5 control numbers.
TRAX FIX Gateway
139
Tag Field Name Req? Comment
→ 40002 TRAXControlNumberType Y Type of TRAX control number reference. Only one instance of each type can exist per trade. Values:
PRIV
MEMO
OTH1
OTH2
OTH3
OTH4
OTH5
→ 40003 TRAXControlNumber Y TRAX private control number reference associated with a trade. Maximum 16 characters.
<TRAXLifecycleEventGrp>
The custom component block <TRAXLifecycleEventGrp> carries lifecycle event details for matched financing trades. Each trade can have ‘n’ events, and the participant subscriber and their counterparty can each input events independently, which are then matched. As a result, the <TRAXLifecycleEventGrp> is defined under the side of the trade, i.e.
• Under < TrdCapRptSideGrp> in TradeCaptureReport (AE) messages, where Side 1 contains events submitted by the participant subscriber,
and Side 2 carries events submitted by the counterparty
• Under < TrdCapRptAckSideGrp> in TradeCaptureReportAck (AR) messages, where Side 1 contains events submitted by the participant
subscriber, and Side 2 carries events submitted by the counterparty
Tag Field Name Req? Comment
40100 NoTRAXEvents Y Number of TRAX lifecycle events in the repeating group below.
TRAX FIX Gateway
140
Tag Field Name Req? Comment
→ 40101 TRAXEventType Y Type of lifecycle event. Values:
101 = Re-rate, i.e. rate or spread Change
102 = Re-price, i.e. price change
103 = End date change
104 = Close out
105 = Substitution
106 = Roll-over
→ 40102 TRAXEventStatus N Matching status of the lifecycle event within TRAX Match. Not supported for inbound messages, will be ignored if sent. TRAX will send the current status of each event on all outbound messages. Values:
UNM = Unmatched
MAT = Matched
MKC = Marked for Cancellation
CAN = Cancelled
DEN = Denied
ADV = Advisory
DKA = Not known advisory
→ 40103 TRAXEventID N Unique identifier assigned to this event by TRAX.
→ 40104 TRAXEventVersionID N Version of the event assigned by TRAX.
→ 40105 TRAXEventFirmID N Subscriber’s identifier for this event. If provided, it will be returned on all outbound messages containing this event.
→ 40106 TRAXEventText N Party narrative associated with this event and version.
→ 40107 TRAXEventLastUpdateTime N Last update time if the event in UTC time.
→ 40108 TRAXEventEffectiveDate N Effective date of the event in YYYYMMDD format.
→ 40109 TRAXEventRate N Fixed repo rate (yield) of a re-rate (RATE) event. Supported for open term fixed rate financing trades.
TRAX FIX Gateway
141
Tag Field Name Req? Comment
→ 40110 TRAXEventSpread N Variable repo rate (spread) of a re-rate (RATE) event. Supported for open term variable rate financing trades. If sent, TRAXEventIndexName (40111) must also be provided.
→ 40111 TRAXEventIndexName C Reference index over which a variable repo rate is defined. Required if TRAXEventSpread (40110) is specified.
→ 40112 TRAXEventPrice N Price of the underlying security/basket (in percent of par) of a re-price (RPRI) event.
→ 40113 TRAXEventEndDate N End date specified by the event. Can be optionally sent as part of a close out (CLOS). Required for an end date change event (ENDD).
→ 40114 TRAXEventEndCash N Closing amount due at the end of the financing trade. Required for a close out (CLOS) and end date change (ENDD). If sent, TRAXEventCurrency (40115) is required.
→ 40115 TRAXEventCurrency C Currency in which the closing amount or accrued interest amount are expressed. Required if either TRAXEventEndCash (40114) or TRAXEventAccruedInterestAmt (40118) is specified.
→ 40116 TRAXEventSecurityID N Instrument identifier of the substitution instrument in a substitution event. If sent, TRAXEventSecurityIDSource (40117) is required.
→ 40117 TRAXEventSecurityIDSource C Identifier source for the TRAXEventSecurityID (40116). Same values as UnderlyingSecurityIDSource (305)
→ 40118 TRAXEventAccruedInterestAmt N Accrued interest owed in a roll-over event (ROLL). If sent, TRAXEventCurrency (40115) is required.
→ 40119 TRAXPreviousEventID N For matched events, contains the common identifier assigned by TRAX to both parties’ events. Can be used to link to the matching event on the counterparty’s side of the trade.
→ 40120 TRAXCurrentLCE N Field will be present (set to Y) for the lifecycle event to which the message relates. The field will be omitted if the message relates to a trade level action or query.
TRAX FIX Gateway
142
<TRAXSide2DisclosedData>
The <TRAXSide2DisclosedData> component block is used in outbound messages to carry disclosed counterparty data that is normally held at the trade level. <TRAXSide2DisclosedData> will only be sent under Side 2 of the <TrdCapRptSideGrp> or <TrdCapRptAckSideGrp>, in the following messages:
• TradeCaptureReport (AE) messages:
o Matched trade confirmations from TRAX
o Matched lifecycle event confirmations from TRAX
o Query response messages from TRAX
• TradeCaptureReportAck messages:
o When TRAX accepts a TradeCaptureReport (AE) and the trade in the report is matched to a counterparty trade
Note that the group is not necessary in Advisory messages, as these depict the trade from the original submitting party’s side, thus the data will exist in its original fields.
Tag Field Name Req? Comment
40201 TRAXSide2TradeDate N TradeDate (75) as submitted by the counterparty.
40202 TRAXSide2TradeTime N TransactTime (60) as submitted by the counterparty.
40203 TRAXSide2SettlementCode N SettlType (63) as submitted by the counterparty.
40204 TRAXSide2SettlementDate N SettlDate (64) as submitted by the counterparty.
40205 TRAXSide2Quantity N LastQty (32) or UnderlyingQty (879) as submitted by the counterparty.
40206 TRAXSide2PriceType N PriceType (423) as submitted by the counterparty.
40207 TRAXSide2UnderlyingPx N UnderlyingPx (810) as submitted by the counterparty.
40208 TRAXSide2Price N LastPx (31) as submitted by the counterparty.
40209 TRAXSide2ReferenceRate N BenchmarkCurveName (221) as submitted by the counterparty.
40210 TRAXSide2TermType N TerminationType (788) as submitted by the counterparty.
40211 TRAXSide2AgreementType N AgreementDesc (913) as submitted by the counterparty.
40212 TRAXSide2StartDate N StartDate (916) as submitted by the counterparty.
TRAX FIX Gateway
143
Tag Field Name Req? Comment
40213 TRAXSide2EndDate N EndDate (917) as submitted by the counterparty.
40214 TRAXSide2ForwardPrice N UnderlyingEndPrice (883) as submitted by the counterparty.
40215 NoTRAXSide2TradePriceConditions N NoTradePriceConditions (1838) as submitted by the counterparty.
→ 40216 TRAXSide2TradePriceCondition N TradePriceCondition (1839) as submitted by the counterparty.
40217 TRAXSide2DeliveryType N DeliveryType (919) as submitted by the counterparty
TRAX FIX Gateway
144
vii) TRAX Customizations This section contains the customizations of the standard FIX protocol (as of version 5.0 SP2 EP194) adopted by TRAX to support its business logic.
a. Extensions to Existing Fields
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
22 SecurityIDSource CHANGE String Identifies class or source of the SecurityID (48) value.
101 = TRAX ICMA Number (Security code within the TRAX securities database)
102 = Unilateral Code (Used to carry an identifier unique/internal to one party, e.g. when identifying the collateral set to be delivered or received in a tri-party repo)
@Src
139 MiscFeeType CHANGE String Indicates type of miscellaneous fee.
100 = Service charge/fee
101 = Transaction tax
102 = Value added tax (VAT)
103 = Tax withholding amount
104 = Issue discount/allowance (Discount on a new issue or new tranche of an existing issue)
105 = Margin amount
@Typ
167 SecurityType CHANGE String Indicates type of security. Security type enumerations are grouped by Product (460) field value. NOTE: Additional values may be used by mutual agreement of the counterparties.
EQUT = Generic equity security (Used to describe an equity security when the equity type is unknown or not “Common Stock” or “Preferred Stock”, e.g. ADRs and global depository receipts)
@SecTyp
TRAX FIX Gateway
145
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
BOND = Generic bond (Used to describe a fixed income security where the bond type is unknown or other than the existing FIX types, e.g. a local market or emerging market bond)
233 StipulationType CHANGE String For Fixed Income. Type of Stipulation. Other types may be used by mutual agreement of the counterparties.
TRIPARTY = Tri-Party financing transaction. (Only valid when SecurityType (167) = REPO or SECLOAN and SecuritySubType (762) = BASK. Used to indicate that the financing transaction is tri-party. StipulationValue is not required)
TRAXTRDCON = TRAX trade transaction conditions (Conditions under which the trade was executed. Used by TRAX Match system to control special case matching rules)
TRAXREGCON = TRAX regulatory conditions (Conditions required by regulators when reporting under MiFID I reporting rules)
@Typ
234 StipulationValue CHANGE String For Fixed Income. Value of stipulation. Values for StipulationType = TRAXTRDCON
BI = Buy In
CP = Commercial Paper
EC = Callable
FP = Flat Price
RN = Redemption
RO = Result of Option
SO = Sell Out
XA = Ex All
@Val
TRAX FIX Gateway
146
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
XX = Special Conditions
OF = Off Database
Values for StipulationType = TRAXREGCON
OE = Off exchange regulated market (Equivalent to FSMA condition “OE”, used when reporting transactions concluded outside the regulated market)
AG = Market-side trade in an agency transaction
CL = Client-side trade in an agency transaction
AX = Agency cross trades
PX = Principal cross trade (AG, CL, AX and PX are used to support MiFID I reporting of agency trades to regulators)
TM = Market-side complex trade
TG = Client-side aggregate trade
TV = Client-side average price trade (TM, TG and TV are used to support MiFID I reporting of complex trades to regulators)
305 UnderlyingSecurityIDSource
CHANGE String Identifies class or source of the UnderlyingSecurityID (309) value.
101 = TRAX ICMA Number
(Security code within the TRAX securities database)
102 = Unilateral Code
(Used to carry an identifier unique/internal to one party, e.g. when identifying the collateral set to be delivered or received in a tri-party repo)
@Src
TRAX FIX Gateway
147
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
455 SecurityAltID CHANGE String Identifies class or source of the SecurityAltID (456) value.
101 = TRAX ICMA Number (Security code within the TRAX securities database)
102 = Unilateral Code (Used to carry an identifier unique/internal to one party, e.g. when identifying the collateral set to be delivered or received in a tri-party repo)
@AltIDSrc
447 PartyIDSource CHANGE char The type of identifier in PartyID (448). Required if PartyID is specified.
T = TRAX Code
@Src
456 SecurityAltIDSource CHANGE String Identifies class or source of the SecurityAltID (455) value.
101 = TRAX ICMA Number
@AltIDSrc
459 UnderlyingSecurityAltIDSource
Change String Identifies class or source of the UnderlyingSecurityAltID (458) value.
101 = TRAX ICMA Number (Security code within the TRAX securities database)
102 = Unilateral Code (Used to carry an identifier unique/internal to one party, e.g. when identifying the collateral set to be delivered or received in a tri-party repo)
@AltIDSrc
828 TrdType CHANGE Int
Reserved1000Plus
Type of trade. Used by TRAX to indicate the type of execution venue (place of trade) the trade was executed on.
1001 = Exchange-traded (EXCH)
1002 = Multilateral trading facility (MTF)
1003 = Systematic internaliser (SYSI)
@TrdTyp
TRAX FIX Gateway
148
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
1118 RootPartyIDSource CHANGE char PartyIDSource value within a root parties component. Same values as PartyIDSource (447).
T = TRAX Code
@Src
1937 TradeContinuation CHANGE Int
Reserved100Plus
Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties. TRAX values for financing trades:
101 = Re-rate, i.e. rate or spread Change
102 = Re-price, i.e. price change
103 = End date change
104 = Close out
105 = Substitution
106 = Roll-over
@TrdContntn
TRAX FIX Gateway
149
b. Custom Fields
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40001 NoTRAXControlNumbers
NEW NumInGroup Number of TRAX private control number references. A trade can have up to five control numbers.
<TRAXControlNumbers>
40002 TRAXControlNumberType
NEW String Type of TRAX control number. Only one instance of each type can exist per trade. Values: PRIV, MEMO, OTH1, OTH2, OTH3, OTH4, OTH5
<TRAXControlNumbers>
40003 TRAXControlNumber NEW String TRAX participant’s private control number reference on a trade. Maximum 16 characters.
<TRAXControlNumbers>
40004 TRAXDayCount NEW String Day count convention / computation method used to calculate the accrued interest of the related instrument. For matching purposes, TRAX supports TRAXDayCount on both sides of the trade. Values:
A001 = 30U/360 - U.S. 30/360
A004 = Act/360 - Actual/360
A005 = Act/365 - Actual/365
A006 = Act/Act - ICMA & US Treasury (Actual/Actual)
A007 = 30E/360 - European 30/360
A008 = Act/Act(ISDA) - ISDA (Actual/Actual)
A009 = Act/Year - Actual/days in year of payment date
<TrdCapRptSideGrp>
<TrdCapRptAckSideGrp>
TRAX FIX Gateway
150
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40005 TRAXReasonCode NEW String Rason an advisory trade is denied. No codes are defined for disagreement on fields that are disclosure only (e.g. Accrued Interest Amount). Values:
• 0001 = Trade not recognized
• 0002 = Disagreement Direction of Trade
• 0003 = Disagreement Security
• 0004 = Disagreement Deal Price
• 0005 = Disagreement Deal Price Currency
• 0008 = Disagreement Trade Date
• 0011 = Disagreement Settlement Date
• 0013 = Disagreement Trade Conditions
• 0014 = Disagreement Fund Id
• 0015 = Disagreement Quantity
• 0016 = Disagreement SSIs
• 0019 = Disagreement Settlement Amount Currency
• 0020 = Disagreement Settlement Amount
• 0022 = Possible duplicate trade
• 0023 = Disagreement Termination Transaction Amount
• 0024 = Disagreement Termination Type
• 0025 = Disagreement Repo Rate
• 0026 = Disagreement Closing Date Time
• 0027 = Disagreement Variable Rate Support
• 0028 = Disagreement Call Notice
TradeCaptureReport (AE)
TradeCaptureReportAck (AR)
TRAX FIX Gateway
151
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40006 TRAXEndCashCurrency NEW Currency Currency of the closing leg of a financing trade, i.e. currency of EndCash (922)
<TrdCapRptSideGrp>
<TrdCapRptAckSideGrp>
40007 TRAXRepoCallNotice NEW Int Repurchase call notice for callable repos; if called early the end or close date should be changed to the call date.
<TrdCapRptSideGrp>
<TrdCapRptAckSideGrp>
40009 TRAXCollateralSet NEW String Identifier of the collateral set (e.g. Tier 1 ECB eligible) within a specific securities account at the Tri-Party Agent. Input by the Sender on an instruction to identify their own Collateral Set where the Sender is delivering collateral. Input by the Sender on an instruction to identify their counterparty’s Collateral Set where the counterparty is delivering collateral. Current definition is based on the Euroclear Tri-Party service.
<SettlDetails>
40010 TRAXCounterpartyNarrative
NEW String Used in a TradeCaptureReportAck (AR) message responding to a matched trade, to convey the most recent counterparty narrative on the trade. Note that the Text (58) field is defined at the message level in a TradeCaptureReportAck (AR) message. In a TradeCaptureReport (AE) message, the same data will be conveyed in the Text (58) field under side 2 of the <TrdCapRptSideGrp> component block.
TradeCaptureReportAck (AR)
TRAX FIX Gateway
152
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40011 TRAXReferenceIndex NEW String Used in a TradeCaptureReportAck (AR) to convey the reference index of a variable rate financing trade. Note that the <SpreadOrBenchmarkCurveData> component block containing BenchmarkCurveName (221) is not defined for the TradeCaptureReportAck (AR) message. In a TradeCaptureReport (AE) message, this same data will be conveyed in BenchmarkCurveName (221).
TradeCaptureReportAck (AR)
40012 TRAXTradeVersion NEW String Used in a TradeCaptureReportAck (AR) to carry the TRAX assigned version of the trade. Note that the TradeVersion (2302) field is not defined for the TradeCaptureReportAck (AR) message. In a TradeCaptureReport (AE) message, this same data will be conveyed in TradeVersion (2302).
TradeCaptureReportAck (AR)
40100 NoTRAXEvents NEW NumInGroup Number of lifecycle events in the repeating group below.
<TRAXLifecycleEventGrp>
40101 TRAXEventType NEW int
Reserved100Plus
Type of lifecycle event. Values:
101 = Re-rate, i.e. rate or spread Change
102 = Re-price, i.e. price change
103 = End date change
104 = Close out
105 = Substitution
106 = Roll-over
<TRAXLifecycleEventGrp>
TRAX FIX Gateway
153
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40102 TRAXEventStatus NEW String Matching status of the lifecycle event within TRAX Match. Values:
UNM = Unmatched
MAT = Matched
MKC = Marked for Cancellation
CAN = Cancelled
DEN = Denied
ADV = Advisory
DKA = Not known advisory
<TRAXLifecycleEventGrp>
40103 TRAXEventID NEW String Unique identifier assigned to this event <TRAXLifecycleEventGrp>
40104 TRAXEventVersionID NEW int Version of the event <TRAXLifecycleEventGrp>
40105 TRAXEventFirmID NEW String Unique identifier for this event <TRAXLifecycleEventGrp>
40106 TRAXEventText NEW String Text associated with this event <TRAXLifecycleEventGrp>
40107 TRAXEventLastUpdateTime
NEW UTCTimestamp
Last update time if the event in UTC time <TRAXLifecycleEventGrp>
40108 TRAXEventEffectiveDate
NEW LocalMktDate Effective date of the event in YYYYMMDD format <TRAXLifecycleEventGrp>
40109 TRAXEventRate NEW Percentage Fixed repo rate (yield) of a re-rate event. <TRAXLifecycleEventGrp>
40110 TRAXEventSpread NEW PriceOffset Variable repo rate (spread) of a re-rate event. <TRAXLifecycleEventGrp>
40111 TRAXEventIndexName NEW String Reference index over which a variable repo rate is defined.
<TRAXLifecycleEventGrp>
40112 TRAXEventPrice NEW Price Price of the underlying security/basket (in percent of par) of a re-price event.
<TRAXLifecycleEventGrp>
40113 TRAXEventEndDate NEW LocalMktDate End date specified by the event. <TRAXLifecycleEventGrp>
TRAX FIX Gateway
154
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40114 TRAXEventEndCash NEW Amt Closing amount due at the end of the financing trade.
<TRAXLifecycleEventGrp>
40115 TRAXEventCurrency NEW Currency Currency in which the closing amount or accrued interest amount are expressed.
<TRAXLifecycleEventGrp>
40116 TRAXEventSecurityID NEW String Instrument identifier of the substitution instrument in a substitution event.
<TRAXLifecycleEventGrp>
40117 TRAXEventSecurityIDSource
NEW String
Reserved100Plus
Identifier source for the TRAXEventSecurityID (40116). Same values as UnderlyingSecurityIDSource (305)
<TRAXLifecycleEventGrp>
40118 TRAXEventAccruedInterestAmt
NEW Amt Accrued interest owed in a roll-over event <TRAXLifecycleEventGrp>
40119 TRAXEventMatchID NEW String For matched events, contains the common identifier assigned to both parties’ events.
<TRAXLifecycleEventGrp>
40120 TRAXCurrentLCE NEW String Flags the lifecycle event to which a message relates.
<TRAXLifecycleEventGrp>
40201 TRAXSide2TradeDate NEW LocalMktDate TradeDate (75) as submitted by the counterparty. <TRAXSide2DisclosedData>
40202 TRAXSide2TradeTime NEW UTCTimestamp
TransactTime (60) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40203 TRAXSide2SettlementCode
NEW String SettlType (63) as submitted by the counterparty. <TRAXSide2DisclosedData>
40204 TRAXSide2SettlementDate
NEW ocalMktDate SettlDate (64) as submitted by the counterparty. <TRAXSide2DisclosedData>
40205 TRAXSide2Quantity NEW Qty LastQty (32) or UnderlyingQty (879) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40206 TRAXSide2PriceType NEW int PriceType (423) as submitted by the counterparty. <TRAXSide2DisclosedData>
TRAX FIX Gateway
155
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40207 TRAXSide2UnderlyingPx
NEW Price UnderlyingPx (810) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40208 TRAXSide2Price NEW Price LastPx (31) as submitted by the counterparty. <TRAXSide2DisclosedData>
40209 TRAXSide2ReferenceRate
NEW String BenchmarkCurveName (221) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40210 TRAXSide2TermType NEW int TerminationType (788) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40211 TRAXSide2AgreementType
NEW String AgreementDesc (913) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40212 TRAXSide2StartDate NEW LocalMktDate StartDate (916) as submitted by the counterparty. <TRAXSide2DisclosedData>
40213 TRAXSide2EndDate NEW LocalMktDate EndDate (917) as submitted by the counterparty. <TRAXSide2DisclosedData>
40214 TRAXSide2ForwardPrice
NEW Price UnderlyingEndPrice (883) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40215 NoTRAXSide2TradePriceConditions
NEW NumInGroup NoTradePriceConditions (1838) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40216 TRAXSide2TradePriceCondition
NEW int TradePriceCondition (1839) as submitted by the counterparty.
<TRAXSide2DisclosedData>
40217 TRAXSide2DeliveryType
NEW int DeliveryType (919) as submitted by the counterparty
<TRAXSide2DisclosedData>
40218 TraxUTI NEW String Unique Transaction Identifier TradeCaptureReportRequest (AD)
40219 TraxFundLEI NEW String The LEI of the fund to which a financing trade will be allocated if one of the parties is a buy side firm
<TrdCapRptSideGrp>
<TrdCapRptAckSideGrp>
TRAX FIX Gateway
156
Tag Field Name Action Datatype Description FIXML Abbreviation
Add to / Deprecate from Message type or Component block
40220 TRAXMismatchReason New String In the case that trade is in an MSM state, indicates field(s) of mismatch when compared with linked Trade ID given in Tag1506. Format is '<MismatchField1>:<MismatchValue1> ; <MismatchField2>:<MismatchValue2> ; …'
TradeCaptureReport (AE),
TradeCaptureReportAck (AR)
TRAX FIX Gateway
157
viii) Appendix A - Sample Messages Cash Trades This section contains sample messages. Note the following with respect to the samples:
• The ^ character represents the SOH delimiter used in the FIX message
• The data used to generate the samples is test data, and is used for illustrative purposes
only
For all message examples here, the transactions are between ABC Bank and XYZ bank, with the following party information:
Business Element Value
Principal ABC Bank
ABC Bank’s BIC Code ABCBGB2LXXX
ABC Bank’s TRAX Code ABC LON
ABC Bank’s FIX Connection TESTCONNECTION 001
Counterparty XYZ Bank
XYZ Bank’s BIC Code XYZFFR2LXXX
XYZ Bank’s TRAX Code XYZ PAR
a. Cash Bond Trade
Business Element Value
ABC Bank’s Trade Identifier E2E999-1
Trade Date and Time 4 Jan 2016, 08:00 UTC
Settlement Date 5 Jan 2016
Financial Instrument Name RWE FINANCE 6.5 20/04/21
Financial Instrument ISIN Code XS0127992336
Financial Instrument TRAX Code A363618
Deal Price 103.250
Trade Currency GBP
Quantity (Face Value) 15,000,000
Settlement Amount GBP 15,488,928.50
i. New Trade Entry (AE)
ABC Bank submits a new cash bond trade.
8=FIXT.1.1^9=369^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=1598^57=MATCH^52=20160104-16:40:26.000^571=20160104164026E2E999-
1^1041=E2E999-
1^487=0^856=0^423=1^1116=1^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^48=
XS0127992336^22=4^460=12^167=BOND^32=15000000^31=103.250^75=20160104^60
=20160104-
TRAX FIX Gateway
158
08:00:00.000^64=20160105^552=1^54=2^1154=GBP^1155=GBP^118=15488928.50^5
8=THIS IS A TEST^10=143^
ii. Accept New Trade – Unmatched (AR)
TRAX validates and accepts the trade with a status of unmatched (UNM). At this point, TRAX will also send the new trade advisory to the counterparty, i.e. XYZ Bank.
8=FIXT.1.1^9=629^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=1753^50=MATCH^52=20160104-16:40:26.000^571=20160104164026E2E999-
1^1003=201601048600775^1041=E2E999-
1^487=0^856=0^828=54^1123=2^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^423=1^32=15000
000^31=103.250^55=[N/A]^48=XS0127992336^22=4^454=1^455=A363618^456=101^
460=12^167=BOND^107=RWE FINANCE 6.5 20/04/21^75=20160104^60=20160104-
08:00:00.000^573=1^574=UNM^58=THIS IS A TEST^779=20160104-
16:40:32.661^552=1^54=2^1506=201601048600775^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=GBP^1155=GBP^118=15488928.50^64=20160105^40012=01^
10=139^
iii. Matched Trade Confirmation (AE)
XYZ Bank receives the advisory, and submits its matching side of the trade. TRAX sends both parties a matched trade confirmation message with status Matched (MAT), no settlement details.
8=FIXT.1.1^9=941^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=1822^50=MATCH^52=20160104-16:50:25.000^571=0012-8600775-2-
20160104-16:50:25^1003=201601048600775^1041=E2E999-
1^487=2^856=0^828=54^1123=0^1124=2^572=20160104164026E2E999-
1^880=201601048600835^423=1^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^48=XS012799
2336^22=4^454=1^455=A363618^456=101^460=12^167=BOND^107=RWE FINANCE
6.5 20/04/21^32=15000000^31=103.250^75=20160104^60=20160104-
08:00:00.000^64=20160105^573=0^574=MAT^552=2^54=2^1506=201601058600775^
1154=GBP^1155=GBP^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^118=15488928.50^58=THIS IS A
TEST^54=1^1506=201601058600835^1154=GBP^1155=GBP^453=2^448=XYZFFR2LXXX^
447=B^452=1^448=XYZ PAR^447=T^452=1^118=15488928.50^58=I will send
settlement details shortly^40201=20160104^40202=20160104-
08:00:00.000^40204=20160105^40205=15000000^40206=1^40208=103.250^779=20
160104-16:50:24.815^2302=02^10=83^
b. Settlement Instructions
Business Element ABC Bank XYZ Bank
Payment Indicator Delivery vs. payment (APMT) Delivery vs. payment (APMT)
Settlement Location Clearstream LUX (CEDELULLXXX)
DTC New York (DTCYUS33XXX)
TRAX FIX Gateway
159
Business Element ABC Bank XYZ Bank
Settlement Location Account 26440 549426
Settlement Agent None – direct with Clearstream (CEDELULLXXX)
Bank of NY Mellon (IRVTUS3NBDS)
i. Alleged No/Was Advisory (AE)
XYZ Bank amends their side of the trade by adding settlement details. TRAX sends a No/Was advisory message to ABC Bank.
8=FIXT.1.1^9=1000^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=1822^50=MATCH^52=20160104-16:55:00.040^571=0012-8600775-2-
20160105-16:55:00^1003=201601048600775^1041=E2E999-
1^487=0^856=13^828=54^880=201601048600835^423=1^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^48=XS012799
2336^22=4^454=1^455=A363618^456=101^460=12^167=BOND^107=RWE FINANCE
6.5 20/04/21^32=15000000^31=103.250^75=20160104^60=20160104-
08:00:00.000^64=20160105^573=2^574=MCS^552=2^54=2^1506=201601058600775^
1154=GBP^1155=GBP^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^118=15488928.50^58=THIS IS A
TEST^54=1^1506=201601048600835^1154=GBP^1155=GBP^453=2^448=XYZFFR2LXXX^
447=B^452=1^448=XYZ PAR^447=T^452=1^118=15488928.50^58=Settlement
details
included^1158=1^1164=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=549
426^786=10^782=IRVTUS3NBDS^783=B^784=30^40201=20160104^40202=20160104-
08:00:00.000^40204=20160105^40205=15000000^40206=1^40208=103.250^40217=
0^779=20160104-16:55:00.000^2302=03^10=24^
ii. Post-Match No/Was Amendment (AE)
ABC Bank sends a post-match amendment (No/Was) with its settlement instructions
8=FIXT.1.1^9=518^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=1788^57=MATCH^52=20160104-17:00:00.040^571=20160104170000E2E999-
1^1003=201601048600775^1041=E2E999-
1^487=0^856=5^423=1^1116=1^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^48=
XS0127992336^22=4^460=12^167=BOND^919=0^32=15000000^31=103.250^75=20160
104^60=20160104-
08:00:00.000^64=20160105^552=1^54=2^1154=GBP^1155=GBP^118=15488928.50^5
8=My settlement instructions
attached^1158=1^1164=5^781=2^782=CEDELULLXXX^783=B^784=10^801=1^785=264
40^786=10^782=CEDELULLXXX^783=B^784=30^10=250^
iii. Accept No/Was Amendment – Matched Settlement (AR)
TRAX validates and accepts the amendment, and matches the settlement instructions.
8=FIXT.1.1^9=1134^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=1848^50=MATCH^52=20160104-17:00:00.100^571=20160104170000E2E999-
1^1003=201601048600775^1041=E2E999-
1^487=0^856=5^828=54^1123=0^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^880=2016010486
TRAX FIX Gateway
160
00835^423=1^32=15000000^31=103.250^55=[N/A]^48=XS0127992336^22=4^454=1^
455=A363618^456=101^460=12^167=BOND^107=RWE FINANCE 6.5
20/04/21^919=0^75=20160104^60=20160104-08:00:00.000^573=0^574=MMS^58=My
settlement instructions attached^779=20160104-
17:00:00.075^552=2^54=2^1506=201601048600775^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=GBP^1155=GBP^118=15488928.50^1158=1^1164=5^781=2^7
82=CEDELULLXXX^783=B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=
B^784=30^54=1^1506=201601048600835^453=2^448=XYZFFR2LXXX^447=B^452=1^44
8=XYZ
PAR^447=T^452=1^1154=GBP^1155=GBP^118=15488928.50^1158=1^1164=4^781=2^7
82=DTCYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IRVTUS3NBDS^783
=B^784=30^40201=20160104^40202=20160104-
08:00:00.000^40204=20160105^40205=15000000^40206=1^40208=103.250^40217=
0^64=20160105^40010=Settlement details included^40012=04^10=146^
iv. Post-Match No/Was Amendment Confirmation (AE)
TRAX sends both parties a matched trade confirmation message confirming the No/Was amendment.
8=FIXT.1.1^9=1161^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=1849^50=MATCH^52=20160104-17:00:00.110^571=0012-8600775-2-
20160104-17:00:00^1003=201601048600775^1041=E2E999-
1^487=2^856=5^828=54^1123=0^572=20160104170000E2E999-
1^880=201601048600835^423=1^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^48=XS012799
2336^22=4^454=1^455=A363618^456=101^460=12^167=BOND^107=RWE FINANCE
6.5 20/04/21^919=0^32=15000000^31=103.250^75=20160104^60=20160104-
08:00:00.000^64=20160105^573=0^574=MMS^552=2^54=2^1506=201601058600775^
1154=GBP^1155=GBP^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^118=15488928.50^58=My settlement instructions
attached^1158=1^1164=5^781=2^782=CEDELULLXXX^783=B^784=10^801=1^785=264
40^786=10^782=CEDELULLXXX^783=B^784=30^54=1^1506=201601048600835^1154=G
BP^1155=GBP^453=2^448=XYZFFR2LXXX^447=B^452=1^448=XYZ
PAR^447=T^452=1^118=15488928.50^58=Settlement details
included^1158=1^1164=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=549
426^786=10^782=IRVTUS3NBDS^783=B^784=30^40201=20160104^40202=20160104-
08:00:00.000^40204=20160105^40205=15000000^40206=1^40208=103.250^40217=
0^779=20160104-17:00:00.075^2302=04^10=119^
TRAX FIX Gateway
161
c. Cash Equity Trade
Business Element Value
ABC Bank’s Trade Identifier EQTY345-1
Trade Date and Time 4 Jan 2016, 10:40 UTC
Settlement Date 5 Jan 2016
Financial Instrument Name BAJAJ AUTO LTD
Financial Instrument Ticker BJA
Financial Instrument WKN A0F5L1
Financial Instrument ISIN Code US0571002080
Financial Instrument TRAX Code A686814
Deal Price $2,364.10 (per unit)
Trade Currency USD
Quantity (Face Value) 200
Settlement Amount $472,839.95
i. New Trade Entry (AE)
In this example, ABC Bank submits a cash equity trade, but with an incorrect BIC Code for the Counterparty. Note also that in this trade, the deal price is in absolute USD per share terms, not in percent-of-par.
8=FIXT.1.1^9=330^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=144^57=MATCH^52=20160104-10:40:25.000^571=20160104104025EQTY345-
1^1041=EQTY345-
1^487=0^856=0^423=2^1116=1^1117=XYZFFLONXXX^1118=B^1119=17^55=BJA^48=A0
F5L1^22=B^460=5^167=CS^32=200^31=2364.10^75=20160104^60=20160104-
10:40:00^64=20160105^552=1^54=1^1154=USD^1155=USD^118=472839.95^10=182^
ii. Reject Trade Report (AR)
TRAX reject the new trade report because it does not recognize the BIC Code entered by ABC Bank as the counterparty.
8=FIXT.1.1^9=196^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC LON^34=182^50=MATCH^52=20160104-10:40:25.010^571=20160104104025EQTY345-
1^939=1^751=99^1328=[1107]:[Unknown BIC entered as
Counterparty]^55=[N/A]^10=60^
iii. Re-enter New Trade (AE)
ABC Bank re-submits the new trade, with the correct BIC for XYZ Bank. Note that because the initial attempt at trade entry was rejected, no trade was create in TRAX Match, and so ABC Bank must send a new trade rather than a trade amend message.
TRAX FIX Gateway
162
8=FIXT.1.1^9=330^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=145^57=MATCH^52=20160104-10:41:00.000^571=20160104104100EQTY345-
1^1041=EQTY345-
1^487=0^856=0^423=2^1116=1^1117=XYZFFR2LXXX^1118=B^1119=17^55=BJA^48=A0
F5L1^22=B^460=5^167=CS^32=200^31=2364.10^75=20160104^60=20160104-
10:40:00^64=20160105^552=1^54=1^1154=USD^1155=USD^118=472839.95^10=182^
iv. Accept New Trade – Reporting Only (AR)
TRAX validates and accepts the new trade. In this example, the trade is considered not eligible for matching, and is therefore returned with status NMT (if, for instance, XYZ Bank is not configured to match equity trades).
8=FIXT.1.1^9=602^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=184^50=MATCH^52=20160104-10:41:00.050^571=20160104104100EQTY345-
1^1003=201601047290664^1041=EQTY345-
1^487=0^856=0^828=54^1123=3^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^423=2^32=200^3
1=2364.10^55=BJA^48=A0F5L1^22=B^454=2^455=US0571002080^456=4^455=A68681
4^456=101^460=5^167=CS^107=BAJAJ AUTO LTD^75=20160104^60=20160104-
10:40:00^573=1^574=NMT^779=20160104-
10:41:00.025^552=1^54=1^1506=201601047290664^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=USD^1155=USD^118=472839.95^64=20160105^40012=01^10
=166^
TRAX FIX Gateway
163
ix) Appendix B - Sample Messages Financing Transactions For all message examples here, the transactions are between ABC Bank and XYZ bank, with the following party information:
Business Element Value
Principal ABC Bank
ABC Bank’s BIC Code ABCBGB2LXXX
ABC Bank’s TRAX Code ABC LON
ABC Bank’s FIX Connection TESTCONNECTION 001
Counterparty XYZ Bank
XYZ Bank’s BIC Code XYZFFR2LXXX
XYZ Bank’s TRAX Code XYZ PAR
a. Financing Trade
Business Element Value
ABC’s Internal Trade Identifier FIN2990-1
ABC’s 2nd Leg Identifier FIN2990-2
ABC’s private control code FIN2990
Trade Date and Time 4 Jan 2016, 09:00 UTC
Financing Transaction Type Repurchase (REPO)
Termination Type Open
Start Date 6 Jan 2016
Repo Rate Type Fixed (Yield)
Repo Rate -0.1%
Financial Instrument Name SOUTH AFRICA,REPUBLIC OF 5.875 S 30/05/22
Financial Instrument ISIN Code US836205AL88
Financial Instrument TRAX Code A962636
Opening Leg Price 110.8
Trade Currency USD
Opening Leg Quantity (Face Value) 1,900,000
Start Cash (Settlement Amount) USD 2,105,200.00
Settlement Details ABC Bank XYZ Bank
Payment Indicator Delivery vs. payment (APMT) Delivery vs. payment (APMT)
Settlement Location Clearstream LUX (CEDELULLXXX)
DTC New York (DTCYUS33XXX)
Account at Settlement Location 26440 549426
TRAX FIX Gateway
164
Settlement Agent None – direct with Clearstream (CEDELULLXXX)
Bank of NY Mellon (IRVTUS3NBDS)
Method of Interest Computation A004
Days Accrued 44
i. New Trade Entry (AE)
ABC Bank submits a new repo trade, including both trade and settlement information.
8=FIXT.1.1^9=575^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=276^57=MATCH^52=20160104-09:00:11.000^571=20160104090011FIN2990-
1^1041=FIN2990-1^1042=FIN2990-
2^487=0^856=0^828=54^423=9^1116=1^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N
/A]^460=13^167=REPO^762=BOND^788=4^916=20160106^919=0^711=1^311=[N/A]^3
09=US836205AL88^305=4^879=1900000^810=110.8^75=20160104^60=20160104-
09:00:00^552=1^54=2^1154=USD^1155=USD^921=2105200.00^58=Let's try a
repo
test^1158=1^1164=5^781=1^782=CEDELULLXXX^783=B^784=10^801=1^785=26440^7
86=10^782=CEDELULLXXX^783=B^784=30^44=-
0.1^40001=1^40002=PRIV^40003=FIN2990^10=193^
ii. Accept New Trade – Unmatched (AR)
TRAX validates and accepts the trade. Since there is not yet a matching trade from the counterparty, the trade is unmatched (UNM). Note that TRAX now sends the disclosed trade details to XYZ Bank as an advisory.
8=FIXT.1.1^9=845^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=522^50=MATCH^52=20160104-09:00:11.800^571=20160104090011FIN2990-
1^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=0^856=0^828=54^1123=2^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^423=9^55=[N/A]
^460=13^167=REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^919=0^75=20160104^60=20160104-
09:00:00^711=1^311=[N/A]^309=US836205AL88^305=4^457=1^458=A962636^459=1
01^879=1900000^810=110.8^573=1^574=UNM^58=Let's try a repo
test^779=20160104-
09:00:11.620^552=1^54=2^1506=201601047878742^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=USD^1155=USD^921=2105200.00^1158=1^1164=5^781=2^78
2=CEDELULLXXX^783=B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B
^784=30^44=-0.1^40012=01^40001=1^40002=PRIV^40003=FIN2990^10=179^
iii. Matched Trade Confirmation (AE)
XYZ Bank enters their side of the trade, which matches with ABC’s trade and settlement details. Note that StartCash (921) matches despite the difference in values, because it is within the $25 matching tolerance. TRAX sends both sides a matched trade confirmation message.
8=FIXT.1.1^9=1294^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=761^50=MATCH^52=20160104-10:22:44.347^571=0012-7878742-2-
TRAX FIX Gateway
165
20160104-10:22:44^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=2^856=0^828=54^1123=0^1124=2^572=20160104090011FIN2990-
1^880=201601047878999^423=9^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^460=13^167=
REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^919=0^711=1^311=[N/A]^309=US836205AL88^305=
4^457=1^458=A962636^459=101^879=1900000^810=110.8^75=20160104^60=201601
04-
09:00:00^573=0^574=MMS^552=2^54=2^1506=201601047878742^1154=USD^1155=US
D^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^921=2105200.00^58=Let's try a repo
test^1158=1^1164=5^781=2^782=CEDELULLXXX^783=B^784=10^801=1^785=26440^7
86=10^782=CEDELULLXXX^783=B^784=30^44=-
0.1^54=1^1506=201601047878999^1154=USD^1155=USD^453=2^448=XYZFFR2LXXX^4
47=B^452=1^448=XYZ
PAR^447=T^452=1^12=20.00^13=3^921=2105220.00^58=Commission included in
start
cash^1158=1^1164=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=549426^
786=10^782=IRVTUS3NBDS^783=B^784=30^44=-
0.1^40004=A004^40201=20160104^40202=20160104-
09:00:00^40205=1900000^40206=9^40207=-
0.1^40210=4^40212=20160106^40217=0^779=20160104-
10:22:43.844^2302=02^40001=1^40002=PRIV^40003=FIN2990^10=242^
b. Lifecycle Events
In the lifecycle event examples below, ABC Bank and XYZ Bank exchange messages about two events. First, on the 13th Jan 2016, they set the end date for the repo contract to Jan 15th. Then on Jan 15th, they close out the contract. Note that both events are communicated well after the initial matching date (Jan 4th) and settlement date (Jan 5th).
Business Element Value
Event Type End Date
Event End Date Jan 15th 2016
Event End Cash USD 2,105,719.09
Event Type Close
Event End Date Jan 15th 2016
Event End Cash USD 2,105,719.09
i. Lifecycle Event Advisory – End Date (AE)
XYZ Bank submits a new lifecycle event to TRAX. After validating the data, TRAX passes the event on to ABC Bank in a lifecycle event advisory.
8=FIXT.1.1^9=1341^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=26^50=MATCH^52=20160113-07:00:15.122^571=0012-7878742-2-
20160113-07:00:15^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=0^856=12^828=54^880=201601047878999^423=9^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^460=13^167=
REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
TRAX FIX Gateway
166
30/05/22^788=4^916=20160106^919=0^711=1^311=[N/A]^309=US836205AL88^305=
4^457=1^458=A962636^459=101^879=1900000^810=110.8^75=20160104^60=201601
04-
09:00:00^573=2^574=MMS^552=2^54=2^1506=201601047878742^1154=USD^1155=US
D^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^921=2105200.00^1158=1^1164=5^781=2^782=CEDELULLXXX^783=
B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B^784=30^44=-
0.1^54=1^1506=201601047878999^1154=USD^1155=USD^453=2^448=XYZFFR2LXXX^4
47=B^452=1^448=XYZ
PAR^447=T^452=1^12=20.00^13=3^921=2105220.00^1158=1^1164=4^781=2^782=DT
CYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IRVTUS3NBDS^783=B^78
4=30^44=-
0.1^40004=A004^40100=1^40101=103^40102=ADV^40103=0001^40104=01^40106=Cl
osing on Friday^40107=20160113-
07:00:15.000^40113=20160115^40114=2105220.00^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^779=2
0160104-
10:22:43.844^1934=9^1937=103^2302=02^40001=1^40002=PRIV^40003=FIN2990^1
0=195^
ii. Deny Lifecycle Event (AE)
ABC Bank disagrees with the event’s End Cash value in the advisory, and so denies it with a TRAXReasonCode (40005) = 0023 (Disagreement Termination Transaction Amount).
8=FIXT.1.1^9=249^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=122^57=MATCH^52=20160113-07:05:00.000^571=20160113070500FIN2990-
2^1003=201601047878742^487=2^856=3^572=0012-7878742-2-20160113-
07:00:15^55=[N/A]^552=1^54=1^40100=1^40101=103^40103=0001^1934=9^1937=1
03^40005=0023^10=249^
iii. Acknowledge Deny Instruction (AR)
TRAX validates and accepts the Deny instruction. Note that TRAX sends a Lifecycle Event Denied message to XYZ Bank at this time.
8=FIXT.1.1^9=1340^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=59^50=MATCH^52=20160113-07:05:01.000^571=20160113070500FIN2990-
2^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=2^856=3^828=54^1123=0^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^880=2016010478
78999^423=9^55=[N/A]^460=13^167=REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC
OF 5.875 S 30/05/22^788=4^916=20160106^919=0^75=20160104^60=20160104-
09:00:00^711=1^311=[N/A]^309=US836205AL88^305=4^457=1^458=A962636^459=1
01^879=1900000^810=110.8^573=0^574=MMS^779=20160104-
10:22:43.844^552=2^54=2^1506=201601047878742^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=USD^1155=USD^921=2105200.00^1158=1^1164=5^781=2^78
2=CEDELULLXXX^783=B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B
^784=30^44=-
0.1^54=1^1506=201601047878999^453=2^448=XYZFFR2LXXX^447=B^452=1^448=XYZ
PAR^447=T^452=1^1154=USD^1155=USD^12=20.00^13=3^921=2105220.00^1158=1^1
164=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IR
VTUS3NBDS^783=B^784=30^44=-
TRAX FIX Gateway
167
0.1^40004=A004^40100=1^40101=103^40102=DKA^40103=0001^40104=02^40106=Cl
osing on Friday^40107=20160113-
07:00:15.000^40113=20160115^40114=2105220.00^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^40005
=0023^40012=02^40001=1^40002=PRIV^40003=FIN2990^10=196^
iv. Amended Lifecycle Event (AE)
XYZ Bank amends the lifecycle instruction.
8=FIXT.1.1^9=1383^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=114^50=MATCH^52=20160113-07:45:00.342^571=0012-7878742-2-
20160113-07:45:00^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=2^856=12^828=54^572=20160113070500FIN2990-
2^880=201601047878999^423=9^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^460=13^167=
REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^919=0^711=1^311=[N/A]^309=US836205AL88^305=
4^457=1^458=A962636^459=101^879=1900000^810=110.8^75=20160104^60=201601
04-
09:00:00^573=2^574=MMS^552=2^54=2^1506=201601047878742^1154=USD^1155=US
D^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^921=2105200.00^1158=1^1164=5^781=2^782=CEDELULLXXX^783=
B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B^784=30^44=-
0.1^54=1^1506=201601047878999^1154=USD^1155=USD^453=2^448=XYZFFR2LXXX^4
47=B^452=1^448=XYZ
PAR^447=T^452=1^12=20.00^13=3^921=2105220.00^1158=1^1164=4^781=2^782=DT
CYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IRVTUS3NBDS^783=B^78
4=30^44=-
0.1^40004=A004^40100=1^40101=103^40102=ADV^40103=0001^40104=03^40106=Re
placed end cash as discussed^40107=20160113-
07:45:00.000^40113=20160115^40114=2105719.09^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^779=2
0160104-
10:22:43.844^1934=9^1937=103^2302=02^40001=1^40002=PRIV^40003=FIN2990^1
0=153^
v. Submit New Lifecycle Event – End Date (AE)
ABC Bank submits its version of the lifecycle event as a new event.
8=FIXT.1.1^9=299^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=241^57=MATCH^52=20160113-08:00:00.132^571=20160113080000FIN2990-
3^1003=201601047878742^487=0^55=[N/A]^552=1^54=2^40100=1^40101=103^4010
5=FIN2990-LE001^40106=End Cash agreed. Here is my
side^40113=20160115^40114=2105719.09^40115=USD^1934=9^1937=103^10=213^
TRAX FIX Gateway
168
vi. Acknowledge New Lifecycle Event – Matched (AR)
TRAX validates and accepts the lifecycle event from ABC Bank, matched with the event from XYZ Bank. Note that both matched events share the same event ID (40103=0001) and version (40104=04).
8=FIXT.1.1^9=1520^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=157^50=MATCH^52=20160113-08:00:00.512^571=20160113080000FIN2990-
3^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=0^856=4^828=54^1123=0^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^880=2016010478
78999^423=9^55=[N/A]^460=13^167=REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC
OF 5.875 S 30/05/22^788=4^916=20160106^919=0^75=20160104^60=20160104-
09:00:00^711=1^311=[N/A]^309=US836205AL88^305=4^457=1^458=A962636^459=1
01^879=1900000^810=110.8^573=0^574=MMS^779=20160104-
10:22:43.844^552=2^54=2^1506=201601047878742^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=USD^1155=USD^921=2105200.00^1158=1^1164=5^781=2^78
2=CEDELULLXXX^783=B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B
^784=30^44=-
0.1^40100=1^40101=103^40102=MAT^40103=0001^40104=04^40105=FIN2990-
LE001^40106=End Cash agreed. Here is my side^40107=20160113-
08:00:00.311^40113=20160115^40114=2105719.09^40115=USD^54=1^1506=201601
047878999^453=2^448=XYZFFR2LXXX^447=B^452=1^448=XYZ
PAR^447=T^452=1^1154=USD^1155=USD^12=20.00^13=3^921=2105220.00^1158=1^1
164=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IR
VTUS3NBDS^783=B^784=30^44=-
0.1^40004=A004^40100=1^40101=103^40102=MAT^40103=0001^40104=04^40106=Re
placed end cash as discussed^40107=20160113-
08:00:00.312^40113=20160115^40114=2105719.09^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^40012
=02^40001=1^40002=PRIV^40003=FIN2990^10=16^
vii. Matched Lifecycle Event (AE)
TRAX sends an Addendum trade confirmation message to both sides, to confirm the matched lifecycle events.
8=FIXT.1.1^9=1557^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=158^50=MATCH^52=20160113-08:00:00.558^571=0012-7878742-2-
20160113-08:00:00^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=2^856=4^828=54^1123=0^572=20160113080000FIN2990-
3^880=201601047878999^423=9^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^460=13^167=
REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^919=0^711=1^311=[N/A]^309=US836205AL88^305=
4^457=1^458=A962636^459=101^879=1900000^810=110.8^75=20160104^60=201601
04-
09:00:00^573=0^574=MMS^552=2^54=2^1506=201601047878742^1154=USD^1155=US
D^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^921=2105200.00^1158=1^1164=5^781=2^782=CEDELULLXXX^783=
B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B^784=30^44=-
0.1^40100=1^40101=103^40102=MAT^40103=0001^40104=04^40105=FIN2990-
LE001^40106=End Cash agreed. Here is my side^40107=20160113-
08:00:00.311^40113=20160115^40114=2105719.09^40115=USD^54=1^1506=201601
047878999^1154=USD^1155=USD^453=2^448=XYZFFR2LXXX^447=B^452=1^448=XYZ
TRAX FIX Gateway
169
PAR^447=T^452=1^12=20.00^13=3^921=2105220.00^1158=1^1164=4^781=2^782=DT
CYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IRVTUS3NBDS^783=B^78
4=30^44=-
0.1^40004=A004^40100=1^40101=103^40102=MAT^40103=0001^40104=04^40106=Re
placed end cash as discussed^40107=20160113-
08:00:00.312^40113=20160115^40114=2105719.09^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^779=2
0160104-
10:22:43.844^1934=9^2302=02^40001=1^40002=PRIV^40003=FIN2990^10=235^
viii. Submit New Lifecycle Event – Close (AE)
On Jan 15th, ABC Bank sends the new Close event, but with a mistaken event end date.
8=FIXT.1.1^9=230^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=12^57=MATCH^52=20160115-07:30:00.000^571=20160115073000FIN2990-
4^1003=201601047878742^487=0^55=[N/A]^552=1^54=2^40100=1^40101=104^4010
5=FIN2990-LE002^40106=Closing
tomorrow^40113=20160116^40114=2105719.09^40115=USD^1934=9^1937=104^10=2
30^
ix. Acknowledge New Lifecycle Event – Unmatched (AR)
TRAX validates and accepts the event with a status of unmatched (UNM). At this point, TRAX will also send the lifecycle event advisory to the counterparty, i.e. XYZ Bank. Note that, since this is a close out of an open repo, it will affect the core trade details once matched, specifically end date and end cash. Therefore TRAX treats the event as an alleged No/Was (856=13), rather than an alleged addendum.
8=FIXT.1.1^9=1673^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=22^50=MATCH^52=20160115-07:30:00.088^571=20160115073000FIN2990-
4^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=0^856=13^828=54^1123=0^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^880=2016010478
78999^423=9^55=[N/A]^460=13^167=REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC
OF 5.875 S 30/05/22^788=4^916=20160106^919=0^75=20160104^60=20160104-
09:00:00^711=1^311=[N/A]^309=US836205AL88^305=4^457=1^458=A962636^459=1
01^879=1900000^810=110.8^573=0^574=MMS^779=20160104-
10:22:43.844^552=2^54=2^1506=201601047878742^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=USD^1155=USD^921=2105200.00^1158=1^1164=5^781=2^78
2=CEDELULLXXX^783=B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B
^784=30^44=-
0.1^40100=2^40101=103^40102=MAT^40103=0001^40104=04^40105=FIN2990-
LE001^40106=End Cash agreed. Here is my side^40107=20160113-
08:00:00.311^40113=20160115^40114=2105719.09^40115=USD^40101=104^40102=
UNM^40103=0002^40104=01^40105=FIN2990-LE002^40106=Closing
tomorrow^40107=20160115-
07:30:00.044^40113=20160116^40114=2105719.09^40115=USD^54=1^1506=201601
047878999^453=2^448=XYZFFR2LXXX^447=B^452=1^448=XYZ
PAR^447=T^452=1^1154=USD^1155=USD^12=20.00^13=3^921=2105220.00^1158=1^1
164=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IR
VTUS3NBDS^783=B^784=30^44=-
TRAX FIX Gateway
170
0.1^40004=A004^40100=1^40101=103^40102=MAT^40103=0001^40104=04^40106=Re
placed end cash as discussed^40107=20160113-
08:00:00.312^40113=20160115^40114=2105719.09^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^40012
=02^40001=1^40002=PRIV^40003=FIN2990^10=119^
x. Lifecycle Event Advisory – Close (AE)
XYZ Bank submits their view of the close out event to TRAX, with the correct end date of Jan 15th. Since this does not match any events submitted by ABC Bank, TRAX sends it to ABC Bank as an unmatched lifecycle event advisory.
8=FIXT.1.1^9=1337^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=26^50=MATCH^52=20160115-07:35:00.125^571=0012-7878742-2-
20160115-07:35:00^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=0^856=13^828=54^880=201601047878999^423=9^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^460=13^167=
REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^919=0^711=1^311=[N/A]^309=US836205AL88^305=
4^457=1^458=A962636^459=101^879=1900000^810=110.8^75=20160104^60=201601
04-
09:00:00^573=2^574=MMS^552=2^54=2^1506=201601047878742^1154=USD^1155=US
D^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^921=2105200.00^1158=1^1164=5^781=2^782=CEDELULLXXX^783=
B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B^784=30^44=-
0.1^54=1^1506=201601047878999^1154=USD^1155=USD^453=2^448=XYZFFR2LXXX^4
47=B^452=1^448=XYZ
PAR^447=T^452=1^12=20.00^13=3^921=2105220.00^1158=1^1164=4^781=2^782=DT
CYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IRVTUS3NBDS^783=B^78
4=30^44=-
0.1^40100=1^40101=104^40102=ADV^40103=0003^40104=01^40106=Closing
today^40107=20160115-
07:35:00.000^40113=20160115^40114=2105719.09^40115=USD^40004=A004^40201
=20160104^40202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^779=2
0160104-
10:22:43.844^1934=9^1937=104^2302=02^40001=1^40002=PRIV^40003=FIN2990^1
0=199^
xi. Lifecycle Event Denied (AE)
XYZ Bank examines the advisory regarding ABC Bank’s close event, and denies it because of the incorrect end date. TRAX reports the denied event to ABC Bank.
8=FIXT.1.1^9=1375^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=35^50=MATCH^52=20160115-07:45:00.125^571=0012-7878742-2-
20160115-07:45:00^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=2^856=3^828=54^572=20160115073000FIN2990-
4^880=201601047878999^423=9^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^460=13^167=
REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^919=0^711=1^311=[N/A]^309=US836205AL88^305=
4^457=1^458=A962636^459=101^879=1900000^810=110.8^75=20160104^60=201601
TRAX FIX Gateway
171
04-
09:00:00^573=0^574=MMS^552=2^54=2^1506=201601047878742^1154=USD^1155=US
D^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^921=2105200.00^1158=1^1164=5^781=2^782=CEDELULLXXX^783=
B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B^784=30^44=-
0.1^40100=1^40101=104^40102=DEN^40103=0002^40104=02^40105=FIN2990-
LE002^40107=20160115-
07:45:00.000^40113=20160116^40114=2105719.09^40115=USD^54=1^1506=201601
047878999^1154=USD^1155=USD^453=2^448=XYZFFR2LXXX^447=B^452=1^448=XYZ
PAR^447=T^452=1^12=20.00^13=3^921=2105220.00^1158=1^1164=4^781=2^782=DT
CYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IRVTUS3NBDS^783=B^78
4=30^44=-0.1^40004=A004^40201=20160104^40202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^779=2
0160104-
10:22:43.844^1934=9^1937=104^2302=02^40001=1^40002=PRIV^40003=FIN2990^4
0005=0026^10=161^
xii. Amend Lifecycle Event (AE)
ABC Bank corrects the error on their original lifecycle event by sending a lifecycle event amendment.
8=FIXT.1.1^9=340^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=25^57=MATCH^52=20160115-07:50:00.000^571=20160115075000FIN2990-
4^1003=201601047878742^487=2^572=0012-7878742-2-20160115-
07:45:00^55=[N/A]^552=1^54=2^40100=1^40101=104^40103=0002^40105=FIN2990
-LE002^40106=Correction - closing
today^40113=20160115^40114=2105719.09^40115=USD^1934=9^1937=104^10=172^
xiii. Acknowledge Amended Lifecycle Event – Matched (AR)
TRAX validates and accepts the amendment, and matches the new terms to XYZ Bank’s event.
8=FIXT.1.1^9=1918^35=AR^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=55^50=MATCH^52=20160115-07:50:00.125^571=20160115075000FIN2990-
4^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=2^856=5^828=54^1123=0^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^939=0^572=0012-
7878742-2-20160115-
07:45:00^880=201601047878999^423=9^55=[N/A]^460=13^167=REPO^762=BOND^10
7=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^917=20160115^919=0^75=20160104^60=20160104-
09:00:00^711=1^311=[N/A]^309=US836205AL88^305=4^457=1^458=A962636^459=1
01^879=1900000^810=110.8^573=0^574=MMS^779=20160115-
07:50:00.050^552=2^54=2^1506=201601047878742^453=2^448=ABCBGB2LXXX^447=
B^452=1^448=ABC
LON^447=T^452=1^1154=USD^1155=USD^921=2105200.00^922=2105719.09^1158=1^
1164=5^781=2^782=CEDELULLXXX^783=B^784=10^801=1^785=26440^786=10^782=CE
DELULLXXX^783=B^784=30^44=-
0.1^40100=2^40101=103^40102=MAT^40103=0001^40104=04^40105=FIN2990-
LE001^40106=End Cash agreed. Here is my side^40107=20160113-
08:00:00.311^40113=20160115^40114=2105719.09^40115=USD^40101=104^40102=
MAT^40103=0003^40104=03^40105=FIN2990-LE002^40106=Correction - closing
today^40107=20160115-
07:50:00.050^40113=20160115^40114=2105719.09^40115=USD^40119=0002^54=1^
TRAX FIX Gateway
172
1506=201601047878999^453=2^448=XYZFFR2LXXX^447=B^452=1^448=XYZ
PAR^447=T^452=1^1154=USD^1155=USD^12=20.00^13=3^921=2105220.00^922=2105
719.09^1158=1^1164=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=54942
6^786=10^782=IRVTUS3NBDS^783=B^784=30^44=-
0.1^40004=A004^40100=2^40101=103^40102=MAT^40103=0001^40104=04^40106=Re
placed end cash as discussed^40107=20160113-
08:00:00.312^40113=20160115^40114=2105719.09^40115=USD^40101=104^40102=
MAT^40103=0003^40104=03^40106=Closing today^40107=20160115-
07:50:00.050^40113=20160115^40114=2105719.09^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^40213
=20160115^40012=03^40001=1^40002=PRIV^40003=FIN2990^10=130^
xiv. Matched Lifecycle Event (AE)
TRAX sends a No/Was trade confirmation message to both side, to confirm the matched lifecycle events. Note that the trade details (end date, end cash) and version number have changed.
8=FIXT.1.1^9=1918^35=AE^1128=9^49=TRAX^56=TESTCONNECTION 001^128=ABC
LON^34=56^50=MATCH^52=20160115-07:50:00.250^571=0012-7878742-2-
20160115-07:50:00^1003=201601047878742^1041=FIN2990-1^1042=FIN2990-
2^487=2^856=5^828=54^1123=0^572=20160115075000FIN2990-
4^880=201601047878999^423=9^1116=2^1117=XYZ
PAR^1118=T^1119=17^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N/A]^460=13^167=
REPO^762=BOND^107=SOUTH AFRICA,REPUBLIC OF 5.875 S
30/05/22^788=4^916=20160106^917=20160115^919=0^711=1^311=[N/A]^309=US83
6205AL88^305=4^457=1^458=A962636^459=101^879=1900000^810=110.8^75=20160
104^60=20160104-
09:00:00^573=0^574=MMS^552=2^54=2^1506=201601047878742^1154=USD^1155=US
D^453=2^448=ABCBGB2LXXX^447=B^452=1^448=ABC
LON^447=T^452=1^921=2105200.00^922=2105719.09^1158=1^1164=5^781=2^782=C
EDELULLXXX^783=B^784=10^801=1^785=26440^786=10^782=CEDELULLXXX^783=B^78
4=30^44=-
0.1^40100=2^40101=103^40102=MAT^40103=0001^40104=04^40105=FIN2990-
LE001^40106=End Cash agreed. Here is my side^40107=20160113-
08:00:00.311^40113=20160115^40114=2105719.09^40115=USD^40101=104^40102=
MAT^40103=0003^40104=03^40105=FIN2990-LE002^40106=Correction - closing
today^40107=20160115-
07:50:00.050^40113=20160115^40114=2105719.09^40115=USD^40119=0002^54=1^
1506=201601047878999^1154=USD^1155=USD^453=2^448=XYZFFR2LXXX^447=B^452=
1^448=XYZ
PAR^447=T^452=1^12=20.00^13=3^921=2105220.00^922=2105719.09^1158=1^1164
=4^781=2^782=DTCYUS33XXX^783=B^784=10^801=1^785=549426^786=10^782=IRVTU
S3NBDS^783=B^784=30^44=-
0.1^40004=A004^40100=2^40101=103^40102=MAT^40103=0001^40104=04^40106=Re
placed end cash as discussed^40107=20160113-
08:00:00.312^40113=20160115^40114=2105719.09^40115=USD^40101=104^40102=
MAT^40103=0003^40104=03^40106=Closing today^40107=20160115-
07:50:00.050^40113=20160115^40114=2105719.09^40115=USD^40201=20160104^4
0202=20160104-
09:00:00^40205=1900000^40206=9^40207=110.8^40210=4^40212=20160106^40213
=20160115^779=20160115-
07:50:00.050^1934=9^2302=03^40001=1^40002=PRIV^40003=FIN2990^10=130^
TRAX FIX Gateway
173
c. Triparty Financing Trade
In the sample triparty securities financing trade below, note the following conditionally required fields:
• SecuritySubType (762) = BASK
• The collateral is identified by a unilateral code, i.e. UnderlyingSecurityID (309) = DRGR
and UnderlyingSecurityIDSource (305) = 102
• StipulationType (233) = TRIPARTY
• The collateral set is identified under the Seller’s settlement obligations, in custom field
TRAXCollateralSet (40009)
Business Element Value
ABC’s Internal Trade Identifier TRI4366-1
ABC’s 2nd Leg Identifier TRI4366-2
Trade Date and Time 23 Feb 2016, 09:00 UTC
Financing Transaction Type Securities Loan (SECLOAN), Tri-Party
Direction Sell
Termination Type Open
Start Date 25 Feb 2016
Repo Rate Type Fixed (Yield)
Repo Rate -0.25
Collateral Basket (Internal Identifier) DRGR
Collateral Set (Euroclear) 12425
Opening Leg Price 106.00
Trade Currency EUR
Opening Leg Quantity (Face Value) 1,000,000
Start Cash (Settlement Amount) EUR 1,060,000.00
Settlement Details ABC Bank XYZ Bank
Payment Indicator Delivery vs. payment (APMT)
Settlement Location Iberclear Madrid (IBRCESMMCDE)
Account at Settlement Location 306000000
Settlement Agent Citibank International Plc Madrid (CITIESMXXXX)
8=FIXT.1.1^9=550^35=AE^49=TESTCONNECTION 001^56=TRAX^115=ABC
LON^34=48^57=MATCH^52=20160223-09:00:01.000^571=20160223090001TRI4366-
1^1041=TRI4366-1^1042=TRI4366-
2^487=0^856=0^828=54^423=9^1116=1^1117=XYZFFR2LXXX^1118=B^1119=17^55=[N
/A]^460=13^167=SECLOAN^762=BASK^788=4^916=20160225^919=0^711=1^311=[N/A
]^309=DRGR^305=102^879=1000000^810=106.00^75=20160223^60=20160223-
09:00:00^552=1^54=2^1154=EUR^1155=EUR^921=1060000.00^232=1^233=TRIPARTY