ITCH And OUCH
Two lightweight binary protocols used by exchanges (originally Nasdaq) — ITCH broadcasts market data out to everyone, OUCH sends order instructions in from a single trading firm.
Prerequisites: The FIX Protocol
Exchanges need two different kinds of messages moving at the highest possible speed: telling everyone what's happening in the order book, and letting individual firms submit or cancel their own orders. Nasdaq built ITCH for the first job and OUCH for the second, and both trade every ounce of readability for raw speed — unlike the more general-purpose FIX protocol, they use fixed-length binary fields rather than text, so a computer can parse a message without scanning for delimiters.
ITCH is a one-way, outbound feed: the exchange broadcasts every order add, cancel, execution, and trade to all subscribers simultaneously, letting a firm reconstruct the full order book itself rather than receiving a pre-built summary. This "build it yourself from raw events" design is faster than the exchange doing the book-keeping centrally and shipping out a finished snapshot. OUCH runs the other direction: it's how a firm's trading system sends new orders, cancels, and replaces to the exchange's matching engine, again using compact binary messages to shave off microseconds compared to text-based alternatives.
The two protocols are typically used together by the same firm — ITCH to see the book, OUCH to act on it — and both are used as reference implementations that other exchanges' native protocols closely imitate, so understanding this pair generalizes to most high-frequency market-data and order-entry systems.
ITCH is the exchange talking (market data out); OUCH is the firm talking back (orders in) — both binary and minimal because every microsecond in a high-frequency system counts.
Practice in interviews
Further reading
- Nasdaq, TotalView-ITCH and OUCH Specifications