Home
Charts
Feeds
Download
Resources
Help

 

Download Historical TotalView-ITCH File
API Overview
API Reference

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.

Historical TotalView-ITCH: Table Files

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.

Historical TotalView-ITCH: CSV Files

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.

Historical TotalView-ITCH: XML Files

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

Historical TotalView-ITCH: Binary Format

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.

Historical TotalView-ITCH: Native Nasdaq ITCH 4.0 Format

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.