|
Overview
Here you will find the specifications for the downloadable TotalView-ITCH files for individual stocks.
The data contains only messages for displayed orders (executions of non-displayed orders that are not present in the book are not included --
see Time&Sales data feed for this type of messages).
There are the following available formats:
You might want to consult with the
Nasdaq's TotalView-ITCH 3.0 and
Nasdaq's TotalView-ITCH 4.0 specifications for the native data stream as well.
Description
Table files are designed to be more user friendly than other formats.
Column tables are padded with spaces to align the data vertically with headers.
The first row is always the header row.
An empty line is added at the end of the table to indicate the end of file.
Column Format
Column |
Width |
Value |
Description |
Timestamp |
8 |
Unsigned 32-bit |
Number of milliseconds after the midnight. |
Order |
20 |
Unsigned 64-bit |
Unique order ID. |
T |
1 |
Character |
Message type. Allowed values:
- "B" -- Add buy order
- "S" -- Add sell order
- "E" -- Execute outstanding order in part
- "C" -- Cancel outstanding order in part
- "F" -- Execute outstanding order in full
- "D" -- Delete outstanding order in full
- "X" -- Bulk volume for the cross event
- "T" -- Execute non-displayed order
|
Shares |
6 |
Unsigned 32-bit |
Order quantity, available for the "B", "S", "E", "X", "C", "T" messages. Zero for "F" and "D" messages. |
Price |
10 |
Unsigned 32-bit |
Order price, available for the "B", "S", "X", and "T" order messages.
Zero for cancellations and executions. The last 4 digits are decimal digits.
The decimal portion is padded on the right with zeros.
The decimal point is implied by position; it does not appear inside the price field.
Divide by 10000 to convert into currency value. |
MPID |
4 |
Text |
Market Participant ID associated with the transaction. |
Description
Character-separated-value (CSV) files are designed for importing to other applications, such as statistical packages.
Columns are separated by a special delimiter character. The default delimiter is ",".
The data is not padded with spaces for vertical alignment.
The first row is always the header row.
An empty line is added at the end of the table to indicate the end of file.
Column Format
The column format is the same as in the Table Format.
Description
XML files are designed for use in real time applications.
XML also contains information about the session date and requested stock.
Column tables are padded with spaces to align the data vertically with headers.
The first row is always the header row.
An empty line is added at the end of the table to indicate the end of file.
XML Format
Element |
Description |
Attributes |
Contains |
<session> |
Session information that contains session type, session date, stock ticker, and related messages. |
date="string": session date in YYYYMMDD format
ticker="string": stock ticker string
type="ITCH": session type, equals "ITCH" string
|
Any number of <message> elements |
<message> |
Message information, containing message type, timestamp, and order parameters. |
timestamp="unsigned 32-bit": number of milliseconds after the midnight
type="string": message type in string format. Allowed values:
- "buy" -- Add buy order
- "sell" -- Add sell order
- "execute" -- Execute outstanding order
- "cancel" -- Cancel outstanding order
- "fill" -- Execute outstanding order in full
- "delete" -- Delete outstanding order in full
- "cross" -- Bulk volume for the cross event
- "trade" -- Execute non-displayed order
|
One or none of each of the following elements:
- <order>
- <quantity>
- <price>
|
<order> |
Unique order ID. |
None |
Unsigned 32-bit |
<quantity> |
Order quantity, available for the "buy", "sell", "execute", "cancel", "cross", and "trade" messages.
Skipped for "fill" and "delete" messages. |
None |
Unsigned 32-bit |
<price> |
Order price, available for the "buy", "sell", "cross", and "trade" order messages.
Skipped for "execute", "cancel", "fill", and "delete" messages.
The last 4 digits are decimal digits.
The decimal portion is padded on the right with zeros.
The decimal point is implied by position; it does not appear inside the price field.
Divide by 10000 to convert into currency value. |
None |
Unsigned 32-bit |
<mpid> |
Market Participant ID associated with the transaction. |
None |
Text |
Description
Binary files are designed for faster processing, as there is no need to parse the text fields.
They can also be used to store the big arrays of data on the disk in compressed format.
The binary file consists of fix-length (21 bytes) message records. All record fields are in Little Endian format.
Record Format
Field |
Width |
Value |
Description |
Timestamp |
4 |
Unsigned 32-bit |
Number of milliseconds after the midnight. |
Order ID |
8 |
Unsigned 64-bit |
Unique order ID. |
Message Type |
1 |
Byte |
Allowed values:
- "B" -- Add buy order
- "S" -- Add sell order
- "E" -- Execute outstanding order in part
- "C" -- Cancel outstanding order in part
- "F" -- Execute outstanding order in full
- "D" -- Delete outstanding order in full
- "X" -- Bulk volume for the cross event
- "T" -- Execute non-displayed order
|
Shares |
4 |
Unsigned 32-bit |
Order quantity, available for the "B", "S", "E", "X", "C", "T" messages. Zero for "F" and "D" messages. |
Price |
4 |
Unsigned 32-bit |
Order price, available for the "B", "S", "X", and "T" order messages.
Zero for cancellations and executions. The last 4 digits are decimal digits.
The decimal portion is padded on the right with zeros.
The decimal point is implied by position; it does not appear inside the price field.
Divide by 10000 to convert into currency value. |
MPID |
4 |
Text |
Market Participant ID associated with the transaction. |
Description
This format stores data in
Nasdaq's TotalView-ITCH 4.0 messages. Please note that Nasdaq's binary data fields use Big Endian bit order.
The resulting file consists of Nasdaq's TotalView-ITCH 4.0 variable-length messages preceded by 16-bit message length prefix in Big Endian bit order.
Record Format
Field |
Width |
Value |
Description |
Message Length |
2 |
Unsigned 16-bit (Big Endian) |
Length of the following TotalView-ITCH 4.0 message. |
ITCH 4.0 Message |
(variable) |
(binary) |
ITCH 4.0 message as per Nasdaq specification. |
Please note that the ITCH 4.0 message stream does not include the following messages:
- Net Order Imbalance Indicator (NOII)
- Stock Directory
- Stock Trading Action
- System Events
- Broken Trades
Also, there are the following differences from the native data stream:
- "Executed with price" messages are treated as regular "Execute" messages
- The trade messages ("Cross", "Execute") do not have Unique Transaction ID (the value is set to zero)
- All "Cross" messages have the same Cross Type field value set to "I"
To obtain the complete TotalView-ITCH 3.0/4.0 historical files for the entire trading session,
please fill out the data order form.
|