14 message types. 85 million records. What your exchange feed contains — and what you're not using.
Most teams analyze trades and maybe the order book. The exchange sends 14 distinct message types. This chapter maps all of them.
The SET ITCH protocol delivers 14 distinct message types over a single feed. Most analytics platforms consume only two or three. The rest — equilibrium prices, circuit breakers, tick size rules, market statistics — are discarded before they reach a database.
Every trading day, the Stock Exchange of Thailand transmits roughly 3.9 million messages across these 14 types. Each message carries nanosecond-precision timestamps, instrument identifiers, and type-specific payloads. Together they describe the complete lifecycle of a trading session — from instrument directory broadcasts at startup, through pre-open auctions, continuous trading, and market close.
The table below maps every message type in the dataset. The rightmost column shows what most market data users actually analyze. The gap between what is available and what is used represents untapped signal.
| Message Type | Records | Concept | Most Users Analyze? |
|---|---|---|---|
| trade (i) | 10.4M | Trade reporting | ✓ Yes |
| mbp (b) | 55.4M | Limit order book | ⚠ Partially |
| equilibrium (Z) | 2.9M | Call auction pricing | ✗ No |
| orderbook_state (O) | 858K | Trading sessions | ✗ No |
| halt (l) | 1,129 | Circuit breakers | ✗ No |
| index (J) | 50.9K | Index values | ⚠ Daily only |
| market_stats (g) | 28.5K | Market breadth | ✗ No |
| trade_stats (I) | varies | Official OHLCV | ✓ Yes |
| orderbook_dir (R) | ~4,500 | Instrument master | ✓ Yes |
| ticksize (L) | varies | Tick size rules | ✗ No |
| pricelimit (k) | varies | Price limits | ✗ No |
| ref_price (Q) | varies | Reference prices | ⚠ Closing only |
| exchange / market | ~10 | Venue metadata | ✓ Yes |
"All results from real SET ITCH data. Not simulated. Most teams use 4 of 14 message types. The other 10 contain session structure, auction dynamics, circuit breakers, and tick-size rules — the context that turns raw trades into intelligence."
The dataset spans common stocks, derivative warrants (call and put), depository receipts, and more. Record counts vary dramatically by product type.
Common stocks account for the majority of message volume, but derivative warrants — both call (DWC) and put (DWP) — generate substantial order book activity due to their shorter lifespans and higher turnover. Depository receipts and other instruments round out the universe. Understanding product-level composition matters because tick sizes, price limits, and trading rules differ across product types.
Each chapter includes callouts for three reader tracks. Follow the one that matches your role.
The ITCH protocol uses fixed-length binary messages with a single-byte type identifier. Each message type maps to a specific schema — trade messages carry price, quantity, and aggressor flag; MBP messages carry 10 levels of bid/ask depth. Parsing requires reading the type byte first, then dispatching to the correct struct layout. Our parser handles all 14 types in a single pass at ~1.2M messages/second.
Equilibrium messages (type Z) broadcast the indicative match price during call auctions. These 2.9 million records capture the price discovery process that occurs before every trading session opens. Academic literature on price discovery typically relies on trade-and-quote data — adding equilibrium messages reveals the convergence dynamics that TAQ misses entirely.
If your firm receives an exchange feed and stores only trades and daily OHLCV, you are discarding 70% of the available signal. Orderbook state transitions tell you when trading sessions begin and end. Halt messages flag circuit breakers in real time. Tick size and price limit messages define the rules your order routing must follow. Storing them costs almost nothing; not having them costs insight.
— Harris, Trading and Exchanges, Ch 6
This study uses licensed market data obtained through commercial agreement. Infozense is not affiliated with the Stock Exchange of Thailand. No market data is distributed through this website. This content is for educational and analytical purposes only and does not constitute investment advice.