TRAX FIX Gateway Trade Matching – FIX 5.0 SP2 - MarketAxess

181
TRAX FIX Gateway Trade Matching FIX 5.0 SP2 Technical Specification

Transcript of TRAX FIX Gateway Trade Matching – FIX 5.0 SP2 - MarketAxess

TRAX FIX Gateway Trade Matching – FIX 5.0 SP2 Technical Specification

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

TRAX FIX Gateway

174

^1158=1^1164=5^40009=12425^781=2^782=IBRCESMMCDE^783=B^784=10^801=1^785

=306000000^786=10^782=CITIESMXXXX^783=B^784=30^44=-0.25^10=218^