How 1,447 instruments find their opening price through 2.9 million equilibrium messages.
Before continuous trading begins, every instrument goes through a call auction. The exchange broadcasts indicative prices as orders accumulate. Most platforms ignore this phase entirely.
The Stock Exchange of Thailand uses a call auction mechanism to determine opening prices. During the pre-open phase, orders accumulate but do not execute. The exchange continuously broadcasts an indicative equilibrium price — the price at which the maximum volume could trade if the auction cleared at that moment.
The pre-open session begins at 09:30 and runs for approximately 30 minutes. During this window, market participants submit, modify, and cancel limit orders. With each change to the order book, the exchange recalculates the equilibrium price and broadcasts it as a type-Z message. For liquid stocks, hundreds of equilibrium updates arrive in a single pre-open session. The final equilibrium price becomes the official opening price.
This process repeats twice daily — once for the morning session (OPEN1) and once for the afternoon session (OPEN2), with an intermission between them. The closing auction (PRE-CLOSE) uses the same mechanism to determine the official closing price. Across 22 trading days, these auctions generate 2.9 million equilibrium messages for 1,447 actively-auctioned instruments.
"All results from real SET ITCH data. Not simulated. The equilibrium price convergence chart below shows actual type-Z messages for a single instrument during one pre-open session."
As orders arrive during pre-open, the indicative equilibrium price fluctuates. Early in the session, price swings are wide. As more orders arrive and the book deepens, the price converges. The final value becomes the opening trade price.
The chart above shows a representative convergence pattern. In the first 10 seconds, the indicative price swings by several baht as early orders create large imbalances. By the 30-second mark, the price has narrowed to within a few satang of its final value. The last 30 seconds show only minor oscillations. This convergence pattern is remarkably consistent across liquid stocks — the market "discovers" the opening price through iterative order accumulation.
Each instrument transitions through a sequence of trading states during the day. The orderbook_state (type O) message announces each transition. There are 29 distinct states in the dataset — far more than the simple "open/closed" binary most systems track.
System init
Morning auction
Continuous AM
Lunch break
Afternoon auction
Continuous PM
Closing auction
Market close
The diagram above shows the primary state flow. But the full dataset contains 29 states because instruments can also enter halted states (circuit breakers), suspended states (regulatory holds), and special auction states for volatility interruptions. Each state has different rules for order submission, modification, and execution.
"If your system does not track orderbook_state messages, you cannot know whether an instrument is in auction mode, continuous mode, or halted. Without this context, every order book analysis is potentially wrong."
Call auctions account for approximately 0.1% of total daily trading volume. But they determine two of the three most important prices of the day — the open and the close.
The disproportion between volume and importance is striking. The opening price anchors intraday expectations. The closing price determines NAV calculations for mutual funds, index rebalancing weights, margin valuations, and settlement prices for derivatives. Both are set by auctions that trade a fraction of daily volume. Understanding the auction mechanism — and the equilibrium convergence that precedes it — gives any market participant an information edge.
Three perspectives on auction dynamics and session structure.
Equilibrium messages (type Z) arrive at variable rates — up to 50 per second for liquid stocks during the final seconds of pre-open. Each carries the indicative price, matched volume, and imbalance side. Storing these requires a time-series schema with nanosecond timestamps. For the convergence analysis, we partition by instrument and sort by timestamp, then compute rolling standard deviation to measure convergence rate. Query pattern: range scan on (instrument, timestamp) with aggregation — a workload well suited to columnar storage.
The convergence rate of equilibrium prices during pre-open is a direct measure of price discovery efficiency. Faster convergence implies better pre-trade transparency and lower information asymmetry. Cross-sectional variation in convergence rates correlates with liquidity metrics — large-cap stocks converge in under 20 seconds, while small-caps may still oscillate at the auction deadline. This provides a novel measure of opening price quality that complements traditional metrics like Amihud illiquidity and quoted spreads.
If your firm executes at the open, monitoring equilibrium convergence gives you a real-time signal of opening price reliability. A stock that has not converged 10 seconds before the auction deadline is more likely to gap after the open. For portfolio managers benchmarked against VWAP or closing price, understanding the auction mechanism directly affects execution strategy. For compliance teams, state transitions determine when orders can legally be submitted — sending orders during a halt is a regulatory violation.
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.