Skip to main content
Skip table of contents

ITCH Introduction

The ITCH protocol is widely used and considered an industry standard for market data dissemination. ITCH provides the public information required to build each full orderbook.

SoupBinTCP Transport

The point-to-point transport layer for ITCH payloads is SoupBinTCP v3.0. Details on this protocol can be found here.

Usernames and passwords in the SoupBinTCP Login Request Packet 'L' are case-sensitive for the NSX trading platform.

ITCH Soup data payloads will be sent by Nasdaq ME using the SoupBinTCP Sequenced Data Packet 'S'.

Reference Data Spin

At the beginning of each ITCH feed, static data messages will be sent to provide reference information about the exchange. Integer identifiers in these messages should be used as lookups when subsequent data messages are received throughout the feed (e.g. Orderbook, TickSizeTableId). See Messages to determine the messages sent as part of the reference data spin.

Decimals

The number of decimals in use for each orderbook is sent in the Orderbook Directory message [R] spin at the start of the day.

When a value is received in an ITCH Integer field in subsequent messages for that orderbook, the following formulas must be applied as appropriate to determine the actual value:

  • Price = Integer / 10 power PriceDecimals

  • Quantity = Integer / 10 power QuantityDecimals

Price Unavailable

Unless explicitly stated otherwise, a Price type field sent with a value of 0x7FFFFFFFFFFFFFFF (hex) or 9223372036854775807 (decimal) indicates that a price is not available (or not applicable).

Data Types

Data Type

Description

Alpha

Alpha numeric character(s), left justified and right padded with blank spaces (i.e. a char array)

Signed Integer

Signed big-endian binary encoded (e.g. a 32 or 64 bit signed integer)

Unsigned Integer

Unsigned big-endian binary encoded (e.g. a 32 or 64 bit unsigned integer)

NullTerminatedChar

Alpha numeric character(s), left justified and null terminated (i.e. variable length). Maximum length includes the terminating null character.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.