The ITCH binary protocol is used for disseminating detailed full-depth, order-level market data messages with ultra-low latency.
ITCH includes messages that cover the following areas:
- order lifecycle events (added, executed, canceled, deleted, replaced)
- trades (provide execution details for match events involving non-displayable order types)
- security definitions and statuses
- market events
- data feed events
ITCH Protocol usually defines the business-level message formats only and does not include a transport-level protocol. Messages are delivered using a lower-level transport protocol that takes care of sequencing, re-transmission, and
delivery guarantees (e.g., SoupBinTCP or MoldUDP64).
There are many ITCH Protocol variations because exchanges use different business-level messages depending on the business context of the data feed.
ITCH Protocol logical stream is a series of sequenced binary messages.
Each ITCH message has a fixed length. Fields lengths and positions are also fixed. The message type field is the first field of the message.
ITCH Protocols uses the following binary data types:
- Integers - big-endian (network byte order) binary encoded numbers
- Alphanumeric strings – fixed-length ASCII coded strings, padded with white spaces
- Prices - integers with an associated implied precision
- Timestamps - nanoseconds since midnight
- Bitmasks - every set bit represents a particular value
ITCH Message Example
Binary message (in hexadecimal format):
0x410000000000000000000003ea00000000000500cd4200000001000000000000000100000000
The Decoded ITCH message:
Field name | Offset | Length | Format | Binary | Decoded | Notes |
Message Type |
0 |
1 |
Alphanumeric |
|
`A` |
Add Order message |
Timestamp |
1 |
8 |
Numeric |
|
0 |
Nanoseconds |
Order Reference Number |
9 |
4 |
Numeric |
|
1002 |
|
Transaction ID |
13 |
4 |
Numeric |
|
0 |
|
Order book ID |
17 |
4 |
Numeric |
|
327885 |
|
Side |
21 |
1 |
Alphanumeric |
|
B |
“B” = Buy order |
Quantity |
22 |
4 |
Numeric |
|
1 |
|
Price |
26 |
8 |
Price |
|
1 |
|
Yield |
34 |
4 |
Price |
|
0 |
See also
More information
If you have any technical questions on the ITCH Protocol or our ITCH Market Data Handler SDK, please contact Support@onixs.biz.
If you would like more information about OnixS financial protocol SDKs, then please get in touch with us here: