TT® FIX Order Routing

FIX Strategy Creation and RFQ Support

FIX Strategy Creation and RFQ Support

Overview

TT FIX Order Router supports submitting Security Definition Request (Tag 35=c) messages to create strategies and Quote Request (Tag 35=R) messages for Request for Quote (RFQ) functionality.

Strategy Creation

The Security Definition Request (Tag 35=c) defines a specific security at the exchange. You can define a multileg security made up of one or more instrument legs.

Once you submit the request, TT detects if the security already exists in the system and sends a Security Definition (Tag 35=d) message for the instrument. If the instrument does not exist, the FIX Order Routing service forwards the request and waits for a response from the exchange.

Strategy Creation - Success

When an instrument is created successfully, FIX Order Routing service responds with a Security Definition (Tag 35=d) message with the SecurityResponseType (Tag 323) set to either:

323=1: Accept Instrument proposal as-is

-- or --

323=2: Accept Instrument proposal w/ changes indicated

Strategy Creation - Reject

If the instrument is not created successfully, the FIX Order Routing service responds with a Security Definition (Tag 35=d) message and SecurityResponseType (Tag 323) set to:

323=5: Reject Instrument Proposal

Security Definition Changes

The Security Definition Request (Tag 35=c) message has been updated to match the Instrument and InstrumentLeg components as defined on the Security Definition (Tag 35=d) message.

Note The new tags added to the Security Definition Request (Tag 35=c) are only valid when submitting requests via FIX Order Routing sessions.

Request for Quote (RFQ)

The Quote Request (Tag 35=R) message is used to submit Request for Quotes (RFQs) from market makers and brokers in the marketplace prior placing an order. This occurs commonly for multileg strategies where there is insufficient liquidity to get the best price for the instrument.

Request for Quote - Success

For successful RFQ requests, the FIX Order Session sends a Quote Request Response (Tag 35=b) message with the following values:

QuoteAckStatus (Tag 16859): equals 0, "ok".

Request for Quote - Reject

If the RFQ request is unsuccessful for any reason, the FIX Order Session sends a Quote Request Response (Tag 35=b) message with the following values:

QuoteReqID (Tag 131): equals the unique ID for the request.

QuoteRejectReason (Tag 300): equals the reason for the reject.

Quote Response Changes

Quote response messages (Quote Request (Tag 35=R)) are also sent via the FIX Market Data feed to both API and client applications. Quote responses are not sent over the FIX Order Routing session.

Note The new tags added to the (R) message are valid for use in submission of request messages to FIX Order Routing sessions only. FIX Market Data sessions that subscribe for (R) messages are not impacted by the schema change.

FIX Schema Changes

The following section highlights the specific FIX schema changes to support Strategy Creation and Request for Quote (RFQ) functionality.

Message type (35=c) - SecurityDefinitionRequest

The Security Definition Request (35=c) message sent via the FIX Order Routing Service includes a number of tags to support strategy creation and request for quote functionality. These tags are only included with Order Routing Security Definition Request (35=c) messages and do not appear in the FIX Market Data service.

Group

FIX Field

Type

Comment

Root

Account (tag 1)

STRING

Added to message for FIX Order Routing sessions.

Root

SecuritySubType (tag 762)

STRING

Added to message for FIX Order Routing sessions.

Required for certain exchanges. If not present, the exchange may reject the request.

NoLegs

NoLegs (tag 555)

NUMINGROUP

LegPrice (tag 566)

LegSymbol (tag 600)

LegSecurityID (tag 602)

LegIDSource (tag 603)

LegProduct (tag 607)

LegCFICode (tag 608)

LegSecurityType (tag 609)

LegMaturityMonthYear (tag 610)

LegMaturityDate (tag 611)

LegStrikePrice (tag 612)

LegOptAttribute (tag 613)

LegSecurityExchange (tag 616)

LegRatioQty (tag 623)

LegSide (tag 624)

LegSecuritySubType (tag 764)

OptionDelta (tag 811)

LegPutOrCall (tag 1358)

LegDeliveryTerm (tag 18212)

LegDeliveryDate (tag 18213)

LegMaturityDay (tag 18314)

LegExDestination (tag 18100)

LegContractYearMonth (tag 18224)

PRICE

STRING

STRING

STRING

INT

STRING

STRING

MONTHYEAR

LOCALMKTDATE

PRICE

CHAR

EXCHANGE

FLOAT

CHAR

STRING

FLOAT

INT

CHAR

LOCALMKTDATE

DAYOFMONTH

EXCHANGE

STRING

Added to message for FIX Order Routing sessions.

The NoLegs repeating group and its fields are introduced to support Strategy creation via FIX Order Routing by passing individual underlying legs via the 6xx repeating groups.

Message type (35=R) - Quote Request

Group

FIX Field

Type

Comment

Root

IDSource (tag 22)

STRING

Added to message for FIX Order Routing sessions.

Root

Account (tag 1)

STRING

Added to message for FIX Order Routing sessions.

Root

UserID (tag 18102)

STRING

Added to message for FIX Order Routing sessions.

NoRelatedSym -> NoSecurityAltID

NoSecurityAltID (tag 454)

NUMINGROUP

Added to message for FIX Order Routing sessions.

Added to support multi leg lookup.

SecurityAltID (tag 455)

SecurityAltIDSource (tag 456)

BloombergSecurityExchange (tag 16207)

STRING

STRING

STRING

NoRelatedSym -> NoLegs

NoLegs (tag 555)

NUMINGROUP

Added to message for FIX Order Routing sessions.

To support multi leg lookup similar to other messages like NewOrderMultiLeg etc.

LegPrice (tag 566)

LegSymbol (tag 600)

LegSecurityID (tag 602)

LegIDSource (tag 603)

LegProduct (tag 607)

LegCFICode (tag 608)

LegSecurityType (tag 609)

LegMaturityMonthYear (tag 610)

LegMaturityDate (tag 611)

LegStrikePrice (tag 612)

LegOptAttribute (tag 613)

LegSecurityExchange (tag 616)

LegRatioQty (tag 623)

LegSide (tag 624)

LegSecuritySubType (tag 764)

LegSecurityDesc (tag 620)

LegPutOrCall (tag 1358)

LegDeliveryTerm (tag 18212)

LegDeliveryDate (tag 18213)

LegMaturityDay (tag 18314)

LegExDestination (tag 18100)

LegCurrency (tag 556)

PRICE

STRING

STRING

STRING

INT

STRING

STRING

MONTHYEAR

LOCALMKTDATE

PRICE

CHAR

EXCHANGE

FLOAT

CHAR

STRING

STRING

INT

CHAR

LOCALMKTDATE

DAYOFMONTH

EXCHANGE

CURRENCY

NoRelatedSym -> NoLegs -> NoLegSecurityAltID

NoLegSecurityAltID (tag 604)

NUMINGROUP

Added to message for FIX Order Routing sessions.

To support multi leg lookup similar to other messages like NewOrderMultiLeg etc.

LegSecurityAltID (tag 605)

LegSecurityAltIDSource (tag 606)

LegBloombergSecurityExchange (tag 16616)

STRING

STRING

STRING

New message type (35=b) - Quote Request Response (ADDED)

Group

FIX Field

Type

Comment

Root

QuoteReqID (tag 131)

STRING

Added to message for FIX Order Routing sessions.

Maps to the QuoteReqID (tag 131) in the RFQ request (35=R)

Root

Account (tag 1)

STRING

Added to message for FIX Order Routing sessions.

Root

ExecID (tag 17)

STRING

Added to message for FIX Order Routing sessions.

Root

QuoteAckStatus (tag 16859)        

INT

Added new field

Mappings:

QUOTE_REQUEST_STATUS_OK = 0

QUOTE_REQUEST_STATUS_REJECTED = 5

Root

AccountID (tag 18101)

STRING

Added to message for FIX Order Routing sessions.

Root

UserID (tag 18102)

STRING

Added to message for FIX Order Routing sessions.

Root

OrderSource (tag 16117)

INT

Added to message for FIX Order Routing sessions.

Root

ManualOrderIndicator (tag 1028)

BOOLEAN

Added to message for FIX Order Routing sessions.

Root

OrderID (tag 37)

STRING

Added to message for FIX Order Routing sessions.

Root

OrderOriginator (tag 1724)

INT

Added to message for FIX Order Routing sessions.

Root

OrderQty (tag 38)

QTY

Added to message for FIX Order Routing sessions.

Root

SecondaryOrderID (tag 198)

STRING

Added to message for FIX Order Routing sessions.

Root

SecurityDesc (tag 107)

STRING

Added to message for FIX Order Routing sessions.

Root

Side (tag 54)

CHAR

Added to message for FIX Order Routing sessions.

Root

Text (tag 58)

STRING

Added to message for FIX Order Routing sessions.

Root

TransactTime (tag 60)

UTCTIMESTAMP

Added to message for FIX Order Routing sessions.

Root

CustOrderCapacity (tag 582)

INT

Added to message for FIX Order Routing sessions.