Introduction
Overview
The FIX API specification is separated into two categories: Order Entry and Market Data APIs. The information in the FIX API specification describes the adoptation of the standard FIX 5.0 for vendors and subscribers to communicate with the Zero Hash matching engine. FIX tags, as described in detail on the Financial Information Exchange Protocol Committee website, www.fixprotocol.org as well as custom tags are used extensively in this document and the reader should familiarize themselves with the latest updates to this release. If an application message in Financial Information Exchange Protocol version 5.0, or previous FIX versions, is not included in this document, the message is ignored.
Version: 1.0.0
Rate Limits
The Zero Hash API is rate limited to prevent abuse that would degrade our ability to maintain consistent API performance for all users.
The FIX API throttles the number of incoming messages to 10 commands per second by default. This can be increased as needed.
Changelog
Recent changes and additions to Zero Hash Matching Engine API.
2023-03-07
FIX tag 1057 AggressorIndicator added to Execution Reports.
FIX field 18 supported values updated.
Cancel/Replace example FIX messages updated.
2022-09-01
Initial Version
Connectivity
To connect to the Zero Hash Matching Engine via FIX API, clients must have thier source IP address whitelisted and establish a secure SSL connection to the FIX gateway. If your FIX implementation does not support establishing a SSL connection natively, you will need to setup a local proxy such as stunnel to establish a secure connection to the FIX gateway. To request these details and whitelist your source IP addresses, clients can contact support@zerohash.com.
Message Sequence Numbers are reset on Friday at 17:00 EST.
For testing use;
IP Address: FIRMID.oe.cert.zerohash.com
Port: 13010
SenderComp: FIRM-SENDER-COMP-1
TargetCompID: ZERO
For access to Market Data over FIX use;
IP Address: FIRMID.md.cert.zerohash.com
Port: 13010
SenderComp: FIRM-SENDER-COMP-2
TargetCompID: ZERO
Session Level Messages
Message Header
Tag | Field Name | Required | Note |
---|---|---|---|
8 | BeginString | Yes | FIX.5.0 |
9 | BodyLength | Yes | (Always unencrypted, must be second field in message) |
35 | MsgType | Yes | (Always unencrypted, must be third field in message) |
49 | SenderCompID | Yes | Provided by Zero Hash |
56 | TargetCompID | Yes | Provided by Zero Hash |
34 | MsgSeqNum | Yes | (Can be embedded within encrypted data section.) |
52 | SendingTime | Yes | Required |
Message Trailer
Tag | Field Name | Required | Note |
---|---|---|---|
10 | CheckSum | Yes | (Always unencrypted, always last field in message) |
Login (A)
Example Message
Client
8 = FIXT.1.1
9 = 80
35 = A
34 = 1
49 = YOURSENDERCOMP
52 = 20220911-00:01:47.190
56 = ZERO
98 = 0
108 = 60
141 = Y
1137 = 9
10 = 118
Gateway
8 = FIXT.1.1
9 = 86
35 = A
34 = 1
49 = ZERO
52 = 20220911-00:01:47.237480372
56 = YOURSENDERCOMP
98 = 0
108 = 60
141 = Y
1137 = 9
10 = 182
The logon message identifies and authenticates the user or member and establishes a connection to the FIX Gateway.
The FIX gateway accepts Logon messages as per the FIX specification. Further, the FIX gateway supports the logon sequence required for session authentication.
After a successful logon as described in the specification the FIX gateway will:
-Initiate retransmission processing via a resend request if the Logon sequence number is greater than the value expected
-Initiate logout processing via a Logout message with an appropriate error message, then waits for a confirming Logout before disconnecting if the Logon sequence number is less than expected. If the confirming Logout has not been received within a short period of time the session will be disconnected.
-Handle retransmission requests.
-Initiate a Logon using the SenderCompID in the message header.
-Forwarded to the FIX client messages that are waiting in the outbound queue
-Begin regular message communication.
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | Yes | MsgType = A | |
98 | EncryptMethod | Yes | 0 = NONE_OTHER 1 = PKCS 2 = DES 3 = PKCS_DES 4 = PGP_DES 5 = PGP_DES_MD5 6 = PEM_DES_MD5 |
108 | HeartBtInt | Yes | |
141 | ResetSeqNumFlag | No | |
1137 | DefaultApplVerID | Yes | |
Standard Trailer | Yes |
Logout (5)
Example Message
Client
8 = FIXT.1.1
9 = 53
35 = 5
34 = 6
49 = YOURSENDERCOMP
52 = 20230307-13:24:29.863406207
56 = ZERO
10 = 00
The Logout message initiates or confirms the termination of a FIX session.
The FIX gateway will receive and generate logout messages as required by the FIX Protocol. The gateway follows the prescribed sequence of messages for the proper termination of the session. Messages received by the gateway after the client logs out are stored in a log file for transmission to the client once the client logs in again within the same trading day. The messages to be transmitted are dependent on the sequence number reconciliation that occurs on a logon handshake.
Upon receipt of a Logout message:
1. A confirming logout message will be sent by the gateway to the client; then,
2. The session will be disconnected. The FIX gateway will not initiate a logoff except when a severe error has occurred.
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | Yes | MsgType = 5 | |
58 | Text | No | Free format text string (Note: this field does not have a specified maximum length) If the Logout message has been sent by the the FIX gateway, then this field will contain the text “Session closed”. |
Standard Trailer | Yes |
Heartbeat (0)
Example Message
Client
8 = FIXT.1.1
9 = 57
35 = 0
34 = 841
49 = YOURSENDERCOMP
52 = 20230307-13:24:29.863406207
56 = ZERO
10 = 087
Gateway
8 = FIXT.1.1
9 = 63
35 = 0
34 = 849
49 = ZERO
52 = 20220911-14:09:48.786045303
56 = YOURSENDERCOMP
10 = 150
This section indicates the message intended to monitor the status of the communications link during periods of inactivity.
The FIX market data accepts and generates Heartbeat messages as per the FIX specification.
• Inbound: Handled as specified • Outbound: In response to a test request or timeout. • Response: None
The heartbeat message should be sent if agreed upon Heartbeatinterval has elapsed since the last message sent. If any proceeding Heartbeatinterval a Heartbeat message need not be sent
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | Yes | MsgType = 0 | |
Standard Trailer | Yes |
FIX Order Entry Messages
The Zero Hash Matching Engine will respond to any new order messages with execution reports. Example order messages and execution report responses are available below.
This section outlines the FIX messages, how they are supported, and to what extent the business data is translated within the FIX Gateway.
New Order - Single (D)
Example Message
Client - BTC/USD Buy Limit GTC Order for OrderQty 0.01 at Price of 19000.50
8 = FIXT.1.1
9 = 254
35 = D
34 = 426
49 = YOURSENDERCOMP
50 = trader
52 = 20230307-13:24:29.863406207
56 = ZERO
1 = firms/Zero-Hash-Liquidity/accounts/test
11 = 3637983906161824000
18 = R
21 = 1
22 = 8
38 = 0.01
40 = 2
44 = 19000.50
48 = BTC/USD
54 = 1
55 = BTC/USD
58 = ZH Testing Trades
59 = 1
60 = 20230307-13:24:29.863406207
167 = CS
10 = 007
Gateway - Execution Reports
ER NEW
8 = FIXT.1.1
9 = 394
35 = 8
34 = 11
49 = ZERO
52 = 20220913-06:09:10.076887737
56 = YOURSENDERCOMP
57 = trader
1 = firms/Zero-Hash-Liquidity/accounts/test
6 = 0.000000000
11 = 3637983906161824000
14 = 0.00000000
17 = 1569568851483602944
22 = 8
31 = 0.00
32 = 0.00000000
37 = 1569568851307696128
38 = 0.01000000
39 = 0
40 = 2
44 = 19000.00
48 = BTC/USD
54 = 1
55 = BTC/USD
59 = 0
60 = 20220913-06:09:10.029186377
99 = 0.00
150 = 0
151 = 0.01000000
581 = 14
582 = 4
10 = 130
ER FILL
8 = FIXT.1.1
9 = 408
35 = 8
34 = 13
49 = ZERO
52 = 20220913-06:09:10.079060678
56 = YOURSENDERCOMP
57 = trader
1 = firms/Zero-Hash-Liquidity/accounts/test
6 = 22671.612500000
11 = 3637983906161824000
14 = 0.01000000
17 = 1569568851483602949
22 = 8
31 = 18740.25
32 = 0.01000000
37 = 1569568851307696128
38 = 0.01000000
39 = 2
40 = 2
44 = 19000.00
48 = BTC/USD
54 = 1
55 = BTC/USD
59 = 0
60 = 20220913-06:09:10.029186377
99 = 0.00
150 = F
151 = 0.00000000
581 = 14
582 = 4
828 = 0
1057 = Y
10 = 103
This message is used to submit an order to the trading system for processing. The trading platform will respond with execution reports.
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | Yes | ||
11 | ClOrdId | Yes | Unique identifier of the order. Must be unique for each session.chars. |
1 | Account | Yes | Account created in matching engine in format : firms/ |
18 | ExecInst | Yes | J = SINGLE_EXECUTION_REQUESTED_FOR_BLOCK_TRADE G = ALL_OR_NONE 6 = PARTICIPATE_DONT_INITIATE b = STRICT_LIMIT R = BEST_LIMIT T = IMMEDIATELY_EXECUTABLE_LIMIT |
21 | HandlInst | Yes | '1' = Automated execution order, private, no Broker intervention '2' = Automated execution order, public, Broker intervention OK '3' = Manual order, best execution |
55 | Symbol | Yes | Symbol of instrument (Part of Instrument Component) |
48 | SecurityID | Yes | Security ID of instrument, usually same as symbol (Part of Instrument Component) |
54 | Side | Yes | '1' = Buy '2' = Sell |
38 | OrderQty | Yes | Size of the order. E.G. 10.5 |
40 | OrdType | Yes | '2' = Limit '3' = Stop '4' = Stop Limit 'K' = Market with left over as Limit |
44 | Price | No | Required for limit orders. E.G. 19000.50 |
50 | User | Yes | User created with specific relationships in matching engine |
59 | TimeInForce | No | 0 = DAY 1 = GOOD_TILL_CANCEL 3 = IMMEDIATE_OR_CANCEL 6 = GOOD_TILL_DATE |
60 | TransactTime | Yes | Time of execution/order creation (UTC Time in datetime format) |
126 | ExpireTime | No | Required if TimeInForce = 6 (UTC Time in datetime format - 17:18:02.54) |
Instrument | No | Component Fields can be found in appendix | |
Standard Trailer | Yes |
Order Cancel Request (F)
Example Message
Client
8 = FIXT.1.1
9 = 238
35 = F
34 = 76
49 = YOURSENDERCOMP
50 = trader
52 = 20230307-13:24:29.863406207
56 = ZERO
1128 = 9
1 = firms/Zero-Hash-Liquidity/accounts/test
11 = 16329117-3bf0-4684-b74a-54f44adbbe84
38 = 0.02
41 = e31e8ba5-2759-4255-8f08-91c1d18b9ebb
54 = 1
55 = BTC/USD
60 = 20220817-13:02:41
10 = 171
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | Yes | ||
41 | OrigClOrdId | Yes | ClOrdID of the previous order |
37 | OrdId | No | Unique Identifier of order assigned by the platform. |
11 | ClOrdId | Yes | Unique identifier of the order. Must be unique for each session. |
18 | ExecInst | Yes | J = SINGLE_EXECUTION_REQUESTED_FOR_BLOCK_TRADE G = ALL_OR_NONE 6 = PARTICIPATE_DONT_INITIATE b = STRICT_LIMIT R = BEST_LIMIT T = IMMEDIATELY_EXECUTABLE_LIMIT |
60 | TransactTime | Yes | Time of execution/order creation (UTC Time in datetime format) |
55 | Symbol | Yes | Symbol of instrument (Part of Instrument Component) |
54 | Side | Yes | '1' = Buy '2' = Sell |
38 | OrderQty | Yes | Size of the order. E.G. 10 |
58 | Text | No | |
Standard Trailer | Yes |
Order Cancel/Replace Request (G)
Example message
Client
8 = FIXT.1.1
9 = 256
35 = G
34 = 219
49 = YOURSENDERCOMP
52 = 20230307-17:01:04.493
56 = ZERO
1 = firms/Zero-Hash/accounts/test
11 = 15638138052644930000
21 = 1
22 = 8
38 = 0.002
40 = 2
41 = 1124638138050559054000
44 = 22100
48 = BTC/USD
50 = TRADER
54 = 1
55 = BTC/USD
59 = 1
60 = 20230307-17:01:04.493
167 = CS
10 = 245
Gateway
8 = FIXT.1.1
9 = 394
35 = 8
34 = 220
49 = ZERO
52 = 20230307-17:01:04.575041837
56 = YOURSENDERCOMP
57 = trader
1 = firms/Zero-Hash/accounts/test
6 = 0.000000000
11 = 15638138052644930000
12 = 221.00
13 = 1
14 = 0.00000000
17 =1633150786224631808
22 = 8
31 = 0.00
32 = 0.00000000
37 = 1633149946840895488
38 = 0.00200000
39 = 0
40 = 2
41 = 1124638138050559054000
44 = 22100.00
48 = BTC/USD
54 = 1
55 = BTC/USD
59 = 1
60 = 20230307-17:01:04.567199067
99 = 0.00
150=5
151=0.00200000
582=4
10=032
The Execution Report is automatically generated and sent by the gatway automatically.
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | Yes | ||
41 | OrigClOrdId | Yes | ClOrdID of the previous order |
37 | OrdId | No | Unique Identifier of order assigned by the platform. |
11 | ClOrdId | Yes | Unique identifier of the order. Must be unique for each session. |
1 | Account | No | Optional identifier from customer, will be passed back in Execution Report. |
55 | Symbol | Yes | Symbol of instrument (Part of Instrument Component) |
54 | Side | Yes | '1' = Buy '2' = Sell |
OrderQtyData | Yes | Component fields can be found in appendix | |
40 | OrdType | Yes | '2' = Limit '3' = Stop '4' = Stop Limit 'K' = Market with left over as Limit |
44 | Price | No | Required for limit Ordtypes |
59 | TimeInForce | No | '3' = IOC (Immediate-Or-Cancel) |
126 | ExpireTime | No | Required if TimeInForce = GTT (UTC time in datetime format - 17:18:02.544) |
Instrument | Yes | Component Fields can be found in appendix | |
Standard Trailer | Yes |
Execution Report (8)
The Execution Report is automatically generated and sent by the FIX Gateway .
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | - | ||
37 | OrdId | - | Unique Identifier of order assigned by the platform. |
6 | AvgPx | - | |
11 | ClOrdId | - | Unique identifier of the order copied from customer's request. |
41 | OrigClOrdId | - | ClOrdID of the previous order |
14 | CumQty | - | |
17 | ExecID | - | Platform assigned execution ID |
20 | ExecTransType | - | 0 |
32 | LastQty | - | |
37 | OrderID | - | |
38 | OrderQty | - | Size of the order. E.G. 10 |
39 | OrdStatus | - | 0 = New, 1 = PartiallyFilled, 2 = Filled, 4 = Canceled, 5 = Replaced, 6 = PendingCancel, 8 = Rejected, A = PendingNew, C = Expired, E = PendingReplace |
40 | OrdType | - | '2' = Limit '3' = Stop '4' = Stop Limit 'K' = Market with left over as Limit |
44 | Price | - | |
54 | Side | - | '1' = Buy '2' = Sell |
55 | Symbol | - | Common, “human understood” representation of the trading pair, bitcoins US Dollar – BTCUSD, etc. |
59 | TimeInForce | - | |
60 | TransactTime | - | |
126 | ExpireTime | - | Time order will expire |
150 | ExecType | - | |
151 | LeavesQty | - | |
58 | Text | - | |
1057 | AggressorIndicator | - | |
Standard Trailer | - |
Order Cancel Reject (9)
This message is send when a Order Cancel Request or Order Cancel/Replace Request is rejected
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | - | ||
41 | OrigClOrdId | - | ClOrdID of the previous order. |
37 | OrdId | - | Unique Identifier of order assigned by the platform. |
11 | ClOrdId | - | Unique identifier of the order. Must be unique for each session. |
39 | OrdStatus | - | OrdStatus value after this cancel reject is applied. |
102 | CxlRejReason | - | Code to identify reason for cancel rejection. |
58 | Text | - | Optional explanation message. |
434 | CxlRejResponseTo | - | Unique identifier of the Canceled order. |
Standard Trailer | - |
FIX Market Data Messages
The information in Zero Hash FIX API specification describes the adaptation of the standard FIX 5.0 for vendors and subscribers to communicate with the Zero Hash market. FIX 5.0 tags, as described in detail on the Financial Information Exchange Protocol Committee website, www.fixprotocol.org as well as custom tags are used extensively in this document and the reader should familiarize themselves with the latest updates to this release. If an application message in Financial Information Exchange Protocol version 5.0, or previous FIX versions, is not included in this document, the message is ignored.
Market Data Request (V)
Example FIX Message
The FIX message would appear as
8 = FIXT.1.1
9 = 133
35 = V
34 = 306
49 = YOURSENDERCOMP
52 = 20220915-09:58:59.011
56 = ZERO
146 = 1
55 = BTC/USD
48 = BTC/USD
22 = 8
262 = ZERO
263 = 1
264 = 2
267 = 3
269 = 0
269 = 1
269 = 2
10 = 093
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | MsgType = W | ||
262 | MDReqID | The MDReqID of the MarketDataRequest message. | |
55 | Symbol | Identifier for the symbol | |
48 | SecurityID | Security ID (usually same as symbol) | |
269 | MDEntryType | Type of market data entry. Valid values: 0 = Bid, 1 = Offer, 2 = Trade | |
263 | SubscriptionRequestType | 0 = SNAPSHOT 1 = SNAPSHOT_PLUS_UPDATES 2 = DISABLE_PREVIOUS_SNAPSHOT_PLUS_UPDATE_REQUEST |
|
Standard Trailer |
Market Data Responses – Top of Book Snapshot (W)
Example FIX Message
The FIX message would appear as
8 = FIXT.1.1
9 = 1187
35 = W
34 = 8819
49 = ZERO
52 = 20220915-09:58:59.131087940
56 = YOURSENDERCOMP
22 = 8
48 = BTC/USD
55 = BTC/USD
167 = NONE
262 = ZERO
268 = 11
269 = 0
270 = 20000.00
271 = 0.01000000
272 = 20220915
273 = 09:58:58.701896604
59 = 1
37 = 1570062592651415552
278 = 1570062592651415552
40 = 2
269 = 0
270 = 19931.67
271 = 0.00775000
272 = 20220915
273 = 09:58:58.701896604
59 = 1
37 = 1570351436330594304
278 = 1570351436330594304
40 = 2
269 = 0
270 = 19873.28
271 = 0.01550000
272 = 20220915
273 = 09:58:58.701896604
59 = 1
37 = 1570351460967936000
278 = 1570351460967936000
40 = 2
269 = 1
270 = 20335.34
271 = 0.00625000
272 = 20220915
273 = 09:58:58.701896604
59 = 1
37 = 1570351423974174720
278 = 1570351423974174720
40 = 2
269 = 1
270 = 20393.72
271 = 0.01250000
272 = 20220915
273 = 09:58:58.701896604
59 = 1
37 = 1570351448670236672
278 = 1570351448670236672
40 = 2
269 = 2
270 = 44000.00
271 = 0.02500000
272 = 20220914
273 = 18:12:59.695310898
336 = OPEN
269 = 4
270 = 20523.20
272 = 20220914
273 = 12:44:19.851431213
336 = OPEN 0
1070 = 1
269 = 6
270 = 20318.00
272 = 20220914
273 = 12:44:03.897119444
336 = OPEN
269 = 7
270 = 44000.00
272 = 20220914
273 = 18:12:59.695310898
336 = OPEN
269 = 8
270 = 20333.32
272 = 20220914
273 = 14:31:11.180821686
336 = OPEN
269 = B
270 = 53138.0442000000
271 = 2.43500000
272 = 20220914
273 = 18:12:59.695310898
336 = OPEN 1
1151 = BTC
10 = 238
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | MsgType = W | ||
262 | MDReqID | The MDReqID of the MarketDataRequest message. | |
55 | Symbol | Identifier for the symbol | |
269 | MDEntryType | Type of market data entry. Valid values: 0 = Bid, 1 = Offer | |
270 | MDEntryPx | Price of the market data entry. | |
271 | MDEntrySize | Qty represented by the Market Data Entry. | |
Standard Trailer |
Market Data Responses– Incremental Refresh (X)
Example FIX Message
The FIX message would appear as
8 = FIXT.1.1
9 = 256
35 = X
34 = 12781
49 = ZERO
52 = 20220915-12:55:24.957686955
56 = YOURSENDERCOMP
262 = ZERO
268 = 1
279 = 0
269 = 0
278 = 1570395862859935744
55 = BTC/USD
48 = BTC/USD
22 = 8
167 = NONE
1151 = BTC
270 = 19609.77
271 = 0.05425000
272 = 20220915
273 = 12:55:24.937078681
59 = 1
37 = 1570395862859935744
40 = 2
10 = 049
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | MsgType = X | ||
262 | MDReqID | The MDReqID of the MarketDataRequest message. | |
279 | MDUpdateAction | The Market Data update action type. It must be the first field in the repeating group. The only valid values are: 0 = New, 2 = Delete | |
269 | MDEntryType | Type of market data entry. Valid values: 0 = Bid, 1 = Offer, 2=Trade | |
278 | MDEntryID | Market data identifier | |
55 | Symbol | Identifier for the symbol | |
48 | SecurityID | Security ID | |
270 | MDEntryPx | Price of the market data entry. | |
271 | MDEntrySize | Number of shares represented by the Market Data Entry. | |
58 | Text | Order ID reference | |
Standard Trailer |
Security List Request (x)
Example FIX Message
The FIX message would appear as
8 = FIXT.1.1
9 = 68
35 = x
34 = 2
49 = YOUSENDERCOMP-2
52 = 20220914-10:02:28.627
56 = ZERO
320 = YOUSENDERCOMP
559 = 4
10 = 128
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | MsgType = x | ||
Instrument | Instrument to be retrieved using fields 55 & 48 if empty will retrieve list of everything | ||
559 | SecurityListRequestType | 0 = SYMBOL 1 = SECURITYTYPE_AND_OR_CFICODE 2 = PRODUCT 3 = TRADINGSESSIONID 4 = ALL_SECURITIES 5 = MARKETID_OR_MARKETID_PLUS_MARKETSEGMENTID |
|
320 | SecurityReqID | Request ID | |
58 | Text | Text | |
Standard Trailer |
Business Message Reject (j)
Tag | Field Name | Required | Note |
---|---|---|---|
Standard Header | MsgType = j | ||
380 | BusinessRejectReason | 0 = OTHER 1 = UNKNOWN_ID 18 = INVALID_PRICE_INCREMENT 2 = UNKNOWN_SECURITY 3 = UNSUPPORTED_MESSAGE_TYPE 4 = APPLICATION_NOT_AVAILABLE 5 = CONDITIONALLY_REQUIRED_FIELD_MISSING 6 = NOT_AUTHORIZED 7 = DELIVERTO_FIRM_NOT_AVAILABLE_AT_THIS_TIME |
|
379 | BusinessRejectRefID | Rejection ID | |
372 | RefMsgType | Reference Message type | |
45 | RefSeqNum | Reference Sequence Number | |
Standard Trailer |
Appendix
Below is the appendix for needed components included in Order Executions & Market Data requests:
Instrument
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
231 | ContactMultiplier | FLOAT | ||
541 | MaturityDate | LOCALMKTDATE | ||
969 | MinPriceIncrement | FLOAT | ||
460 | Product | INT | 1 = AGENCY 10 = MORTGAGE 11 = MUNICIPAL 12 = OTHER 13 = FINANCING 2 = COMMODITY 3 = CORPORATE 4 = CURRENCY 5 = EQUITY 6 = GOVERNMENT 7 = INDEX 8 = LOAN 9 = MONEYMARKET |
|
48 | SecurityID | STRING | ||
22 | SecurityIDSource | STRING | 8=Exchange Symbol (Currently this is only used for Crypto) | |
762 | SecuritySubType | STRING | ||
167 | SecurityType | STRING | CS = COMMON_STOCK (Currently this is only used for Crypto) | |
55 | Symbol | STRING |
OrderQtyData
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
152 | CashOrderQty | QTY | ||
38 | OrderQty | QTY |
Parties
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
NoPartyIDs | ||||
>448 | PartyID | STRING | ||
>447 | PartyIDSource | CHAR | 1 = KOREAN_INVESTOR_ID 2 = TAIWANESE_QUALIFIED_FOREIGN_INVESTOR_ID_QFII_FID 3 = TAIWANESE_TRADING_ACCT 4 = MALAYSIAN_CENTRAL_DEPOSITORY 5 = CHINESE_INVESTOR_ID 6 = UK_NATIONAL_INSURANCE_OR_PENSION_NUMBER 7 = US_SOCIAL_SECURITY_NUMBER 8 = US_EMPLOYER_OR_TAX_ID_NUMBER 9 = AUSTRALIAN_BUSINESS_NUMBER A = AUSTRALIAN_TAX_FILE_NUMBER B = BIC C = GENERALLY_ACCEPTED_MARKET_PARTICIPANT_IDENTIFIER D = PROPRIETARY E = ISO_COUNTRY_CODE F = SETTLEMENT_ENTITY_LOCATION G = MIC H = CSD_PARTICIPANT_MEMBER_CODE I = DIRECTED_BROKER_THREE_CHARACTER_ACRONYM_AS_DEFINED_IN_ISITC_ETC_BEST_PRACTICE_GUIDELINES_DOCUMENT N = LEGAL_ENTITY_IDENTIFIER |
|
>452 | PartyRole | INT | 24 = Customer Account |
CommissionData
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
13 | CommType | CHAR | 1 = PER_UNIT 2 = PERCENT 3 = ABSOLUTE 4 = PERCENTAGE_WAIVED_CASH_DISCOUNT 5 = PERCENTAGE_WAIVED_ENHANCED_UNITS 6 = POINTS_PER_BOND_OR_CONTRACT |
|
12 | Commission | FLOAT |
InstrmtLegExecGrp
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
NoLegs | ||||
> | InstrumentLeg | Component | ||
>637 | LegLastPx | PRICE | ||
>1418 | LegLastQty | QTY |
InstrumentLeg
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
566 | LegPrice | PRICE | ||
623 | LegRatioQty | FLOAT | ||
602 | LegSecurityID | STRING | ||
603 | LegSecurityIDSource | STRING | ||
764 | LegSecuritySubType | STRING | ||
609 | LegSecurityType | STRING | ||
624 | LegSide | CHAR | ||
600 | LegSymbol | STRING |
EventGrp
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
NoEvents | ||||
>866 | EventDate | LOCALMKTDATE | ||
>848 | EventText | STRING | ||
>1145 | EventTime | UTCTIMESTAMP | ||
>865 | EventType | INT | 5 = ACTIVATION 6 = INACTIVATION 7 = LAST_ELIGIBLE_TRADE_DATE |
MDFullGrp
Tag | Field Name | Required | Data Type | Accepted Enums |
---|---|---|---|---|
NoMDEntries | ||||
>15 | Currency | CURRENCY | ||
>18 | ExecInst | MULTIPLECHARVALUE | J = SINGLE_EXECUTION_REQUESTED_FOR_BLOCK_TRADE G = ALL_OR_NONE 6 = PARTICIPATE_DONT_INITIATE b = STRICT_LIMIT R = BEST_LIMIT T = IMMEDIATELY_EXECUTABLE_LIMIT |
|
>126 | ExpireTime | UTCTIMESTAMP | ||
>332 | HighPx | PRICE | ||
>31 | LastPx | PRICE | ||
>283 | LocationID | STRING | ||
>333 | LowPx | PRICE | ||
>272 | MDEntryDate | UTCDATEONLY | ||
>278 | MDEntryID | STRING | ||
>270 | MDEntryPx | PRICE | ||
>271 | MDEntrySize | QTY | ||
>273 | MDEntryTime | UTCTIMEONLY | ||
>269 | MDEntryType | CHAR | 0 = BID 1 = OFFER 2 = TRADE 3 = INDEX_VALUE 4 = OPENING_PRICE 5 = CLOSING_PRICE 6 = SETTLEMENT_PRICE 7 = TRADING_SESSION_HIGH_PRICE 8 = TRADING_SESSION_LOW_PRICE 9 = TRADING_SESSION_VWAP_PRICE A = IMBALANCE B = TRADE_VOLUME C = OPEN_INTEREST D = COMPOSITE_UNDERLYING_PRICE E = SIMULATED_SELL_PRICE F = SIMULATED_BUY_PRICE G = MARGIN_RATE H = MID_PRICE J = EMPTY_BOOK K = SETTLE_HIGH_PRICE L = SETTLE_LOW_PRICE M = PRIOR_SETTLE_PRICE N = SESSION_HIGH_BID O = SESSION_LOW_OFFER P = EARLY_PRICES Q = AUCTION_CLEARING_PRICE R = DAILY_VALUE_ADJUSTMENT_FOR_LONG_POSITIONS S = SWAP_VALUE_FACTOR T = CUMULATIVE_VALUE_ADJUSTMENT_FOR_LONG_POSITIONS U = DAILY_VALUE_ADJUSTMENT_FOR_SHORT_POSITIONS V = CUMULATIVE_VALUE_ADJUSTMENT_FOR_SHORT_POSITIONS W = FIXING_PRICE X = CASH_RATE Y = RECOVERY_RATE Z = RECOVERY_RATE_FOR_LONG a = RECOVERY_RATE_FOR_SHORT |
|
>1070 | MDQuoteType | INT | 0 = INDICATIVE 1 = TRADEABLE 2 = RESTRICTED_TRADEABLE 3 = COUNTER 4 = INDICATIVE_AND_TRADEABLE |
|
>110 | MinQty | QTY | ||
>286 | OpenCloseSettlFlag | MULTIPLECHARVALUE | 0 = DAILY_OPEN 1 = SESSION_OPEN 2 = DELIVERY_SETTLEMENT_ENTRY 3 = EXPECTED_ENTRY 4 = ENTRY_FROM_PREVIOUS_BUSINESS_DAY 5 = THEORETICAL_PRICE_VALUE |
|
>40 | OrdType | CHAR | 2 = LIMIT 3 = STOP 4 = STOP_LIMIT K = MARKET_WITH_LEFT_OVER_AS_LIMIT |
|
>37 | OrderID | STRING | ||
> | Parties | Component | ||
>762 | SecuritySubType | STRING | ||
>58 | Text | STRING | ||
>59 | TimeInForce | CHAR | 0 = DAY 1 = GOOD_TILL_CANCEL 3 = IMMEDIATE_OR_CANCEL 6 = GOOD_TILL_DATE |
|
>336 | TradingSessionID | STRING | ||
>828 | TrdType | INT | 0 = REGULAR_TRADE (Default) |