Direct Edge Portalsm
FIX Application Programming Interface (API) Specification
Date: 11/26/2008
Version: 2.37
|
||
|
Table Of Contents
1.1 General Criteria – Used in ALL FIX Messages
1.3 Data Types – Used in All FIX Messages
2.0 General FIX Message Structure
3.2 Logon - Response From Direct Edge ECNsm
3.3 HeartBeat - From Direct Edge ECNsm and Client
3.4 TestRequest - From Direct Edge ECNsm and Client
3.5 Resend - From Direct Edge ECNsm and Client
3.6 Reject - From Direct Edge ECNsm and Client
3.7 SequenceReset/GapFill - From Direct Edge ECNsm and Client
3.8 Logout - From Direct Edge ECNsm and Client
4.1 New Order Single - From Client
4.2 Execution Report – GENERIC EXECUTION REPORT From Direct Edge ECNsm
4.3 Execution Report - New Order or Cancel/Replace - From Direct Edge ECNsm
4.4 Execution Report - Filling Status From Direct Edge ECNsm
4.5 Execution Report - Order Status from Direct Edge ECNsm
5.1 Order Cancel – From Client
5.2 Order Cancel Replace Request – From Client
5.3 Order Cancel Reject - From Direct Edge ECNsm
6.2 Regular FIX Communications
6.6 NYSE and AMEX Listed Symbol Suffixes
The most recent version of this API may be obtained on the Direct Edge ECNsm Website:
The Direct Edge ECN uses the FIX 4.2 protocol:
The ECN website contains a complete overview of ECN Certification process. Direct Edge ECNsm Certification Procedures are available online in the same section as the Direct Edge ECNsm Portal API.
1. EDGA/ EDGX are insensitive to the client’s field orderings, except where dictated by the FIX Standard Header and Standard Trailer (see next Section).
2. EDGA / EDGX will order the FIX fields within the message in ascending order, except for the header and trailer.
The Following FIX messages are understood by the system
0 = HeartBeat
1 = TestRequest
2 = ResendRequest
3 = Reject
4 = SequenceReset
5 = Logout
8 = ExecutionReport
9 = OrderCancelReject
A = Logon
D = NewOrderSingle
F = OrderCancelRequest
G = OrderCancelReplaceRequest
H = OrderStatusRequest
|
Type |
Format |
Example |
|
Int |
Integer |
99999 |
|
Float |
Numeric digits with optional decimal point and sign character. Accommodate at least 15 significant digits. Price restrictions are: Minimum Price Variant of 0.01 or 0.0001 (See RegNMS pricing). Quotes are rounded down or up for buys and sells respectively to the NASDAQ MPV of 0.01. Maximum Price is 99999.00. Minimum Price is 0.01 or 0.0001 (See RegNMS Pricing) |
-2000.000000 -2000 -2000. |
|
Qty |
Quantity: see float (0 < Qty < 2,147,483,647) |
|
|
Price |
Price: see float (0 < Price < 99,999.00) |
|
|
Price Offset |
Price Offset: see float |
|
|
Amt |
Amount: see float |
|
|
Char |
Single Character. |
|
|
Boolean |
Single Character ‘Y’ or ‘N’ |
|
|
String |
Case Sensitive Alphanumeric characters with no terminating character |
EDGA / EDGX ZXZZT |
|
UTC Date/Time |
GMT
Date/Time: YYYYMMDD-HH:MM:SS GMT Date/Time: YYYYMMDD-HH:MM:SS.sss |
20011231-22:30:00 20011231-22:30:00.015 |
|
UTC Date |
GMT Date: YYYYMMDD |
20011231 |
|
UTC Time |
GMT Time: HH:MM:SS |
22:30:00 |
The Standard Header and Standard Trailer are required on all FIX messages. MsgType (FIX 35) is part of the header. These fields are REQUIRED to be in this order on the header and trailer.
|
TAG |
FieldName |
Contents |
Comments |
|
8 |
BeginString |
FIX.4.2(.X) |
Protocol Version, X is the ECN version number. The “.X” portion is optional and may be altered. Only on the “FIX.4.2” string should be depended upon. |
|
9 |
BodyLength |
99999 |
Length of Message Body |
|
35 |
MsgType |
Accepted Message Types |
0 = HeartBeat 1 = TestRequest 2 = ResendRequest 3 = Reject 4 = SequenceReset 5 = Logout 8 = ExecutionReport 9 = OrderCancelReject A = Logon D = NewOrderSingle F
= OrderCancelRequest H = OrderStatusRequest |
|
49 |
SenderCompID |
MMID, EDGA / EDGX |
Sender Company ID (MMID of message sender) |
|
56 |
TargetCompID |
EDGA / EDGX, MMID |
Target Company ID (MMID of message receiver) |
|
34 |
MsgSeqNum |
|
Message Sequence Number (Resets to 1 at the start of each trading day) |
|
115* |
OnBehalfOfCompID |
MMID |
“On Behalf Of” Company MMID (required from Service Bureau Client. MMID of original client) |
|
128* |
DeliverToCompID |
MMID |
“Deliver To” Company MMID (sent by DIRECT EDGE to Service Bureau, MMID of original client) |
|
50* |
SenderSubID |
MMID1 |
Sender Sub ID (required from client only on Logon Messages) |
|
57* |
TargetSubID |
MMID1 |
Target Sub ID (sent by DIRECT EDGE on Logon Response Messages) |
|
43* |
PossDupFlag |
|
Indicates possible retransmission of this seq num. 43=N is the default if field is omitted, and 43=N should not be sent on all messages. |
|
97* |
PossResend |
|
Indicates possible retransmission of msg under a New sequence number. 97=N is the default if filed is omitted, and 97=N should not be sent on all messages. |
|
52 |
SendingTime |
|
GMT Date/Time Message was sent |
|
TAG |
FieldName |
Contents |
Comments |
|||
|
10 |
CheckSum |
|
Integer byte count of message length without the CheckSum field |
|||
* = Optional.
|
TAG |
FieldName |
Contents |
Comments |
|
35 |
MsgType |
A |
(Contained in header) |
|
95 |
RawDataLength |
String[20] |
Length of RawData |
|
96 |
RawData |
Password |
Password for username SenderSubID |
|
98 |
EncryptMethod |
0 |
None |
|
108 |
HeartBtInt |
|
Client Hearbeat Interval (In seconds) |
|
TAG |
FieldName |
Contents |
Comments |
|
35 |
MsgType |
A |
(Contained in header) |
|
98 |
EncryptMethod |
0 |
None |
|
108 |
HeartBtInt |
60 |
DIRECT EDGE ECN Heartbeat Interval is 60 seconds. Clients should use a 60 second Heartbeat Interval. |
|
TAG |
FieldName |
Contents |
Comments |
|
35 |
MsgType |
0 |
(Contained in header) |
|
112* |
TestReqID |
|
Required in response to a Test Request |
|
TAG |
FieldName |
Contents |
Comments |
|
35 |
MsgType |
1 |
(Contained in header) |
|
112 |
TestReqID |
|
Auto-Generated Request ID |
* = Optional.
|
TAG |
FieldName |
Contents |
Comments |
|
35 |
MsgType |
2 |
(Contained in header) |
|
7 |
BeginSeqNo |
|
|
|
16 |
EndSeqNo |
|
0 means +infinity |
|
TAG |
FieldName |
Contents |
Comments |
|
35 |
MsgType |
3 |
(Contained in header) |
|
45 |
RefSeqNum |
|
MsgSeqNo of Rejected Message |
|
371* |
RefTagID |
|
|
|
372* |
RefMsgType |
|
|
|
373* |
Sess |