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.
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.
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
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
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.
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.
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".
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 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.
The following section highlights the specific FIX schema changes to support Strategy Creation and Request for Quote (RFQ) functionality.
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. |
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 |
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. |