You are on page 1of 48

Trax FIX Gateway Technical Specification

APA Quote Reporting via FIX


Version 1.01
December 2018

Contact Details
For further information and support, please contact:
Customer Integration: customerintegration@marketaxess.com +44 (0)207 709 3103
Client Service Management: support@traxmarkets.com +44 (0)203 655 3440
Confidential and Proprietary
Copyright 2017 by Xtrakter Limited, trading as Trax (“Trax”)

All Rights Reserved.

Trax and the Trax logo are trademarks of Trax.

Whilst 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

10th Floor

5 Aldermanbury Square

London

EC2V 7HR

Disclosure

Trax has developed the FIX messaging functionality for the purpose of providing relevant technical information and requirements (“Trax Fix
Gateway”) to clients of the Trax APA service (the “Trax System”) which, subject to the execution of a written agreement with Trax (“Agreement”),
would enable you to submit data to the Trax System via the Trax Fix Gateway.

This page tells you the additional terms on which you may make use of the Trax Fix Gateway (the “FIX Terms”) and is supplemental to the
Agreement. Trax reserves the right to modify or amend these FIX Terms from time to time. Your access to and use of the Trax Fix Gateway
following notification of these FIX Terms constitutes acceptance of such FIX Terms. The Trax Fix Gateway, in particular, but not limited to, the
compilation and the design of the Trax Fix Gateway, is proprietary to Trax or is licensed to Trax by a third party. The Trax Fix Gateway is, and
contains information that is, proprietary to Trax and is confidential. All present and future intellectual property rights in the Trax Fix Gateway and
any documentation associated with it or supplied to you via the Trax Fix Gateway, if any (“Documentation”), such as, but not limited to,
copyrights, rights of authorship, database rights, marks, patents, know-how and other intellectual property rights of any type shall remain the
property of Trax or its third party supplier. You shall not acquire any rights in the Trax Fix Gateway or the Documentation, other than the right of
use of, or access to where relevant, the Trax Fix Gateway or the Documentation granted to you in accordance with these Fix Terms.

You may use the Trax Fix Gateway and the Documentation solely for your internal use for the purpose of evaluating or using the Trax System as
described in and in connection with, and subject to, the Agreement. You shall not copy or redistribute all or any of the components of the Trax
Fix Gateway or the Documentation without Trax’s prior written permission, except that you may make copies of the Documentation for internal
use solely for the purpose stated above, and at all times subject to any confidentiality obligations in the Agreement. Trax owns all intellectual
property rights in Trax Fix Gateway and the Documentation and it shall at all times be and remain the sole and exclusive property of Trax.

THE TRAX FIX GATEWAY IS BEING PROVIDED TO YOU ON AN 'AS IS' BASIS, WITHOUT WARRANTY OF ANY KIND BY TRAX OR ANY OF ITS AFFILIATES,
INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-
INFRINGEMENT.

TRAX AND EACH OR ANY OF ITS AFFILIATES SHALL NOT BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF REVENUE, LOSS OF USE, LOSS OF COST OR
SAVINGS OR ANTICIPATED SAVINGS, LOSS OR CORRUPTION OR OF DAMAGE TO SOFTWARE OR DATA, LOSS OF CONTRACT OR OPPORTUNITY,
BUSINESS INTERRUPTION, LOSS OF GOODWILL, LOSS OF CLAIM OR DAMAGE OR LOSS SUFFERED OF ANY NATURE, 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 PROVISION OF, PERFORMANCE, OR USE OF, OR INABILITY TO USE THE TRAX FIX GATEWAY OR THE DOCUMENTATION.

Trax APA Quote Reporting via FIX v1.01 (1) Page 2 of 48


Revision History
Version Date Comments Release
0.01 January 2017 Initial pre-release draft (for discussion). N/A
Updated custom field numbers and corrected field
0.02 April 2017 N/A
order in component blocks.
0.03 May 2017 Added support for quotes over a benchmark N/A

 Updated custom tag names


 Updated usage of TraxQuoteTier
 Added support for TraxQuoteCxlTier
0.04 May 2017 N/A
 Corrected QuotEntry group to reflect exact FIX
name
 Added support for TraxMarketDepth

 Moved bid/offer price to custom fields


 Moved quote on spread over benchmark to
0.05 May 2017 custom fields N/A
 Removed custom enumeration from
QuoteEntryStatus

 Minor updates/corrections
 Removed TraxQuoteCxlTier and updated usage
0.06 May 2017 of TraxQuoteTier N/A
 Consolidated Bid/Offer PriceType fields to a
single PriceType field

 Updated description of QuoteSetID (302) to


unique ID, not specifically a sequential number.
0.07 July 2017 N/A
 Added TraxBenchmarkCurveName (22689) and
TraxBenchmarkCurvePoint (22690)

 When an expiration time or time to live is not


entered, the quote will be taken as a point in
0.08 October 2017 N/A
time quote (no default expiration time will be
set).

Trax APA Quote Reporting via FIX v1.01 (1) Page 3 of 48


Revision History
Version Date Comments Release

 Added TraxLastMkt (22504) – required for each


quote in <QuotEntryGrp>
 Added enumeration for Concatenated ID in
0.09 November 2017 SecurityIDSource (22) and added Concatenated N/A
ID support to SecurityID (48)
 Clarified usage of BidSize (134) and OfferSize
(135)

1.00 June 2018  Added TraxSizeCurrency (22505) June 2018

 Updated <StandardHeader> block to support


1.01 December 2018 2019 Q1
quote reporting post Brexit

Trax APA Quote Reporting via FIX v1.01 (1) Page 4 of 48


Contents
1. Introduction .......................................................................................................................................... 7
1.1 FIX Connections............................................................................................................................. 7
1.2 Supported FIX Versions ................................................................................................................. 8
1.3 Supported FIX Application Messages............................................................................................ 8
1.4 APA Participants ............................................................................................................................ 8
1.5 Supported Functions and Instrument Types............................................................................... 10
1.6 FIX Session Behavior ................................................................................................................... 10
2. Message flows..................................................................................................................................... 11
2.1 Report a Single Quote ................................................................................................................. 13
2.2 Reporting Multiple Quotes ......................................................................................................... 15
2.3 Rejecting Quotes within a MassQuote (i) Message .................................................................... 16
2.4 Rejecting a MassQuote (i) Message ............................................................................................ 17
2.5 Acknowledging Quotes within a MassQuote (i) Message .......................................................... 19
2.6 Cancelling a Single Quote............................................................................................................ 20
2.7 Cancelling All Quotes .................................................................................................................. 21
3. Trax APA Business Rules ..................................................................................................................... 22
3.1 Submitting Quotes ...................................................................................................................... 22
3.2 Publication Obligation Data ........................................................................................................ 26
4. MassQuote (i)...................................................................................................................................... 27
5. MassQuoteAck (b)............................................................................................................................... 31
6. BusinessMessageReject (j) .................................................................................................................. 33
7. Component Blocks .............................................................................................................................. 35
7.1 <StandardHeader> ...................................................................................................................... 35
7.2 <QuotCxlEntriesGrp> .................................................................................................................. 37
7.3 <Instrument> .............................................................................................................................. 38
7.4 <QuotSetGrp> ............................................................................................................................. 38
7.5 <QuotEntryGrp> .......................................................................................................................... 39
7.6 <TraxSpreadOrBenchmarkCurveData> ....................................................................................... 40
7.7 <QuotSetAckGrp> ....................................................................................................................... 41
7.8 <QuotEntryAckGrp> .................................................................................................................... 42
7.9 <StandardTrailer> ....................................................................................................................... 42

Trax APA Quote Reporting via FIX v1.01 (1) Page 5 of 48


8. Trax Customizations ............................................................................................................................ 44
8.1 Extensions to Existing Fields/Blocks............................................................................................ 44
8.2 Custom Fields .............................................................................................................................. 45

Trax APA Quote Reporting via FIX v1.01 (1) Page 6 of 48


1. Introduction
The purpose of the Trax APA service is to allow trade counterparties to fulfill their regulatory obligations
under MiFID II for pre- and post-trade transparency. This includes:

 Pre-trade reporting and publication of quotes


 Post-trade reporting and publication of trades

This specification covers the ability to report quotes into the Trax APA service using FIX. Reporting of
trades is covered in a separate technical specification.

This specification does not cover the outbound publication feeds, which can be subscribed to separately.

Please note that this specification is applicable to clients of both Trax UK and Trax NL. At the time of
writing, the business rules and formats defined in this specification are applicable to pre-trade reporting
within both the UK and EU jurisdictions should there be no transitional arrangements in place post
Brexit

1.1 FIX Connections


Separate FIX connections should be set up for testing/UAT and production purposes.

Connection identifiers will be agreed at setup time between the FIX participant and Trax Client
Integration (i.e. SenderCompID and TargetCompID values). Connections will then be associated with an
admin group in the Trax APA system.

Subscribers can request to have multiple FIX connections, potentially permissioned to different
functions. If using multiple connections for the same subscriber, Trax will respond to each connection
with outbound messages only for messages that were received from that connection (i.e. a listening
mode will not be supported).

Please contact Customer Integration to set up FIX connection(s).

1.1.1 Message Routing to Trax Services


Trax supports multiple services via its FIX interface. In some cases, participants are 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 process TradeCaptureReport (AE) messages, although the
purpose is different – counterparty matching in the former case, MiFID II post-trade transparency
reporting in the latter.

Trax uses the SenderSubID (50) / TargetSubID (57) pair in the <StandardHeader> to manage routing of
messages from/to specific services.

Trax APA Quote Reporting via FIX v1.01 (1) Page 7 of 48


In order to send an application-level message to the Trax APA service, participants must set the
TargetSubID (57) = APA. Similarly, all outbound business messages from the Trax APA service will be sent
with the SenderSubID (50) = APA.

Participants should expect other service descriptions to be added in the future.

1.2 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 EP228.

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.

All customizations are highlighted in blue in the body of the specification, and defined in detail in section
8 Trax Customizations.

1.3 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)
MassQuote (i)
Pre Trade Reporting MassQuoteAck (b)
QuoteCancel (Z)

1.4 APA Participants


Trax APA participants are identified using a unique identifier agreed with Trax when setting up the
account.

A single reporting firm will have a single legal entity and a single FIX connection that can send and
receive messages on behalf of the entity. For firms with multiple entities, multiple connections will be
required.

Participants must provide a Reporting Entity LEI during setup, i.e. the legal entity identifier that
identifies the party submitting FIX messages. Quotes sent to Trax do not require a Reporting LEI to be
sent with the quote; the Reporting LEI on the account will be used for all quotes.

Trax APA Quote Reporting via FIX v1.01 (1) Page 8 of 48


All outbound application messages sent by Trax will be addressed to a specific subscriber in the
TargetCompID (56) field. This will be the unique identifier that identifies the FIX connection of the Trax
APA Participant, which may or may not be an LEI.

Please contact Customer Integration to set up subscribers for testing and production purposes.

1.4.1 Applicable National Competent Authority


MiFID II allows competent authorities to grant waivers in relation to pre-trade transparency. To allow
Trax to determine if publication of a quote can be waived, the National Competent Authority (NCA)
supervising a Reporting Firm is retained within the APA participants account setup.

In most cases, a Reporting Firm will be subject to the jurisdiction of a single NCA. However, the following
types of firm may be subject to the jurisdiction of more than one NCA1:

 Non-UK and non-EU firms (e.g. US Firms) operating branches in both the UK and EU; and
 EU Firms operating a UK Branch.

To allow Trax to determine the relevant jurisdiction, non-UK and non-EU firms operating branches in
both the UK and EU will be required to identify the relevant branch location (or applicable NCA) on each
quote submission.

To allow Trax to determine the relevant jurisdiction, EU firms operating a UK branch will be required to
identify the applicable NCA on each quote submission when reporting quotes provided through their UK
branch; i.e. to report the quotes under the jurisdiction of the FCA and to report the same quotes under
the jurisdiction of their home NCA where a home reporting obligation applies.

The following points should be noted:

 EU firms operating a UK branch should note the requirement regarding the unique identifier for
a Quote Report; i.e. separate QuoteEntryIDs (Tag 229) must be created where a quote provided
through their UK branch is subject to the transparency regimes of both the FCA and their home
NCA
 Where a firm is required to report under the jurisdiction of more than one NCA, Trax will retain
a default NCA for the firm. Trax will publish quotes according to the waivers granted by the
default NCA if a quote submission does not identify the applicable NCA
 Where multiple quotes are reported in a single message, all quotes in the message are assessed
under a single jurisdiction.

1
Please refer to the Trax Brexit FAQs for further information.

Trax APA Quote Reporting via FIX v1.01 (1) Page 9 of 48


1.4.2 APA Configurations
Trax APA subscribers can have the following configurations:

 Send in quotes over a single connection for a single Reporting Firm


o Multiple connections may be added to a single account

1.5 Supported Functions and Instrument Types


The document includes the technical specifications of the pre-trade reporting of quotes in all MiFID II
asset classes.

1.6 FIX Session Behavior


The Trax APA 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:05 GMT.
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:00 GMT will be logged out by Trax. Trax will
then disconnect the connections, reset all session (i.e. reset outbound sequence numbers and 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.

Trax APA Quote Reporting via FIX v1.01 (1) Page 10 of 48


2. Message flows
This section defines the business message functions and associated message flows that will be
supported by the FIX interface.

The APA functionality can be broken down into the following functional flows:

 Reporting a single quote


 Reporting multiple quotes
 Cancelling one or more quotes

Reporting a Single Quote – the reporting party submits a quote to Trax for MiFID II pre-trade
transparency purposes. The Trax APA service validates and processes the message, and sends back an
ack/nack. If accepted, the ack contains the publishing obligation determined by the APA service.

Reporting a Single Quote

Reporting Party TRAX APA


1. Send new quote MassQuote

MassQuoteAck
2. Quote message validated
ACCEPTED
and processed
Publication Obligation Data

Reporting Multiple Quotes – the reporting party submits a MassQuote with ‘n’ quotes to Trax for MiFID
II pre-trade transparency purposes. Each quote is sent in a single message and is identified as part of a
quote set within the message. The APA service validates each quote separately and sends back an
ack/nack in a single message, for each quote. For each quote, the publication obligation is reported in
the response.

Processing will occur at the message level and messages will be limited to 200 quotes since Trax uses
parallel processing. This limit ensures even distribution of quote processing, which results in faster
processing.

Reporting Multiple Quotes

Reporting Party TRAX APA


MassQuote
1. Send new quote
Quotes 1 to ‘n’

MassQuoteAck
2. Quote message validated
ACCEPTED
and processed
Publication Obligation Data

Cancelling One or More Quotes – Quotes may be cancelled across 3 different levels:

 Level 1: Cancel all quotes

Trax APA Quote Reporting via FIX v1.01 (1) Page 11 of 48


 Level 2: Cancel all tiered quotes for a single instrument
 Level 3: Cancel a single quote for a given instrument and tier

A single quote cancel message may contain instruction to cancel quotes at any of the above levels. If
multiple quotes are cancelled at Level 2 or Level 3, multiple quote cancellations within the message
must be sent. Individual quotes are identified at the instrument and tier level, Level 3.

Cancelling One or More Quotes

Reporting Party TRAX APA


QuoteCancel
1. Send a quote cancel
Quotes 1 to ‘n’

MassQuoteAck 2. Quote cancel message


CANCELLED validated and processed

The sections below detail the specific FIX messages and required fields needed to implement these
message flows.

In general, only the required fields needed for each message function/step have been provided, with
more detail about the business content contained in section 2.7. However, where a particular function
requires minimal information (such as a cancel all quotes or business message rejects), the entire
message definition is provided and indicated as such.

The Trax APA business rules for various scenarios are contained in section 2.7 below.

The full message definitions, including all fields, are defined in sections 4 through 6, with re-used
component blocks defined in section 7. Component blocks are referred to throughout the document
using the convention <block name>.

Section 8 contains formal definitions of the custom extensions and fields used by Trax.

Trax APA Quote Reporting via FIX v1.01 (1) Page 12 of 48


2.1 Report a Single Quote

Reporting Party MassQuote (i) TRAX APA


QuoteID = <new>
NoQuoteSets = 1
1. Submit new quote QuoteSetID = 1
TotNoQuoteEntries = 1
NoQuoteEntries = 1
QuoteEntryID = <new>

MassQuoteAck (b)
QuoteID = <reference>
STOP QuoteStatus = 0 (accepted)
NoQuoteSets = 1
QuoteSetID = 1 2a. Single quote is rejected
TotNoQuoteEntries = 1
NoQuoteEntries = 1
QuoteEntryID = <reference>
QuoteEntryStatus = 5 (rejected)
OR
MassQuoteAck (b)
QuoteID = <reference>
QuoteStatus = 0 (accepted)
2b. Single quote is
NoQuoteSets = 1
accepted, processed, and
QuoteSetID = 1
the publication outcome is
TotNoQuoteEntries = 1
returned
NoQuoteEntries = 1
QuoteEntryID = <reference>
QuoteEntryStatus = 0 (accepted)

To submit a single new quote, the reporting party will send a MassQuote (i) message with one quote,
using the following fields:

Tag # FIX Field Name Req? Comments / Rules


<StandardHeader> Y MsgType = i
117 QuoteID Y Unique identifier for the quote message, user defined.
The number of quote sets in the message. The following are
required in the <QuotSetGrp>:
<QuotSetGrp> Y NoQuoteSets (296) = 1
QuoteSetID (302) = 1 (or any unique ID)
TotNoQuoteEntries (304) = 1

Trax APA Quote Reporting via FIX v1.01 (1) Page 13 of 48


Tag # FIX Field Name Req? Comments / Rules
The number of quote entries for a QuoteSet Group. The
following are required in each <QuotEntryGrp>:
NoQuoteEntries (295) = 1
QuoteEntryID (299) – Unique ID for the quote, user defined

At least one of the following Price fields must be populated:


TraxBidPrice (22680)
TraxOfferPrice (22682)

A price type for the side(s) of the quote being priced, must be
entered:
TraxPriceType (22683)
<QuotEntryGrp> Y

A size, corresponding to the side(s) of the quote being priced,


must be entered:
BidSize (134)
OfferSize (135)

TransactTime (60) – Timestamp of the quote, in UTC


Currency (15) – ISO 4217 currency code
TraxSizeCurrency (22505) – Currency of the quantity/size where
the price currency is not equal to the size currency
TraxLastMkt (22504) – ISO 10383 Market Identifier Code (MIC)
values (incl. XOFF, XXXX, SINT)
Identifies the security being quoted. Both SecurityID (48) and
<Instrument> Y
SecurityIDSource (22) must be provided.
<StandardTrailer> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 14 of 48


2.2 Reporting Multiple Quotes

Reporting Party MassQuote (i)


TRAX APA
QuoteID = <new>
NoQuoteSets = 1 or more
1. Submit new quotes
TotNoQuoteEntries = 1 or more
NoQuoteEntries = 1 or more
QuoteEntryID = <new>

STOP MassQuoteAck (b)


QuoteID = <reference>
QuoteStatus = 0 (accepted) 2a. For quotes that are
rejected
QuoteEntryID = <reference>
QuoteEntryStatus = 5 (rejected)

AND/OR

MassQuoteAck (b)
QuoteID = <reference> 2b. Accepted quotes are
QuoteStatus = 0 (accepted) processed and the
publication outcome is
QuoteEntryID = <reference> returned
QuoteEntryStatus = 0 (accepted)

To submit multiple new quotes, the reporting party will send a MassQuote (i) message with one or more
quotes, using the following fields:

Tag # FIX Field Name Req? Comments / Rules


<StandardHeader> Y MsgType = i
117 QuoteID Y Unique identifier for the quote message, user defined.
The number of quote sets in the message. The following are
required in the <QuotSetGrp>:
NoQuoteSets (296) – must be at least 1
<QuotSetGrp> Y
QuoteSetID (302) – unique ID for the quote set
TotNoQuoteEntries (304) – must be 200 or less when quotes
are counted across all quote sets within the message

Trax APA Quote Reporting via FIX v1.01 (1) Page 15 of 48


Tag # FIX Field Name Req? Comments / Rules
The number of quote entries for a QuoteSet Group. The
following are required in each <QuotEntryGrp>:
NoQuoteEntries (295) = must be at least 1
QuoteEntryID (299) – Unique ID for the quote, user defined

At least one of the following Price fields must be populated for


each quote:
TraxBidPrice (22680)
TraxOfferPrice (22682)

A price type for the side(s) of the quote being priced, must be
entered:
<QuotEntryGrp> Y TraxPriceType (22683)

A size, corresponding to the side(s) of the quote being priced,


must be entered for each quote:
BidSize (134)
OfferSize (135)

TransactTime (60) – Timestamp of the quote, in UTC


Currency (15) – ISO 4217 currency code
TraxSizeCurrency (22505) – Currency of the quantity/size where
the price currency is not equal to the size currency
TraxLastMkt (22504) – ISO 10383 Market Identifier Code (MIC)
values (incl. XOFF, XXXX, SINT)
Identifies the security being quoted. Both SecurityID (48) and
<Instrument> Y
SecurityIDSource (22) must be provided for each quote.
<StandardTrailer> Y

2.3 Rejecting Quotes within a MassQuote (i) Message


If the inbound MassQuote (i) message contains quotes that cannot be processed, or that violate a
business rule, Trax APA will reject it with a MassQuoteAck (b) message with the following fields:

Trax APA Quote Reporting via FIX v1.01 (1) Page 16 of 48


Tag # FIX Field Name Req? Comments / Rules
<StandardHeader> Y MsgType = b
User’s unique identifier for the quote message, echoed in
117 QuoteID Y
the ack message.
Identifies the status of the quote message
297 QuoteStatus Y
0 = Accepted
The number of quote sets in the message. The following will
always exist in the <QuotSetAckGrp>:
NoQuoteSets (296) = 1
QuoteSetID (302) = 1 (the unique ID sent in the MassQuote
<QuotSetAckGrp> Y (i) message)
TotNoQuoteEntries (304) – will equal the number of quotes
in the message
TotNoRejectQuotes (1170) – will equal the number of
rejected quotes in the message
The number of quote entries for a QuoteSetAck Group. The
following are required in each <QuotEntryAckGrp>:
NoQuoteEntries (295) – the number of quotes in the ack
group
<QuotEntryAckGrp> Y QuoteEntryID (299) – User’s unique ID for the quote, echoed
back for reference
QuoteEntryStatus (1167) = 5 (rejected)
TraxResponseText (22702) – a human readable message
containing the reason for the quote rejection
<StandardTrailer>

2.4 Rejecting a MassQuote (i) Message


If the inbound MassQuote (i) message contains more than 200 quotes or the account has been
suspended, Trax APA will reject all quotes with a MassQuoteAck (b) message with the following fields:

Tag # FIX Field Name Req? Comments / Rules


<StandardHeader> Y MsgType = b
User’s unique identifier for the quote message, echoed in the
117 QuoteID Y
ack message.

Trax APA Quote Reporting via FIX v1.01 (1) Page 17 of 48


Tag # FIX Field Name Req? Comments / Rules
Identifies the status of the quote message
297 QuoteStatus Y
5 = Rejected
The reason Quote was rejected. One of the following:
3 = Quote Request exceeds limit
300 QuoteRejectReason Y
9 = Not authorized to quote security
99 = Other
<StandardTrailer> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 18 of 48


2.5 Acknowledging Quotes within a MassQuote (i) Message
If the inbound MassQuote (i) message contains quotes that have been accepted, Trax APA will respond
with a MassQuoteAck (b) message with the following fields:

Tag # FIX Field Name Req? Comments / Rules


<StandardHeader> Y MsgType = b
User’s unique identifier for the quote message, echoed in
117 QuoteID Y
the ack message.
Identifies the status of the quote message
297 QuoteStatus Y
0 = Accepted
The number of quote sets in the message. The following will
always exist in the <QuotSetAckGrp>:
NoQuoteSets (296) = 1
QuoteSetID (302) = 1 (the unique ID sent in the MassQuote
<QuotSetAckGrp> Y (i) message)
TotNoQuoteEntries (304) – will equal the number of quotes
in the message
TotNoAccQuotes (1170) – will equal the number of accepted
quotes in the message
The number of quote entries for a QuoteSetAck Group. The
following are required in each <QuotEntryAckGrp>:
NoQuoteEntries (295) – the number of quotes in the ack
group
QuoteEntryID (299) – User’s unique ID for the quote, echoed
back for reference
QuoteEntryStatus (1167) = 0 (accepted)
<QuotEntryAckGrp> Y TraxWaiverFlag (22700) – will show the reason for a waiver,
if transparency has been waived.
TraxPublicationFlag (22701) – Indicates the publication
outcome. Supported values are: Y (published), N (not
published), or W (waived).
TraxResponseText (22702) – a human readable message
containing applicable warning or lifecycle messages for each
quote
<StandardTrailer>

Trax APA Quote Reporting via FIX v1.01 (1) Page 19 of 48


2.6 Cancelling a Single Quote

Subscriber QuoteCancel (Z) TRAX


QuoteID = <new>
QuoteCancelType = 1
1. Quote Cancel
NoQuoteEntries = 1
SecurityID = <security ID>
TraxQuoteTier = <quote tier>
MassQuoteAck (b)
QuoteID = <reference>
QuoteStatus = 5 (rejected)
STOP QuoteCancelType = 1 2a. Cancel is rejected

SecurityID = <security ID>


TraxQuoteTier = <quote tier>
OR
MassQuoteAck (b)
QuoteID = <reference>
QuoteStatus = 0 (accepted)
QuoteCancelType = 1 2b. Cancel is accepted

SecurityID = <security ID>


TraxQuoteTier = <quote tier>

When cancelling a single quote, the reporting party must identify a specific security and tier within the
QuoteCancel (Z) message, as follows:

Tag FIX Field Name Req? Comments / Rules


<StandardHeader> Y MsgType = Z
117 QuoteID Y Unique identifier for the quote message.
Identifies the type of quote cancel. Will always be 1
298 QuoteCancelType Y
when cancelling a single quote.
The number of quotes meant for cancellation.
<QuotCxlEntriesGrp> Y
NoQuoteEntries (295) = 1
Identifies the security of the quote being cancelled.
<Instrument> Y
SecurityID (48), SecurityIDSource (22).
Identifies the quote tier of the quote being
22500 TraxQuoteTier Y
cancelled. Required when cancelling a single quote.
<StandardTrailer> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 20 of 48


2.7 Cancelling All Quotes

Subscriber TRAX
QuoteCancel (Z)
1. Quote Cancel
QuoteCancelType = 4

MassQuoteAck (b)
STOP QuoteStatus = 5 (rejected) 2a. Cancel is rejected
QuoteCancelType = 4

OR

MassQuoteAck (b)
QuoteStatus = 0 (accepted) 2b. Cancel is accepted
QuoteCancelType = 4

When cancelling all quotes, there is no need to identify specific securities. The QuoteCancel (Z) message
is as follows:

Tag FIX Field Name Req? Comments / Rules


<StandardHeader> Y MsgType = Z
Identifies the type of quote cancel. Will always be 4
298 QuoteCancelType Y
when cancelling all quotes.
<StandardTrailer> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 21 of 48


3. Trax APA Business Rules
This section contains the business rules enforced by the Trax APA service.

In general, the FIX interface will require participants 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.

3.1 Submitting Quotes


When submitting quotes for APA pre-trade transparency purposes, reporting firms should send in the
following common data for all quotes types – ‘Req?’ labels are Y (required), C (conditional), or O
(optional):

Business Element Req? Trax Business Rule(s) FIX Fields


Reporting firm’s unique
Quote Group Reference identifier for the quote
Y QuoteID (117)
Number message. Maximum length
100 characters.
NoQuoteSets (296)
QuoteSetID (302) – Unique ID for
the Quote Set. Must be the first
Quote set total and counting field in the repeating group.
Quote Set Information Y information for quote sets TotNoQuoteEntries (304) – The
within the message. number of quotes for a given
quote set. When counted across
all sets in the message, the total
must be less than or equal to 200.
Individual quotes are sent
within the Quote Entry Group.
Quote Entry Group This group always begins with
Y NoQuoteEntries (295)
Information the number of quotes in the
entry group, which will always
be 1.
Reporting firm’s unique
identifier on each individual
Quote Reference
Y quote within the message. QuoteEntryID (299)
Number
Maximum length 100
characters.

Trax APA Quote Reporting via FIX v1.01 (1) Page 22 of 48


Business Element Req? Trax Business Rule(s) FIX Fields
SecurityIDSource = ISIN (22=4)
Instrument Must be an ISIN or
Y SecurityIDSource = OTHR
Identification Code Type Concatenated ID
(Concatenated ID) (22=104)
Instrument ISO 6166 ISIN code of the
Y SecurityID (48)
Identification Code instrument
Bid and or Offer price of the
quote. For the price(s)
populated, the price type
must be specified. Supported TraxBidPrice (22680)
types are:
TraxOfferPrice (22682)
Price Y 1 = Percentage (PERC)
2 = Per Unit (MONE)
TraxPriceType (22683)
6 = Spread (YIEL)
9 = Yield (YIEL)
22 = Basis Points (BAPO)
The Bid and or Offer size of
the quote. If a bid price is
populated, bid size must be
populated. Likewise for offer. BidSize (134)
Quote Size Y
OfferSize (135)
Values will be used to
compare against LIS/SSTI
thresholds. See section 3.1.2.
ISO 4217 currency code of the
Quote Currency Y currency in which the price is Currency (15)
or will be expressed.
The ISO 4217 currency of the
Bid and or Offer size.
Size Currency O Populated when price TraxSizeCurrency (22505)
currency is not equal to size
currency.
The tier for which the quote is
Quote Tier O made available. Defaults to 3 TraxQuoteTier (22500)
if not populated.

Trax APA Quote Reporting via FIX v1.01 (1) Page 23 of 48


Business Element Req? Trax Business Rule(s) FIX Fields
Free form code to aid in
identifying and tracking the
Trader ID O quote, such as Trader ID or TraxTraderID (22501)
Book ID. Limited to 100
characters.
Date and time when the
quote was made.
Quote Date and Time Y Timestamps must be in UTC TransactTime (60)
and at the microsecond level
of precision.
Indicates expiration time of
the Quote (always expressed
in UTC). If Expiration Time and
Expiration Time O Quote Time to Live are null, ValidUntilTime (62)
the quote will be treated as a
point in time quote and
remain visible until EOD.
The number of seconds that
the quote remains live,
counted from the Quote Date
and Time. In seconds, from 0
to 600, inclusive. If Expiration
Quote Time to Live O TraxQuoteExpiresIn (22502)
Time and Quote Time to Live
are null, the quote will be
treated as a point in time
quote and remain visible until
EOD.
The depth of trading interest
Market Depth O TraxMarketDepth (22503)
at the quoted price.
Required if publication flag is
Waiver Flag C set to Waiver. Specifies a TraxWaiverFlag (22700)
reason for the waiver.
Used to override publication
Publication Flag C obligation rules with a specific TraxPublicationFlag (22701)
publication instruction.

Trax APA Quote Reporting via FIX v1.01 (1) Page 24 of 48


Business Element Req? Trax Business Rule(s) FIX Fields
TraxBenchmarkPrice (22684)
TraxBenchmarkPriceType (22685)
TraxBenchmarkSecurityID
(22686)
TraxBenchmarkSecurityIDSource
May be populated when (22687)
Benchmark C TraxPriceType (22683)= 6
Spread or 22 Basis Points OR

TraxBenchmarkCurveName
(22689)
TraxBenchmarkCurvePoint
(22690)

3.1.1 Concatenated ID
Where an ISIN is not available and a Concatenated ID is used, SecurityIDSource (22) should be set to 104
(OTHR – Concatenated ID) and the Concatenated ID should be sent in SecurityID (48). There is a
character limit of 512 for SecuritID (48) when sending a Concatenated ID; any Concatenated ID over 512
characters will be rejected.

Note that there will be no validation on the Concatenated ID string beyond string length. All quotes
submitted with a Concatenated ID will be published, unless an override is provided in
TraxPublicationFlag (22701).

3.1.2 Bid and Offer Sizes


BidSize (134) and OfferSize (135) should represent the notional value of the quote for all instruments,
except as follows:

 Emission Allowances and Emission Allowance Derivatives: size will be in total TOCD
 Equities (incl. ETN & ETC): size will be units/shares as Trax will multiply Price * Size to reach
notional.

The values in these fields will be used to compare against LIS/SSTI thresholds.

Note that Trax will cater for LIS/SSTI thresholds in different jurisdictions on the basis of the jurisdiction
(applicable NCA) the participant is reporting under.

Trax APA Quote Reporting via FIX v1.01 (1) Page 25 of 48


For instruments other than Emissions Allowances and Emission Allowance Derivatives, values will be
converted to EUR/GBP as needed.

3.2 Publication Obligation Data


In the normal flow, Trax will determining the publishing obligation associated with each quote. The
publication obligation is specified using the following fields in the ack message:

 TraxPublicationFlag (22701) – indicates whether the quote will be published (Y), have
transparency waived (W), or not be published (N).
 TraxWaiverFlag (22700) – indicates the reason why quote transparency has been waived: ILQD,
SIZE, or LRGS

These fields will be sent by Trax in the MassQuoteAck (b) message when accepting a quote submission.

3.2.1 Reporting Party Override


The reporting party may optionally choose to explicitly instruct Trax to report, waive, or not report a
quote, i.e. to override the Trax business rules determining publishing obligation. This is accomplished by
sending the field TraxPublicationFlag (22701) in the inbound quote submission and populating it with
the desired outcome.

In addition, if the quote is submitted with TraxPublicationFlag = Waiver (22701 = W), then the reporting
party must also specify the waiver reason using the TraxWaiverFlag (22700) field.

If an override is submitted, Trax will follow the instructions regardless of the obligation implied by the
APA service’s business logic, and will return the fields in the subsequent MassQuoteAck (b) message
associated with the quote.

In the case where the override instruction differs from the APA’s determination of the reporting
obligation, Trax will send QuoteEntryStatus (1167) = 0 (Accepted) and a human readable warning
message containing the APA’s determination in the TraxResponseText (22702) field.

Trax APA Quote Reporting via FIX v1.01 (1) Page 26 of 48


4. MassQuote (i)
Tag # <block> Tag Name Req? Comment
<StandardHeader> Y MsgType (35) = i
117 N/A QuoteID Y Unique identifier for the quote message.
296 <QuotSetGrp> NoQuoteSets Y The number of quote sets in the
message.
302 <QuotSetGrp> QuoteSetID Y Unique ID for the Quote Set. Must be
the first field in the repeating group.
304 <QuotSetGrp> TotNoQuoteEntries Y Total number of quotes for the quote
set.
295 <QuotEntryGrp> NoQuoteEntries Y The number of quote entries for the
instrument being quoted. Will always
equal 1.
299 <QuotEntryGrp> QuoteEntryID Y Uniquely identifies the quote across the
complete set of all quotes for a given
quote provider.
48 <Instrument> SecurityID Y Security identifier value of
SecurityIDSource (22) type. Requires
SecurityIDSource.
22 <Instrument> SecurityIDSource Y Required if SecurityID (48) is specified.
Identifies class or source of the
SecurityID (48) value.
Supported enumerations:
4 = ISIN
104 = OTHR (Concatenated ID)
22680 <QuotEntryGrp> TraxBidPrice N Price of the bid quote, expressed in
TraxPriceType (22683) units.
22682 <QuotEntryGrp> TraxOfferPrice N Price of the offer quote, expressed in
TraxPriceType (22683) units.
Tag # <block> Tag Name Req? Comment
22683 <QuotEntryGrp> TraxPriceType N Indicates the type of price of the
bid/offer quote. Modifies TraxBidPrice
(22680) and TraxOfferPrice (22682).
Supported enumerations:
1 = Percentage (PERC)
2 = Per Unit (MONE)
6 = Spread (YIEL)
9 = Yield (YIEL)
22 = Basis Points (BAPO)
134 <QuotEntryGrp> BidSize N Quantity of bid
135 <QuotEntryGrp> OfferSize N Quantity of offer
62 <QuotEntryGrp> ValidUntilTime N Indicates expiration time of indication
message (always expressed in UTC)
60 <QuotEntryGrp> TransactTime Y Timestamp of when the quote
represented by the message occurred
(always expressed in UTC).
15 <QuotEntryGrp> Currency Y Identifies the currency used for
quotation. Must conform to ISO 4217
standard.
22505 <QuotEntryGrp> TraxSizeCurrency N Currency of the Bid and or Offer Size.
Populated when price currency is not
equal to size currency. Must conform to
ISO 4217 standard.
22684 <TraxSpreadOrBenchmarkCurveData> TraxBenchmarkPrice N Specifies the price of the benchmark.
22685 <TraxSpreadOrBenchmarkCurveData> TraxBenchmarkPriceType N Required if TraxBenchmarkPrice (22684)
is specified.

Identifies type of TraxBenchmarkPrice


(22684). Supported values are:
1 = Percentage
9 = Yield

Trax APA Quote Reporting via FIX v1.01 (1) Page 28 of 48


Tag # <block> Tag Name Req? Comment
22686 <TraxSpreadOrBenchmarkCurveData> TraxBenchmarkSecurityID N The identifier of the benchmark security,
e.g. Treasury against Corporate bond.
Requires
TraxBenchmarkSecurityIDSource
(22687).
22687 <TraxSpreadOrBenchmarkCurveData> TraxBenchmarkSecurityIDSource N Required if TraxBenchmarkSecurityID
(22686) is specified.

Identifies class or source of the


TraxBenchmarkSecurityID (22686) value.
Supported enumerations:
4 = ISIN
22689 <TraxSpreadOrBenchmarkCurveData> TraxBenchmarkCurveName N Identifies the Benchmark Curve Name of
the Benchmark rate index
22690 <TraxSpreadOrBenchmarkCurveData> TraxBenchmarkCurvePoint N Identifies the time period for the
reference Benchmark rate index
22500 <QuotEntryGrp> TraxQuoteTier N The tier for which the quote is made
available. Must be a whole number from
1 to 5, inclusive. Defaults to 3 when not
provided.
22501 <QuotEntryGrp> TraxTraderID N Free form code to aid in identifying and
tracking the quote, such as Trader ID or
Book ID. Limited to 100 characters.
22502 <QuotEntryGrp> TraxQuoteExpiresIn N The number of seconds that the quote
remains live, counted from TransactTime
(60). In seconds, from 0 to 600, inclusive.

Trax APA Quote Reporting via FIX v1.01 (1) Page 29 of 48


Tag # <block> Tag Name Req? Comment
22503 <QuotEntryGrp> TraxMarketDepth N Applies to venues only.

Depth of market for Book Snapshot /


Incremental updates
0 - full book depth
1 - top of book
2 and above - book depth (number of
levels)
22700 <QuotEntryGrp> TraxWaiverFlag N Required if publication flag is set to
Waiver. Supported values are: ILQD,
SIZE, or LRGS
22701 <QuotEntryGrp> TraxPublicationFlag N Used to override publication obligation
rules with a specific publication
instruction. Supported values are: Y, N,
or W
22504 <QuotEntryGrp> TraxLastMkt Y Market venue of quote. ISO 10383
Market Identifier Code (MIC) values (incl.
XOFF, XXXX, SINT).
<StandardTrailer> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 30 of 48


5. MassQuoteAck (b)
Tag # <block> Tag Name Req? Comment
<StandardHeader> Y MsgType (35) = b
117 N/A QuoteID N Unique identifier for the quote
message.
297 N/A QuoteStatus Y Identifies the status of the quote
acknowledgement.
Supported enumerations:
0 = Accepted
5 = Rejected
298 N/A QuoteCancelType N Identifies the type of quote
cancel.
Supported enumerations:
1 = Cancel for one or more
securities
4 = Cancel all quotes
300 N/A QuoteRejectReason N Reason Quote was rejected.
Supported enumerations:
3 = Quote Request exceeds limit
9 = Not authorized to quote
security
99 = Other
296 <QuotSetAckGrp> NoQuoteSets Y The number of quote sets in the
message.
302 <QuotSetAckGrp> QuoteSetID Y Unique ID for the Quote Set that
was provided on the inbound
MassQuote (i) message. Must be
the first field in the repeating
group.
304 <QuotSetAckGrp> TotNoQuoteEntries Y Total number of quotes for the
quote set ack group.
1168 <QuotSetAckGrp> TotNoCxldQuotes N Specifies the number of
cancelled quotes.
1169 <QuotSetAckGrp> TotNoAccQuotes N Specifies the number of accepted
quotes.
1170 <QuotSetAckGrp> TotNoRejQuotes N Specifies the number of rejected
quotes.
295 <QuotEntryAckGrp> NoQuoteEntries Y The number of quote entries for
a QuoteSet Ack.
299 <QuotEntryAckGrp> QuoteEntryID Y Uniquely identifies the quote
across the complete set of all
quotes for a given quote
provider.
48 <Instrument> SecurityID Y Security identifier value of
SecurityIDSource (22) type.
Requires SecurityIDSource.
Tag # <block> Tag Name Req? Comment
22 <Instrument> SecurityIDSource Y Required if SecurityID (48) is
specified. Identifies class or
source of the SecurityID (48)
value.
Supported enumerations:
4 = ISIN
104 = OTHR (Concatenated ID)
22500 <QuotEntryAckGrp> TraxQuoteTier Y The tier for which the quote is
made available. Must be a whole
number from 1 to 5, inclusive.

The tier for which the quote


cancel has occurred, when the
ack is for a cancel.
1167 <QuotEntryAckGrp> QuoteEntryStatus Y Identifies the status of an
individual quote.
Supported enumerations:
0 = Accepted
5 = Rejected
22700 <QuotEntryAckGrp> TraxWaiverFlag N The reason for a quote waiver.
Supported values are: ILQD, SIZE,
or LRGS
22701 <QuotEntryAckGrp> TraxPublicationFlag N Indicates the publication
outcome. Supported values are:
Y, N, or W
22702 <QuotEntryAckGrp> TraxResponseText Y A human readable message
containing warning, rejection, or
lifecycle messages.
<StandardTrailer> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 32 of 48


6. 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.
MassQuoteAck (b) message
 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

BusinessMessageReject (j) messages will not alter or report on the status of any business data or
transactions within the Trax APA service. 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
The MsgSeqNum of the message being
45 RefSeqNum N
rejected
The MsgType of the FIX message being
372 RefMsgType Y
referenced
Code to identify the reason for the Business
Message Reject message.
Supported enumerations:
380 BusinessRejectReason Y 1 = Unknown ID
3 = Unsupported Message Type
4 = Application Not Available
6 = Not Authorized

Trax APA Quote Reporting via FIX v1.01 (1) Page 33 of 48


Tag Field Name Req? Comment
<StandardTrailer> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 34 of 48


7. Component Blocks
The table below specifies the component blocks used by Trax APA and the parent/child relationship
between each block:

Component Block Parent Component Block(s)

MassQuoteAck (b)

QuoteCancel (Z)
MassQuote (i)

<StandardHeader> X X X Message (All Message Types)


<QuotCxlEntriesGrp> X Message (Z)
<QuotEntryGrp>
<Instrument> X X X <QuotCxlEntriesGrp>
<QuotEntryAckGrp>
<QuotSetGrp> X Message (i)
<QuotEntryGrp> X <QuotSetGrp>
<TraxSpreadOrBenchmarkCurveData> X <QuotEntryGrp>
<QuotSetAckGrp> X Message (b)
<QuotEntryAckGrp> X <QuotSetAckGrp>
<StandardTrailer> X X X Message (All Message Types)

7.1 <StandardHeader>
The <StandardHeader> is required for all session and application layer messages. The table below
specifies the fields supported by Trax.

Trax APA Quote Reporting via FIX v1.01 (1) Page 35 of 48


Tag Field Name Req? Comment
Must be the first field in the message.
8 BeginString Y Always unencrypted.
Will always = FIXT.1.1
Message length, in bytes, forward to
9 BodyLength Y CheckSum field. Must be the second field in
the message. Always unencrypted.
Defines the message type. Always the third
field in the message. Always unencrypted.
Supported enumerations:
Session Level Messages
0 = Heartbeat
1 = TestRequest
2 = ResendRequest
3 = Reject (Session Level)
35 MsgType Y
4 = SequenceReset
5 = Logout
A = Logon
Application (Business) Level Messages
i = MassQuote
b = MassQuoteAck
Z = QuoteCancel
j = BusinessMessageReject
Not supported for session layer or
BusinessMessageReject (j) messages, will be
ignored if sent.
Optional for all other inbound application
1128 ApplVerID N messages.
Trax will send ApplVerID on all other
outbound application messages.
Supported enumerations:
9 = FIX 5.0 SP2
49 SenderCompID Y Value as defined for the FIX connection
56 TargetCompID Y Value as defined for the FIX connection

Trax APA Quote Reporting via FIX v1.01 (1) Page 36 of 48


Tag Field Name Req? Comment
34 MsgSeqNum Y Usage as per FIX specification
Required on outbound business messages
Used to identify the Trax service sending the
message.
50 SenderSubID N Supported values:
APA = Trax APA service.
Optional for inbound messages
Used to identify the Applicable NCA2.
Optional for inbound messages.
142 SenderLocationID N Used to submit the ISO Country Code of the
Reporting Firm Branch Location.
Required on inbound business messages.
Used to identify the Trax service to which
57 TargetSubID N the message is being sent.
Supported values:
APA = Trax APA service
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)

7.2 <QuotCxlEntriesGrp>
The <QuotCxlEntriesGrp> is required for messages sent to cancel one or more securities.

Tag Field Name Req? Comment


The number of quotes meant for
295 NoQuoteEntries N
cancellation.
<Instrument> N

2
Please contact Customer Integration for the required identifier(s).

Trax APA Quote Reporting via FIX v1.01 (1) Page 37 of 48


Tag Field Name Req? Comment
The tier for which the quote cancel should
occur. Must be a whole number from 1 to 5,
22500 TraxQuoteTier N inclusive. All quotes for the specified
instrument are cancelled when tier is not
provided.

7.3 <Instrument>
The <Instrument> component block will be used by Trax as follows:

 For all quotes, the security will be identified using an ISIN, but additional types will be supported
in the future.

Tag Field Name Req? Comment


Security identifier value of SecurityIDSource
48 SecurityID Y
(22) type. Requires SecurityIDSource.
Required if SecurityID (48) is specified.
Identifies class or source of the SecurityID
(48) value.
22 SecurityIDSource Y
Supported enumerations:
4 = ISIN
104 = OTHR (Concatenated ID)

7.4 <QuotSetGrp>
The table below specifies the required fields in the <QuotSetGrp> component block, which is required
for MassQuote (i) messages.

Tag Field Name Req? Comment


296 NoQuoteSets Y The number of quote sets in the message.
Unique ID for the Quote Set. Must be the
302 QuoteSetID Y
first field in the repeating group.
304 TotNoQuoteEntries Y Total number of quotes for the quote set.
<QuotEntryGrp> Y

Trax APA Quote Reporting via FIX v1.01 (1) Page 38 of 48


7.5 <QuotEntryGrp>
The <QuotEntryGrp> is the repeating block that contains individual quote details. The following fields
are used.

Tag Field Name Req? Comment


The number of quote entries for the
295 NoQuoteEntries Y instrument being quoted. Will always
equal 1.
Uniquely identifies the quote across
299 QuoteEntryID Y the complete set of all quotes for a
given quote provider.
<Instrument> Y
Price of the bid quote, expressed in
22680 TraxBidPrice N
TraxPriceType (22683) units.
Price of the offer quote, expressed in
22682 TraxOfferPrice N
TraxPriceType (22683) units.
Indicates the type of price of the offer
quote. Modifies TraxBidPrice (22680)
and TraxOfferPrice (22682).
Supported enumerations:
22683 TraxPriceType N 1 = Percentage (PERC)
2 = Per Unit (MONE)
6 = Spread (YIEL)
9 = Yield (YIEL)
22 = Basis Points (BAPO)
134 BidSize N Quantity of bid
135 OfferSize N Quantity of offer
Indicates expiration time of indication
62 ValidUntilTime N
message (always expressed in UTC)
Timestamp of when the quote
60 TransactTime Y represented by the message occurred
(always expressed in UTC).

Trax APA Quote Reporting via FIX v1.01 (1) Page 39 of 48


Tag Field Name Req? Comment
Identifies the currency used for
15 Currency Y quotation. Must conform to ISO 4217
standard.
Currency of the Bid and or Offer Size.
Populated when price currency is not
22505 TraxSizeCurrency N
equal to size currency. Must conform
to ISO 4217 standard
<TraxSpreadOrBenchmarkCurveData> N
The tier for which the quote is made
available. Must be a whole number
22500 TraxQuoteTier N
from 1 to 5, inclusive. Defaults to 3
when not provided.
Free form code to aid in identifying
and tracking the quote, such as
22501 TraxTraderID N
Trader ID or Book ID. Limited to 100
characters.
The number of seconds that the
quote remains live, counted from
22502 TraxQuoteExpiresIn N
TransactTime (60). In seconds, from 0
to 600, inclusive.
Required if publication flag is set to
22700 TraxWaiverFlag N Waiver. Supported values are: ILQD,
SIZE, or LRGS
Used to override publication
obligation rules with a specific
22701 TraxPublicationFlag N
publication instruction. Supported
values are: Y, N, or W
Market venue of quote. ISO 10383
22504 TraxLastMkt Y Market Identifier Code (MIC) values
(incl. XOFF, XXXX, SINT).

7.6 <TraxSpreadOrBenchmarkCurveData>
The <TraxSpreadOrBenchmarkCurveData> allows optional benchmark information to be provided when
sending a spread quote. The fields in this block are as follows.

Trax APA Quote Reporting via FIX v1.01 (1) Page 40 of 48


Tag Field Name Req? Comment
22684 TraxBenchmarkPrice N Specifies the price of the benchmark.
Identifies type of TraxBenchmarkPrice
(22684). Supported values are:
22685 TraxBenchmarkPriceType N
1 = Percentage
9 = Yield
The identifier of the benchmark security,
e.g. Treasury against Corporate bond.
22686 TraxBenchmarkSecurityID N
Requires TraxBenchmarkSecurityIDSource
(22687).
Required if TraxBenchmarkSecurityID
(22686) is specified. Identifies class or
source of the TraxBenchmarkSecurityID
22687 TraxBenchmarkSecurityIDSource N (22686) value.
Supported enumerations:
4 = ISIN
Identifies the Benchmark Curve Name of
22689 TraxBenchmarkCurveName N
the Benchmark rate index
Identifies the time period for the reference
22690 TraxBenchmarkCurvePoint N
Benchmark rate index

7.7 <QuotSetAckGrp>
The <QuotSetAckGrp> provides counting information relating to the number of quotes in the ack
message. Only fields that are present in all ack messages are marked as required. The fields in this block
are as follows.

Tag Field Name Req? Comment


296 NoQuoteSets Y The number of quote sets in the message.
Unique ID for the Quote Set that was
provided on the inbound MassQuote (i)
302 QuoteSetID Y
message. Must be the first field in the
repeating group.
Total number of quotes for the quote set ack
304 TotNoQuoteEntries Y
group.

Trax APA Quote Reporting via FIX v1.01 (1) Page 41 of 48


Tag Field Name Req? Comment
1168 TotNoCxldQuotes N Specifies the number of canceled quotes.
1169 TotNoAccQuotes N Specifies the number of accepted quotes.
1170 TotNoRejQuotes N Specifies the number of rejected quotes.
<QuotEntryAckGrp> Y

7.8 <QuotEntryAckGrp>
The <QuotEntryAckGrp> provides quote specific information relating to the transparency status of each
quote. Only fields that are present in all ack messages are marked as required. The fields in this block
are as follows.

Tag Field Name Req? Comment


The number of quote entries for a QuoteSet
295 NoQuoteEntries Y
Ack.
Uniquely identifies the quote across the
299 QuoteEntryID Y complete set of all quotes for a given quote
provider.
<Instrument> N
Identifies the status of an individual quote.
Supported enumerations:
1167 QuoteEntryStatus N
0 = Accepted
5 = Rejected
The reason for a quote waiver. Supported
22700 TraxWaiverFlag N
values are: ILQD, SIZE, or LRGS
Indicates the publication outcome.
22701 TraxPublicationFlag N
Supported values are: Y, N, or W
A human readable message containing
22702 TraxResponseText N
warning, rejection, or lifecycle messages.

7.9 <StandardTrailer>

Trax APA Quote Reporting via FIX v1.01 (1) Page 42 of 48


Tag Field Name Req? Comment
Always last field in the message. Always
10 CheckSum Y
unencrypted.

Trax APA Quote Reporting via FIX v1.01 (1) Page 43 of 48


8. Trax Customizations
This section contains the customizations of the standard FIX protocol (as of version 5.0 SP2 EP222)
adopted by Trax to support its business logic.

8.1 Extensions to Existing Fields/Blocks


Tag Field Name Action Datatype Description Add to /
Deprecate from
Message type or
Component block

22 SecurityIDSource CHANGE String Identifies class or


source of the
SecurityID (48) value.

104 = OTHR
(Concatenated ID)
(Security code
compliant with MiFID II
standardized
concatenation
requirement)
8.2 Custom Fields
Add to / Deprecate from
Tag # Field Name Action Datatype Description Message type or
Component block
22500 TraxQuoteTier New int The tier for which the quote is made <QuotEntryGrp>
available. Must be a whole number <QuotCxlEntriesGrp>
from 1 to 5, inclusive. Defaults to 3 <QuotEntryAckGrp>
when not provided.

When used in a cancel message, all


quotes for a given instrument are
cancelled when tier is not specified.
22501 TraxTraderID New string Free form code to aid in identifying <QuotEntryGrp>
and tracking the quote, such as Trader
ID or Book ID. Limited to 100
characters.

22502 TraxQuoteExpiresIn New int The number of seconds that the quote <QuotEntryGrp>
remains live, counted from
TransactTime (60). In seconds, from 0
to 600, inclusive.
22503 TraxMarketDepth New int Depth of market for Book Snapshot / <QuotEntryGrp>
Incremental updates
0 - full book depth
1 - top of book
2 and above - book depth (number of
levels)
Add to / Deprecate from
Tag # Field Name Action Datatype Description Message type or
Component block
22504 TraxLastMkt New string Market venue of quote. ISO 10383 <QuotEntryGrp>
Market Identifier Code (MIC) values
(incl. XOFF, XXXX, SINT).
22505 TraxSizeCurrency New currency Currency of the Bid and or Offer Size. <QuotEntryGrp>

22680 TraxBidPrice New price Price of the bid quote, expressed in <QuotEntryGrp>
TraxPriceType (22683) units.

22682 TraxOfferPrice New price Price of the offer quote, expressed in <QuotEntryGrp>
TraxPriceType (22683) units.

22683 TraxPriceType New int Indicates the type of price of the offer <QuotEntryGrp>
quote. Modifies TraxBidPrice (22680)
and TraxOfferPrice (22682).
Supported enumerations:
1 = Percentage (PERC)
2 = Per Unit (MONE)
6 = Spread (YIEL)
9 = Yield (YIEL)
22 = Basis Points (BAPO)
22684 TraxBenchmarkPrice New price Specifies the price of the benchmark. <TraxSpreadOrBenchmarkC
urveData>

22685 TraxBenchmarkPriceType New int Identifies type of TraxBenchmarkPrice <TraxSpreadOrBenchmarkC


(22684). Supported values are: urveData>
1 = Percentage
9 = Yield

Trax APA Quote Reporting via FIX v1.01 (1) Page 46 of 48


Add to / Deprecate from
Tag # Field Name Action Datatype Description Message type or
Component block
22686 TraxBenchmarkSecurityID New string The identifier of the benchmark <TraxSpreadOrBenchmarkC
security, e.g. Treasury against urveData>
Corporate bond. Requires
TraxBenchmarkSecurityIDSource
(22687).
22687 TraxBenchmarkSecurityIDS New string Required if TraxBenchmarkSecurityID <TraxSpreadOrBenchmarkC
ource (22686) is specified. Identifies class or urveData>
source of the
TraxBenchmarkSecurityID (22686)
value.
Supported enumerations:
4 = ISIN
22689 TraxBenchmarkCurveName New string Name of the benchmark curve. <TraxSpreadOrBenchmarkC
urveData>

22690 TraxBenchmarkCurvePoint New string Name of the curve point on the <TraxSpreadOrBenchmarkC
benchmark curve. urveData>

22700 TraxWaiverFlag New char MassQuote (i): Required if publication <QuotEntryGrp>


flag is set to Waiver. <QuotEntryAckGrp>

MassQuoteAck (b): The reason for a


quote waiver.

Supported values are: ILQD, SIZE, or


LRGS

Trax APA Quote Reporting via FIX v1.01 (1) Page 47 of 48


Add to / Deprecate from
Tag # Field Name Action Datatype Description Message type or
Component block
22701 TraxPublicationFlag New char MassQuote (i): Used to override <QuotEntryGrp>
publication obligation rules with a <QuotEntryAckGrp>
specific publication instruction.

MassQuoteAck (b): Indicates the


publication outcome.

Supported values are: Y, N, or W


22702 TraxResponseText New string A human readable message containing <QuotEntryAckGrp>
warning, rejection, or lifecycle
messages.

Trax APA Quote Reporting via FIX v1.01 (1) Page 48 of 48

You might also like