ClientFacing_ATS_FIX_(v1_1)(13AUG14)_

advertisement
FIX Specification
Millennium ATS Dark Pool Direct Order Routing
Version 13AUG14v1.1
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Table of Contents
Overview: ............................................................................................................................. 3
Hours of operation: ................................................................................................................. 3
ATS opening match: ............................................................................................................... 3
Introduction .......................................................................................................................... 3
Messaging ............................................................................................................................. 4
Message Headers and Trailers .................................................................................................. 4
Sessions ............................................................................................................................. 5
Logon
............................................................................................................................. 5
Logout
............................................................................................................................. 5
Administrative Messages ......................................................................................................... 5
Delayed and Stale Messages .................................................................................................... 6
Cancel On Disconnect ............................................................................................................. 6
Session Configurations ............................................................................................................ 6
Message Dictionary................................................................................................................. 7
Administrative Messages ......................................................................................................... 7
Inbound Messages - Tag 35 ..................................................................................................... 7
Outbound Messages - Tag 35................................................................................................... 7
Standard FIX Order Entry / Execution Messages ......................................................................... 8
Inbound Messages - Tag 35 ..................................................................................................... 8
Outbound Messages - Tag 35................................................................................................... 8
Message Formats ................................................................................................................... 9
Administrative Messages - Inbound .......................................................................................... 9
Logon (A)......................................................................................................................... 9
Logout (5) ........................................................................................................................ 9
Administrative Messages - Outbound ........................................................................................ 9
Logon (A)......................................................................................................................... 9
Logout (5) ........................................................................................................................ 9
Message Formats ..................................................................................................................10
New Order Single – (D) ........................................................................................................10
Order Cancel Request (F) .......................................................................................................13
Order Cancel/Replace Request (G) – Resting Order Only ........................................................14
Order Cancel/Replace Request (G) ..........................................................................................14
Order Status Request (H) .......................................................................................................14
Standard FIX Order/Execution Messages -- Outbound ................................................................15
Execution Report (8) .............................................................................................................15
Order Cancel Reject (9) .........................................................................................................17
Appendix A - Listed Symbol Suffixes .........................................................................................18
Appendix B - Order Capacity ...................................................................................................19
Appendix C - MinQty Functionality (Resting Orders) ...................................................................20
Millennium ATS Minimum Quantity Options and Results .............................................................21
Appendix D - MinQty Functionality (IOC Orders) .......................................................................22
Appendix E - Header Tags ......................................................................................................23
Page 2 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Overview:
Millenium ATSSM is The Convergex Millennium Alternative Trading System (ATS) is an automated
execution venue designed to maximize execution quality and reduce overall transaction costs. A
hybrid market system, Millennium enhances traditional auction markets by combining the electronic
execution technology of an ECN with the liquidity of traditional primary markets. Millennium offers
users the opportunity to achieve price or liquidity improvements while mitigating negative price impact
for institutional-size trades. Millennium leverages the power of the Convergex Marketplace and its
real-time matching algorithm executes trades at the midpoint of the National Best Bid and Offer
(NBBO).
Hours of operation:

The ATS is available between 7:00am - 5:00pm EST.

ATS will accept Resting orders beginning at 7:30am EST. Resting orders entered pre-market will
remain active until 4:00pm EST

ATS will accept IOC orders from 9:30am - 4:00pm EST. * (Holiday hours as the exception)

ATS matching will ONLY occur between 9:30am - 4:00pm EST. * (Holiday hours as the exception)
ATS opening match:
Resting orders will be accepted beginning at 7:30am EST and can be canceled at any time. A Symbol is
opened once the ATS receives the first round lot opening print on the primary listing market for that
symbol. At this point, all BUY orders priced at (or above) the opening price are matched with all SELL
orders priced at (or below) the opening price. Orders are matched at the opening price, in order, based
on time of entry. After the initial opening cross, the remaining unmatched orders are processed via
normal matching rules
Introduction
This document is a specification for interfacing with the Millennium Alternative Trading System
(ATS) using the FIX protocol for the purpose of entering orders and receiving executions.
NOTES:
NYFX – This is the mnemonic used for the Millennium ATS
Required Fields MUST be populated with a valid value, there will be NO exceptions.
Additional or unexpected FIX fields on all FIX messages will be ignored.
Page 3 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Messaging
Millennium ATS uses Version 4.2 of the FIX as the messaging format. The FIX session level and
message formats are supported as described in the FIX specifications.
Message Headers and Trailers
All messages contain the following standard header; additional header fields will be used by certain
categories of messages (e.g. Order related messages). Header, Body and trailer tags must comply
with FIX standard. *See appendix E for additional Header Tags and Execution Report response logic.
Tag
8
Field Name
BeginString
9
BodyLength
35
MsgType
34
43
49
MsgSeqNum
PossDupFlag
SenderCompID
50
SenderSubID
52
SendingTime
56
TargetCompID
57
TargetSubID
97
PossResend
115
OnBehalfOfCompID
116
OnBehalfOfSubID
122
OrigSendingTime
128
DeliverToCompID
129
DeliverToSubID
Comments
This must be the first field in the message, and must be set to
"FIX 4.2"
This must be the second field in the message, and is the message
length in bytes, forward from this field to the checksum.
This must be the third field in the message, and will have one of
the values listed in the Message Dictionary section.
Message sequence number.
REQUIRED if message is a retransmission.
Inbound Messages - ID of the user as assigned by the ATS.
Outbound messages - will be the inbound value of Tag 56
Maximum length: 12
Assigned value used to identify specific message originator.
Includes milliseconds except where the value is 0, where upon
the decimal point and the three zeroes are suppressed for
message brevity. Other timestamp fields will optionally contain
millisecond values.
Inbound messages - will be assigned
Outbound messages - ID of the user.
Assigned value used to identify specific individual or unit intended
to receive message. If SenderSubID tag 50 was sent, value will
be returned in Tag 57 TargetSubID.
REQUIRED if message may be a duplicate of another message
sent under a different sequence number.
Assigned value used to identify firm originating message if the
message was delivered by a third party i.e. the third party firm
identifier would be delivered in the SenderCompID field and the
firm originating the message in this field.
Assigned value used to identify specific message originator (i.e.
trader) if the message was delivered by a third party.
For messages with PossDupFlag = Y, indicates time that message
was first sent.
Assigned value used to identify the firm targeted to receive the
message if the message is delivered by a third party. If
OnBehalfOfCompID Tag 115 is sent value will be returned in tag
128.
Assigned value used to identify specific message recipient (i.e.
trader) if the message is delivered by a third party. If
OnBehalfOfSubID Tag 116 is sent value will be returned in tag
129.
Page 4 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
All messages contain the following standard trailer:
Tag
10
Field Name
CheckSum
Comments
Message Checksum - refer to FIX Protocol Specification for
details on how to calculate.
Sessions
ATS supports FIX sessions as described in the FIX Protocol Specification with a few modifications
described below. Refer to the specification for details of the FIX session layer. This section will simply
touch on the relevant messages.
Logon
The first message sent by a user after connection should be a FIX Logon message. If the user is
authenticated, the ATS will respond with a Logon message and the session is considered established.
*Maximum Message Size supported for a single message is 500 (Tag 383).
Logout
To end a session, either side may send a Logout message. The recipient should respond with a Logout
message and terminate the connection.
Administrative Messages
ATS will support the following administrative messages in regards to the session:

TEST REQUEST: This message will be sent if data has not been received for a configurable period
of time. The recipient should respond with a Heartbeat message.

HEARTBEAT: This message is sent in response to a Test Request and should also be generated if
no messages have been sent for the heartbeat interval. The minimum interval allowed is 5
seconds.

RESEND REQUEST: This message is sent if a sequence number gap is detected. This will request
the missed messages.

SEQUENCE RESET: This message is sent to fill gaps for messages that should not be
retransmitted, and to reset sequence numbers in a situation where message recovery is not
possible.
Page 5 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Delayed and Stale Messages

In the event the ATS receives a client’s New Order Single or a Cancel / Replace Request message
that is 15 seconds behind or in front of the current time, the ATS will reject (application level
reject) the order.

TransactTime (60) is a required field on New Order Single, Order Cancel Request and Order Cancel
Replace Request messages. If TransactTime (60) is not present the order will be rejected.
TransactTime must be in GMT Time

No checking is done on straight Order Cancel Request messages.

Stale messages off by 2 minutes compared to the current ATS time will result in a session
disconnect compliant with FIX standards.
Cancel On Disconnect
All open orders are cancelled when a user is disconnected, whether it is an abnormal disconnect or a
clean logoff.
Session Configurations
The following table indicates configurations that are available at the session level.
Configuration
Pending Messages
Send Breaks
Description
By default, the ATS will Suppress execution reports with Pending New,
Pending Cancel, and Pending Replace statuses.
By request, a user can be configured to receive these messages.
By default, the ATS will not send execution reports indicating breaks.
If a user wishes to receive these messages, the user will need to
certify for these messages and have this configuration turned on.
Page 6 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Message Dictionary
Administrative Messages
Inbound Messages - Tag 35
The following table lists the inbound messages from Users to Millennium ATS.
Msg Type
A
Message
Logon
5
Logout
Description
This is sent by the user after connection to identify and authenticate the
user and to establish a FIX session. The ATS will respond with a Logon
message to indicate success or failure of authentication.
This is sent by the user to terminate the FIX session and perform a
clean disconnect from the ATS. The ATS will send a Logout message
back and disconnect the connection.
Outbound Messages - Tag 35
The following table lists the outbound messages from Millennium ATS to the User.
Msg Type
A
5
j
3
Message
Logon
Logout
Business
Message
Reject
Session
Level
Reject
Description
This is a response to the Logon message.
This is a response to the Logout message.
A MsgType "j" will be sent when an application-level message which
fulfills session-level rules but does not fulfill application-level rules and
cannot be rejected via other means
When a bad request is received a FIX session level reject will be sent.
Page 7 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Standard FIX Order Entry / Execution Messages
Inbound Messages - Tag 35
The following table lists the inbound messages from the user to the ATS.
MsgType
D
Message
New Order
Single
F
Order Cancel
Request
Order Cancel
/ Replace
Request
Order Status
Request
G
H
Description
This will submit a new Resting or IOC Order to the ATS. The ATS
will respond with an Execution Report. Unsolicited Execution
Reports may follow.
This will cancel a previously entered Resting or IOC Order. The ATS
will respond with an Execution Report or Order Cancel Reject.
This will attempt to cancel a previously entered Resting or IOC
Order and replace it with a new Resting or IOC Order. The ATS will
respond with an Execution Report or Order Cancel Reject.
This will request the current status of a previously submitted
Resting or IOC Order. An Execution Report will be returned.
Outbound Messages - Tag 35
The following table lists the outbound messages from the ATS to the User.
MsgType
8
9
Message
Execution
Report
Order Cancel
Reject
Description
This message is used to communicate all status information about
an order. It is sent for rejection, acceptance, executions and
cancels.
By default transient statuses such as Pending New and Pending
Cancel are suppressed. By request a user can be configured to
receive these messages.
This message is sent to reject a cancel or a cancel/replace attempt.
Page 8 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Message Formats
The following tables indicate the usage of each of the FIX messages that are used by the ATS.
In addition to requirements for the standard FIX message header and trailer. The ATS uses exclusively
the FIX Tags defined in this section. Any other FIX Tags specified on inbound messages are ignored.
Administrative Messages - Inbound
Logon (A)
Tag
98
FieldName
EncryptMethod
Req'd
Y
108
HeartBtInt
Y
Description
Indicates if a message is using
secure authentication and the
encryption being used. This
should be set to '0' to indicate
no encryption for now.
Indicates interval for
heartbeats in seconds.
*Minimum Interval allowed is 5
seconds
Logout (5)
This is the standard FIX Logout message.
Administrative Messages - Outbound
Logon (A)
Tag
98
FieldName
EncryptMethod
Req'd
Y
108
HeartBtInt
Y
369
LastMsgSeqNumProcessed
N
Description
Will be set to '0' to indicate that
encryption is not currently
being used.
Indicates interval for
heartbeats in seconds.
*Minimum Interval allowed is 5
seconds
Indicates last message
sequence number processed.
Logout (5)
This is the standard FIX Logout message.
Tag
58
FieldName
Text
Req'd
N
335
TradeSesReqID
Y
Description
Optional text - This will often
be copyright or other notice
information passed on from the
execution service.
Maximum length: 40
Unique ID of a Trading Session
Status Message.
Page 9 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Message Formats
New Order Single – (D)
This message is used for submission of new Orders. Fields with a Maximum Length specified will be
strictly validated against this length and the message will be rejected with the appropriate reject
message if a field exceeds the specified maximum length.
Tag
1
Field Name
Account
Req'd
N
11
ClOrdID
Y
18
ExecInst
N
Description
Maximum length: 20 Alphanumeric
Account for user.
Maximum length: 40
Unique identifier for Order as assigned by user. Uniqueness
must be guaranteed within a single trading day and is the
responsibility of the user to guarantee.
All values on INBOUND messages cannot start or end in a
SPACE.
Leading Zero's will also cause the order to be REJECTED.
One or more space-separated execution instructions. Used to
specify a number of the attributes. Valid values are as follows:
M - Peg to Midpoint & Midpoint IOC; ONLY valid with Order
Type P (tag 40)
P – Peg to Market; ONLY valid with Order Type P (tag 40)
B - Block Minimum Quantity (Tag 110 MUST be Populated in
conjunction with tag 18=B. Executions must be greater than
or equal to the Min Qty
F - Fill Remaining Block Quantity in a Single Execution
(valid only when used with Tag 18=B and Tag 110)
X - Cancel Remainder after FIRST Minimum QTY Match
Tag 18 can be populated with either F or X but both values
cannot be in tag 18 on the same order.
38
OrderQty
Y
NOTE: Orders entered as Held (18=5) will be rejected back to
the client.
Maximum length: 8
Quantity of shares in an order.
Minimum order quantity is 100 shares.
ATS executes in round lots greater than or equal to 100
shares.
Odd Lots will be REJECTED.
40
OrdType
Y
44
Price
N
*Mixed Lots will be accepted; however the odd lot portion of
the order will be canceled back as an unsolicited cancel
following the last round lot execution.
Use only one of the following codes to indicate the Order type.
1 - Market Order - No Price
2 - Limit Order - Price Required
P - Pegged - Price Optional (Requires tag 18)
Price required for Limit Orders
Price optional for Pegged Orders
Price on Market Order will be rejected.
Page 10 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Tag
47
Field Name
OrderCapacity
Req'd
Y
49
50
SenderCompID
SenderSubID
Y
Y
54
Side
Y
55
Symbol
Y
59
TimeInForce
Y
60
TransactTime
Y
65
109
SymbolSfx
ClientID
N
N
110
MinQty
N
114
LocateReqd
N
Description
Capacity of executing firm. This value must be specified by the
user on every order.
If Capacity is not included the order will be REJECTED.
See Appendix B for valid values.
Assigned value used to identify firm sending message.
Maximum length: 12
Assigned value used to identify specific message originator.
1=Buy
2=Sell
5=Sell Short
6=Sell Short Exempt
Must be CAPITALIZED with no Spaces - See Appendix A for
symbology.
Valid values are as follows:
0 = DAY
3 = IOC (Immediate or Cancel)
6 = GTT Good Till Time
NOTE: If GTT is used, then ExpireTime must be specified in
one of the following tags: 126 (Time expressed as GMT)
TransactTime (60) is a required field on the New Order Single,
Order Cancel Request and Order Cancel Replace Request
messages. TransactTime (60) must be present or orders will be
rejected. The default stale time interval is 15 seconds behind
or ahead of the Millennium ATS system clock. TransactTime
must be in GMT Time.
For symbol suffixes see Appendix A.
MPID – required for customers that have an MPID
MinQty must be expressed in Round lots greater than or equal
to 100 shares. Mixed or Odd lots will cause the order to be
rejected.
See appendix C for additional MinQty options.
Required for Short Sale (Tag 54=5) and Short Sale Exempt
(Tag 54=6) locates.
Populate Tag 114 with a value of N to indicate the broker is
not required to locate. Tag 5700 is required when sending Tag
114 with a value of N.
Populate Tag 114 with a value of Y to indicate the broker is
responsible for locating the stock. Order rejected if Non BD.
115
OnBehalfOfCompID
N
116
OnBehalfOfSubID
N
For Broker Dealers Tag 114 is not required.
For Non-Broker Dealers Tag 114/Tag 5700 is required.
Assigned value used to identify firm originating message if the
message was delivered by a third party i.e. the third party firm
identifier would be delivered in the SenderCompID field and
the firm originating the message in this field.
Assigned value used to identify specific message originator
(i.e. trader) if the message was delivered by a third party.
Page 11 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Tag
126
Field Name
ExpireTime
(GMT Time)
Req'd
N
Description
TimeInForce tag 59 must equal 6 for tag 126 to be accepted.
Expiration time must be expressed in UTC (Universal Time
Coordinated, also known as "GMT") The smallest acceptable
increment is Seconds. Example: 126=20130108-14:52:22
5700
LocateBroker
N
* All orders expire at the end of the day's trading session
Maximum length: 30-char
Locate Broker is required when Tag 114=N
Page 12 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Order Cancel Request (F)
This message is used to cancel a previously submitted Order. Orders in Millennium ATS can be
cancelled at any time by the originating user or by a system administrator.
Tag
11
Field Name
ClOrdID
Req'd
Y
41
54
OrigClOrdID
Side
Y
Y
55
Symbol
Y
60
TransactTime
Y
65
SymbolSfx
N
Description
Maximum length: 40
Unique identifier for Order as assigned by user. Uniqueness must be
guaranteed within a single trading day, and is the responsibility of
the user to guarantee.
All values on INBOUND messages cannot start or end in a SPACE.
Leading Zero's will also cause the order to be REJECTED.
Original user reference number for the Resting Order.
1=Buy
2=Sell
5= Sell Short
6=Sell Short Exempt
Must be CAPITALIZED with no Spaces - See Appendix A for
symbology.
TransactTime (60) is a required field on the New Order Single,
OrderCancel Request and Order Cancel Replace Request messages.
TransactTime (60) must be present or orders will be rejected.
For symbol suffixes see Appendix A.
Page 13 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Order Cancel/Replace Request (G) – Resting Order Only
The originating user can modify Resting Orders at any time. If a user has successfully modified a
Resting Order, that Resting Order will be subjected to the same validation and processing that is
applied to newly submitted Resting Orders. The following defines which data fields can be modified.
Certain data fields cannot be modified to ensure the correct handling of the Resting Order within ATS
and to guarantee the integrity of the audit trail for the ATS. When Resting Orders are modified,
priority will be re-evaluated for the Resting Order. Order quantity reduction is the only change that will
retain order standing.
Only a limited number of fields can be changed via the cancel/replace request message. All other
fields should be retransmitted assent in the original order. The fields which can be changed via this
message are:
Fields permissible for modification:
ExecInst (Tag 18)
Quantity (Tag 38)
Price (Tag 44)
TIF (Tag 59)
MinQty (Tag 110)
ExpireTime (Tag 126)
Order Cancel/Replace Request (G)
The following fields are required to be revised as follows. All other fields should be retransmitted as
sent in the original order.
Tag
11
41
Field Name
ClOrdID
OrigClOrdID
Req' d
Y
Y
Description
Maximum length: 40
Unique identifier for Order as assigned by user. Uniqueness
must be guaranteed within a single trading day, and is the
responsibility of the user to guarantee.
All values on INBOUND messages cannot start or end in a
SPACE.
Leading Zero's will also cause the order to be REJECTED.
Original client reference number for the Resting Order.
Order Status Request (H)
Tag
11
Field Name
ClOrdID
Req'd
Y
54
55
Side
Symbol
Y
Y
65
SymbolSfx
N
Description
Maximum length: 40
Unique identifier for Order as assigned by client. Uniqueness
must be guaranteed within a single trading day, and is the
responsibility of the user to guarantee.
All values on INBOUND messages cannot start or end in a
SPACE.
Leading Zero's will also cause the order to be REJECTED.
1=Buy 2=Sell 5= Sell Short 6=Sell Short Exempt
Must be CAPITALIZED with no Spaces - See Appendix A for
symbology.
For symbol suffixes see Appendix A.
Page 14 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Standard FIX Order/Execution Messages -- Outbound
Execution Report (8)
Tag
1
Field Name
Account
Description
Maximum length: 20
6
AvgPx
11
ClOrdID
14
17
CumQty
ExecID
18
ExecInst
Average price of all executions for this ticket - 0 if there are no
executions.
Maximum length: 40
Client order reference number.
Quantity of order that has been executed.
Maximum length: 20
If this message is reporting an execution, this will be the unique
execution identifier assigned by the ATS. Otherwise it will be 0.
One or more space-separated execution instructions. Used to specify
a number of the attributes. Valid values are as follows:
M - Peg to Midpoint & Midpoint IOC; ONLY valid with Order Type P
(tag 40)
B - Block Minimum Quantity (Tag 110 MUST be Populated in
conjunction with tag 18=B. Executions must be greater than or
equal to the Min Qty
F - Fill Remaining Block Quantity in a Single Execution
(valid only when used with Tag 18=B and Tag 110)
X - Cancel Remainder after FIRST Minimum QTY Match
19
ExecRefID
20
ExecTransType
29
30
31
32
37
LastCapacity
LastMkt
LastPx
LastShares
OrderID
38
OrderQty
Tag 18 can be populated with either F or X but both values cannot
be in tag 18 on the same order.
Maximum length: 20
Reference identifier used with Cancel and Correct Transaction types.
Valid values:
0 – Standard execution report
1 - Trade break – Both sides of the trade
3 - Status execution report
Note that breaks and corrections are only sent if the user is
configured for them.
1 - Agent
This will be set to 13.
Price of execution. 0 if not reporting an execution.
Quantity of execution. 0 if not reporting an execution.
Maximum length: 20
Unique Order identifier assigned by Millennium ATS.
Maximum length: 8
Quantity of shares in an order.
Minimum order quantity is 100 shares.
ATS executes in round lots greater than or equal to 100 shares.
Odd Lots will be REJECTED.
*Mixed Lots will be accepted; however the odd lot portion of the
order will be canceled back as an unsolicited cancel following the last
round lot execution.
Page 15 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Tag
39
Field Name
OrdStatus
40
OrdType
41
OrigClOrdID
47
54
Rule80A
(Capacity)
Side
55
Symbol
57
TargetSubID
58
59
60
65
76
103
Text
TimeInForce
TransactTime
SymbolSfx
ExecBroker
OrdRejReason
109
ClientID
110
128
MinQty
DeliverToCompID
129
DeliverToSubID
150
ExecType
151
9730
LeavesQty
LiquidityFlag
Description
Status of the order after applying the execution report Standard FIX
values for this field are used.
1 - Market - No Price
order is priced to the Opposite side of the market
2 - Limit - Price Required
P - Pegged - Price Optional (Requires tag 18=M)
Maximum length: 40
Original client order reference number, if this is in reference to a
cancel or replace operation.
Capacity of executing firm. This value must be specified by the user
on every order.
1=Buy
2=Sell
5= Sell Short
6=Sell Short Exempt
Must be CAPITALIZED with no Spaces - See Appendix A for
symbology.
Assigned value used to identify specific individual or unit intended to
receive message. If SenderSubID tag 50 was sent, value will be
returned in Tag 57 TargetSubID.
Optional text - may indicate reason for a rejection or may be text
Time in Force of order.
Required for an execution - Indicates time of execution.
For symbol suffixes see Appendix A.
NYFX
Reason code for rejection if order was rejected
0 - Other
1 - Unknown Symbol
2 - Millennium Closed
4 – Order Exceeds Limit
5 - Too Late to Enter
6 - Unknown Order
7 - Duplicate Order (e.g. Dupe ClOrdID)
8 - Stale Order
MPID – required for customers that have an MPID
Minimum Quantity value
Assigned value used to identify the firm targeted to receive the
message if the message is delivered by a third part. If
OnBehalfOfCompID Tag 115 is sent value will be returned in tag
128.
Assigned value used to identify specific message recipient (i.e.
trader) if the message is delivered by a third party. If
OnBehalfOfSubID Tag 116 is sent value will be returned in tag 129.
Action being reported by this execution report. Standard FIX values
for this field are used.
Quantity of order remaining open after this execution.
A - Trade added as Provider of liquidity
T - Trade removed as Taker of liquidity
Page 16 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Order Cancel Reject (9)
Tag
11
Field Name
ClOrdID
37
OrderID
39
41
OrdStatus
OrigClOrdID
102
CxlRejReason
434
CxlRejResponseTo
Description
Maximum length: 40
Client reference number for cancel.
Maximum length: 20
Unique Order identifier assigned by Millennium ATS.
Current status of the Resting or IOC Order.
Maximum length: 40
Client reference number for the Resting or IOC Order.
Reason for cancel rejection - Refer to Text field for details of
rejection.
Indicates if this is rejecting a cancel or a replace operation.
Page 17 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Appendix A - Listed Symbol Suffixes
Millennium ATS provides support for listed symbols with suffixes, such as preferred, whenissued, and different class shares. Millennium ATS offers two formats for configuring listed
symbol suffixes.
Orders can be submitted with Symbol and SymbolSfx grouped together in Tag 55 or separately with
Symbol in Tag 55 and SymbolSfx in Tag 65.
DESCRIPTION
SYMBOLSFX (TAG 55)
SYMBOLSFX (TAG 65)
Called
*
CL
Class A - Z
.A
A
Class A - Z Called
.A*
ACL
Class A-Z When Distributed
.A$
AWD
Class A - Z When Issued
.A#
AWI
Convertible
%
CV
Preferred
-
PR
Preferred Called
-*
PRCL
Preferred Class A - Z
-A
PRA
Preferred Class A – Z Called
-A*
PRACL
Preferred Class A – Z When-Distributed
-A$
PRAWD
Preferred Class A – Z When-Issued
-A#
PRAWI
Preferred When-Distributed
-$
PRWD
Preferred When-Issued
-#
PRWI
Right
?
RT
Right Class A – Z
?A
RTA
Right Class A When-Issued
?A#
RTWIA
Right When-Issued
?#
RTWI
Unit
=
UT
Warrant
+
WS
Warrant Class A – Z
+A
WSA
Warrant Class A When-Issued
+A#
WSWIA
Warrant When-Issued
+#
WSWI
When-Distributed
$
WD
When-Issued
#
WI
Page 18 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Appendix B - Order Capacity
Below are the ONLY valid values that will be accepted by Millennium ATS.
Tag
47
Field Name
OrderCapacity
Req'd
Y
Description
Maximum Length: 1
A = Agency single order
C = Program Order, non-index arbitrage, for Member firm/org
D = Program Order, index arbitrage, for Member firm/org
I = Individual Investor, single order
J = Program Order, index arbitrage, for individual customer
K = Program Order, non-index arbitrage, for individual customer
P = Principal
Q = Error
U = Program Order, index arbitrage, for other agency
Y = Program Order, non-index arbitrage, for other agency
NOTE: ATS will only Print as A or P.
Page 19 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Appendix C - MinQty Functionality (Resting Orders)
Examples assume the other side of the trade is available
EXAMPLES:
Tag 110 Only
Allows aggregated quantities ≥ the submitted MinQty as well as block executions ≥ the submitted
MinQty. Once the LeavesQty becomes < the MinQty the order is treated as a regular order.
Example: 5,000 share order with tag 110=1000 Execution 1 occurs as ten lots of 100 shares.
Execution 2 occurs in one lot of 3100 shares. Execution 3 occurs in one lot of 100 shares
execution 4 occurs in one lot of 800 shares.
Tag 110 plus Tag 18=B
This combination of instructions indicates that the MinQty is a Block Minimum. Executions must be ≥
the MinQty value. When the LeavesQty becomes < the MinQty the order will be Cancelled back.
NOTE: Tag 110 must be populated when using 18=B
Example: 5,000 share order with tag 110=1000 and 18=B Execution 1 occurs as a single
execution of 4100 shares, LeavesQty of 900 shares are Cancelled back.
Tag 110 plus Tag 18=B F
This combination of instructions indicates that the MinQty is a Block Minimum. Executions must be ≥
the MinQty value. When the remaining LeavesQty becomes < the stated MinQty the remaining piece
will be executed as a single execution.
NOTE: Tag 110 must be populated when using 18=B and F
Example: 5,000 share order with tag 110=1000 and tag 18=B F Execution 1 occurs as a single
execution of 4100 shares, Execution 2 executes in a single execution of 900 shares.
Tag 110 plus Tag 18=X
Allows Millennium to aggregate quantities ≥ the submitted MinQty. Following the first Execution
(either as1 execution or multiple) the remaining LeavesQty will be cancelled back.
Example: 5,000 share order with tag 110=1000 and tag 18=X Execution 1 occurs as ten lots
of 100 shares. LeavesQty of 4000 is Cancelled back.
Example: 5,000 share order with tag 110=1000 and tag 18=X Execution 1 occurs as a single
execution of 1500 shares. LeavesQty of 3500 is cancelled back.
Tag 110 plus Tag 18= B X * Tag 110 must be populated when using 18=B
This combination of instructions indicates that the MinQty is a Block Minimum. Executions must be ≥
the MinQty value. Following the first Block Execution the remaining LeavesQty will be cancelled back.
Example: 5,000 share order with tag 110=1000 and tag 18=B X Execution 1 occurs as a
single execution of 1000 shares. LeavesQty of 4000 is cancelled back.
Page 20 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Millennium ATS Minimum Quantity Options and Results
Execution Handling Result to LeavesQty
Tag 110 Tag 18
(Shares)
5000
Aggregate Block
Fills
Fills
•
5000
B
5000
BF
5000
X
5000
BX
Cancel order Cancel order Single Fill
when
after FIRST once
<MinQty
execution
<MinQty
•
•
•
•
•
•
Order becomes a
regular order
(Executions can
occur in single lots
of≥ 100)
•
•
•
•
•
* Tag 110 required when using 18=B or B F
Page 21 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Appendix D - MinQty Functionality (IOC Orders)
Examples assume the other side of the trade is available
Tag 110 Only
Allows aggregated quantities ≥ the submitted MinQty as well as block executions ≥ the submitted
MinQty.
Example: 5,000 share order with tag 110=1000
Execution 1 occurs as ten lots of 100
shares. LeavesQty of 4000 shares are Cancelled back because the order type is IOC
Example: 5,000 share order with tag 110=1000
Execution 1 occurs one lot of 1000
shares. LeavesQty of 4000 shares are Cancelled back because the order type is IOC
Tag 110 plus Tag 18=B * Tag 110 required when using tag 18=B
This combination of instructions indicates that the MinQty is a Block Minimum. Executions must be ≥
the MinQty value.
NOTE: Tag 110 required when using tag 18=B
Example: 5,000 share order with tag 110=1000 and tag 18=B Execution 1 occurs as a single
execution of 2500 shares LeavesQty of 2500 shares are Cancelled back because the order type
is IOC.
Execution Handling
Tag 110 (Shares)
Tag 18
5000
5000
Aggregate Fills
Block Fills
•
B
•
•
Note: Tag 110 required when using 18=B
Page 22 of 23
MILLENNIUM ATS
4.2 FIX SPECIFICATION
Appendix E - Header Tags
Millennium ATS additional Header Tags and Matching Execution Report logic
Millennium ATS follows the standard FIX 4.2 Protocol for header tag value exchange between
messages. The following table reiterates this logic beyond the required CompID tags of 49 and 56 as it
pertains to Millennium ATS and an interfacing party (point-to-point or third-party session):
User Sent values on 35=D and 35=G
messages
Tag
Field Name
The ATS corresponding Execution Report
35=8, 35=9 and 35=3 messages
Tag
Field Name
50
SenderSubID
57
TargetSubID
115
OnBehalfOfCompID
128
DeliverToCompID
116
OnBehalfOfSubID
129
DeliverToSubID
128
DeliverToCompID
None - sent value will not be echoed
129
DeliverToSubID
None - sent value will not be echoed
Notes:
All header tags must precede the first body tag in the message. If tags are not in proper order,
Millennium ATS will respond with a session-level reject (35=3) indicating the issue.
This header tag logic applies to both Order and Drop Copy messages.
Page 23 of 23
Download