TRACK DATA SECURITIES
FIX SPECIFICATION
REGULATION
NMS
Oct 09, 2006
|
Introduction............................................................................................................................................................ |
3 | ||
|
Order Handling Procedure........................................................................................................................... |
3 | ||
|
Order Matching and Routing............................................................................................................................... |
3 | ||
|
Posting to the Book............................................................................................................................................... |
3 | ||
|
Fix Protocol............................................................................................................................................................. |
4 | ||
|
SESSION PROTOCOL................................................................................................................................................. |
4 | ||
|
Message header...................................................................................................................................................... |
4 | ||
|
Message trailer....................................................................................................................................................... |
5 | ||
|
ADMINISTRATIVE MESSAGES.............................................................................................................................. |
5 | ||
|
Heartbeat................................................................................................................................................................. |
5 | ||
|
Logon Message....................................................................................................................................................... |
5 | ||
|
Test Request............................................................................................................................................................. |
5 | ||
|
Resend Request....................................................................................................................................................... |
6 | ||
|
Reject........................................................................................................................................................................ |
6 | ||
|
Sequence Reset / Gap Fill.................................................................................................................................... |
6 | ||
|
Logout...................................................................................................................................................................... |
6 | ||
|
APPLICATION MESSAGES...................................................................................................................................... |
7 | ||
|
New Order – Single................................................................................................................................................ |
7 | ||
|
Execution Report.................................................................................................................................................... |
9 | ||
|
Order Cancel Request......................................................................................................................................... |
11 | ||
|
Order Cancel Reject............................................................................................................................................ |
11 | ||
|
Appendix A................................................................................................................................................................. |
12 | ||
|
Symbol Suffixes................................................................................................................................................. |
12 | ||
|
|
|||
| Track Data Securities |
2 |
FIX Specification |
Track ECN offers a highly competitive alternate method for routing orders. We have built a very fast, reliable system that can both match and route orders. If we cannot immediately match an order, we use a proprietary algorithm to determine the next best ECN or Market Maker for matching the order. Our direct connections to other ECNs and Nasdaq allow us to fill the order without the need for our subscribers to have additional connections to other ECNs. Because of our ability to match and route, we are a One-Stop-Shop. There is no need to route anywhere else.
An order is generally matched against the best price on the Market, whether on the Track Order Book or elsewhere, unless the incoming order is flagged for special handling as decribed later in this document.
Limit orders are first matched against the Order Book at a price equal to or better than the given price, if the price is the equal to the BBO. Market orders are first matched against the Order Book at the current market price.
If no matching order is available on the Book at the best price, the ECN will attempt to route the order to another venue for execution. At each price level the ECN will first look at the Book for a match, and only if no such match exists will it attempt to route the order out.
There are certain scenarios that will cause an order not to be matched or routed (see “Non-Routed Orders” and “Intermarket Sweep Orders” in the “New Order – Single” description).
Any quantity of a non-marketable order (ie, an order that is worse than the best price and thus could not be routed or matched) that remains unfilled will be added to the Book at the given limit price.
Marketable orders (ie, a market order or limit order that is equal to or better than the best price on the market) are normally matched or routed to Market Makers and/or ECNs that can fill the order. However, if the order is flagged as a Keep On Book (add liquidity) order (see “Non-Routed Orders” in the “New Order – Single” description), or it is a Short Sale order on a down tick, we will not match or route the order, leaving us with a marketable order that is to be put on the book. These will be quoted on Nasdaq Level II at a penny worse than the current market on the opposite side of the order, thereby positioning the order at the inside of the market. That is, an order to buy will display at one penny below the current “best” offer price, and an order to sell will display at one penny above the current “best” bid price. As the market moves, the ECN will update the displayed price, up to the limit specified on the order, to keep the order on the inside.
Immediate-or-Cancel orders and Intermarket Sweep Orders are never posted to the Book.
| Track Data Securities |
3 |
FIX Specification |
A
standard header precedes each administrative or application message. The header identifies the message type,
length, destination, sequence number, origination point and time.
Two fields help with re-sending messages. The PossDupFlag is set to Y when re-sending a message as the result of a session level event (i.e. the retransmission of a message reusing a sequence number). The PossResend is set to Y when reissuing a message with a new sequence number (e.g. re-sending an order). The receiving application should process these messages as follows:
PossDupFlag - if a message with this
sequence number has been previously received, ignore message, if not, process
normally.
PossResend - forward message to
application and determine if previously received (i.e. verify order id and parameters).
The
message header format is as follows:
Message Header
|
Tag |
Field Name |
Req'd |
Comments |
|
8 |
BeginString |
Y |
FIX.4.1
|
|
9 |
BodyLength |
Y |
|
|
35 |
MsgType |
Y |
|
|
49 |
SenderCompID |
Y |
|
|
56 |
TargetCompID |
Y |
|
|
115 |
OnBehalfOfCompID |
N |
Trading
partner company ID used when sending messages via a third party |
|
128 |
DeliverToCompID |
N |
Trading
partner company ID used when sending messages via a third party. |
|
34 |
MsgSeqNum |
Y |
|
|
50 |
SenderSubID |
N |
Not
used. |
|
57 |
TargetSubID |
N |
“ADMIN”
reserved for administrative messages not intended for a specific user. Not
used. |
|
116 |
OnBehalfOfSubID |
N |
Trading
partner SubID used when delivering messages via a third party. Not used. |
|
129 |
DeliverToSubID |
N |
Trading
partner SubID used when delivering messages via a third party. Not used. |
|
43 |
PossDupFlag |
N |
Always
required for retransmitted messages, whether prompted by the sending system
or as the result of a resend request.
|
|
97 |
PossResend |
N |
Required
when message may be duplicate of another message sent under a different
sequence number. |
|
52 |
SendingTime |
Y |
|
|
122 |
OrigSendingTime |
N |
Required
for message resends. If data is not
available set to same value as SendingTime
|
| Track Data Securities |
4 |
FIX Specification |
Message Trailer
|
Tag |
Field Name |
Req'd |
Comments |
|
10 |
CheckSum |
Y |
|
The
administrative messages are utility needs of the protocol. The following section describes each message
and provides the message layout.
Heartbeat
|
Tag |
Field Name |
Req'd |
Comments |
|
|
Standard Header |
Y |
MsgType
= 0 |
|
112 |
TestReqID |
N |
Required
when the heartbeat is the result of a Test Request message. |
|
|
Standard Trailer |
Y |
|
Sequence numbers will be reset at the start of each Trading day.
Logon
|
Tag |
Field Name |
Req'd |
Comments |
|
|
Standard Header |
Y |
MsgType
= A |
|
98 |
EncryptMethod |
Y |
Value
= 0 (Zero) |
|
108 |
HeartBtInt |
Y |
Value
= 30 or 60 (seconds) |
|
|
Standard Trailer |
Y |
|
Test Request
|
Tag |
Field Name |
Req'd |
Comments |
|
|
Standard Header |
Y |
MsgType
= 1 |
|
112 |
TestReqID |
Y |
|
|
|
Standard Trailer |
Y |
|
| Track Data Securities |
5 |
FIX Specification |
Resend Request
|
Tag |
Field Name |
Req'd |
Comments |
|
|
Standard Header |
Y |
MsgType
= 2 |
|
7 |
BeginSeqNo |
Y |
|
|
16 |
EndSeqNo |
Y |
|
|
|
Standard Trailer |
Y |
|
Whenever possible, it is strongly recommended that the cause of
the failure be described in the Text field (e.g. INVALID DATA - FIELD 35).
Reject
|
Tag |
Field Name |
Req'd |
Comments |
|
|
Standard Header |
Y |
MsgType
= 3 |
|
45 |
RefSeqNum |
Y |
MsgSeqNum
of rejected message |
|
58 |
Text |
N |