Anyone can see the order book. Almost no one knows what it costs to take it.
Walk-the-book on the reconstructed limit order book, replayed across 22 trading days on 25 of SET's most-traded mainboard common stocks. POV impact curves, time-of-day patterns, refill dynamics, and capacity tiers — the questions a live snapshot cannot answer.
The order book on a trader's terminal shows the current state — bids and offers stacked at each level. What it doesn't show is what happens when you take it.
These are not snapshot questions. They need simulated execution against the full reconstructed book, replayed across many days.
A common assumption: small orders are free. They cross one tick of spread and the market maker eats it. Not quite. Even the smallest order pays the half-spread. For a stock pinned at 1 tick — which is most of the SET book (Chapter 4) — the half-spread is the cost floor. Every order pays at least this much, no matter how tiny.
| Symbol | Tick (bps) | 0.5% POV impact | 5% POV impact | 25% POV impact |
|---|---|---|---|---|
| DELTA | 35 | 18 bps | 54 bps | 127 bps |
| PTTEP | 41 | 20 bps | 29 bps | 108 bps |
| GULF | 44 | 21 bps | 43 bps | 108 bps |
| AOT | ~42 | 22 bps | 22 bps | 52 bps |
| RS | 87 | 44 bps | 145 bps | 272 bps |
Read DELTA's row: a 0.5%-of-daily-volume order costs ~18 bps — about half a tick. That is not impact. That's just crossing the spread. Impact starts above the floor.
Each stock has its own cliff — the POV at which depth runs out and the next slice has to walk through L2, L3, and beyond.
AOT (deep liquidity): flat at 22 bps from 0.5% to 5% POV. Climbs only to 52 bps at 25% POV. The book is so deep that even big orders barely move price.
DELTA (medium): flat at 18 bps until 1%, then climbs steadily — 54 bps at 5%, 127 bps at 25%. Typical of an active large-cap with concentrated L1.
RS (shallow): 44 bps even at 0.5%, jumps to 145 bps at 5%, 272 bps at 25%. Wide tick, thin book — every order is expensive, big orders prohibitive.
Same chart could be drawn for every stock. The shape is always the same; the cliff just sits at different POV thresholds and different heights.
For a portfolio manager, the question is rarely one stock. Sorted top-to-bottom by 5% POV cost (cheapest at top), three regimes emerge.
Top of the table (PTT, KBANK, AOT, SCB, KTB): green across nearly all POV levels. These are the liquid spine of the SET — large size moves through with under 50 bps cost up to 10% POV.
Middle (CPALL, BDMS, GULF, PTTEP, INTUCH): green at small sizes, amber at 10–25% POV. Standard institutional execution territory.
Bottom (RS, EA, VGI, HMPRO, SCGP, CCET): red at modest sizes. Small-cap liquidity — only retail-scale orders avoid significant cost.
Grey cells = not fillable inside the visible book. Some stocks at 25% POV simply don't have enough depth in 10 levels to absorb the order at all.
The book is thin at the open, thickens through the morning, steady through the afternoon, and tightens slightly into the close.
| Hour (Bangkok) | 1% POV | 5% POV | 10% POV |
|---|---|---|---|
| 10:00 (open) | 20 bps | 68 bps | 97 bps |
| 11:00 | 18 bps | 59 bps | 94 bps |
| 12:00 | 18 bps | 53 bps | 88 bps |
| 14:00 | 18 bps | 50 bps | 80 bps |
| 15:00 | 18 bps | 46 bps | 80 bps |
| 16:00 (close) | 18 bps | 45 bps | 73 bps |
Small orders (1% POV) barely care — half-spread is half-spread. Larger orders (5%, 10%) save 20–25 bps by waiting for the afternoon. On a 100M THB order, that's 20–25K THB recovered by waiting two hours.
A live LOB snapshot cannot tell you this. A trader can only know the cost shape by replaying many days.
Across 22 days, every L1 quantity drop ≥ 50% was tracked, with the timer running until L1 recovered to ≥ 80% of its pre-drop size.
| Symbol | Refill rate | Median refill time | P95 refill time |
|---|---|---|---|
| CCET | 26% | 0.2s | 25.0s |
| RS | 28% | 2.0s | 31.7s |
| DELTA | 14% | 0.9s | 25.6s |
| EA | 15% | 0.7s | 26.4s |
| AOT | 8% | 6.5s | 48.3s |
| PTT | 10% | 10.8s | 54.0s |
1. Most L1 drops never refill at the same price. Refill rate is 8–28% across the board. The other 72–92% of the time, the price moved before liquidity returned. This is why eyeballing live L1 is misleading — what you see is not what the next slice will see.
2. When refill happens, it's usually fast. Median refill time is sub-2-second for the active names. This tells you slice timing — fast-refill names tolerate sub-second slicing; slow-refill names need bigger time gaps.
For each stock, find the largest POV where median impact stays below 25 bps. That's the practical execution capacity at a 25 bps cost ceiling.
| Capacity tier | Stocks | Max POV at 25 bps |
|---|---|---|
| Deepest | AOT | 10% POV |
| Deep | CPALL, SCB, KBANK, KTB | 5% POV |
| Standard | GULF, BH, IVL, PTTEP, BDMS | 2% POV |
| Tight | DELTA, MINT, COM7, PTTGC | 1% POV |
| Below floor | EA, RS, TOP, TRUE, PTT, VGI, SCGP, HMPRO, CCET, TTB, WHA | half-spread > 25 bps |
The "below floor" group is striking. These stocks have a tick-pinned spread where half-spread alone exceeds 25 bps — meaning a 25 bps cost budget is unachievable for any size, even a 1-share order. PTT is the most extreme: deep enough to absorb 25% POV at only 41 bps, but the half-spread floor is already 40 bps. Most of the cost is paying to cross the spread, not impact.
This is what Chapter 4's tick-grid finding looks like in trading terms: the binding tick is the cost.
The instinct: execution cost is impact — the price moving away because of your order. The data says otherwise. For most SET stocks at typical institutional sizes, half-spread alone is 50–100% of total execution cost. Impact is the smaller component.
| Symbol | POV | Total cost | Half-spread | Spread share | Impact share |
|---|---|---|---|---|---|
| AOT | 5% | 22 bps | ~22 | ~100% | ~0% |
| CPALL | 5% | 23 bps | 22 | 96% | 4% |
| KBANK | 5% | 16 bps | ~16 | ~100% | ~0% |
| PTTEP | 5% | 29 bps | 20 | 69% | 31% |
| GULF | 5% | 43 bps | 21 | 49% | 51% |
| DELTA | 5% | 54 bps | 18 | 33% | 67% |
| PTT | 25% | 41 bps | 40 | 98% | 2% |
For PTT at 25% POV — moving a quarter of a day's volume in a megacap — only 1 bps of the 41 bps cost is impact. The other 40 bps is just paying to cross the spread.
This has a hard implication: you cannot optimize your way under the half-spread floor. Better algos, smarter slicing, faster execution — none of it changes what every order pays to cross the spread once. The tick grid (Chapter 4) is therefore not just a microstructure curiosity. It is the dominant component of the bill an institutional desk pays to trade SET names.
Two chapters, one mechanism — Ch 4: the tick grid pins the spread at 1 tick. Ch 5: that 1-tick spread is the majority of execution cost. Execution skill matters above the floor. The floor itself is set by the exchange's tick rules, not by anything a trader can control.
Once you have impact-by-POV-by-time-of-day-by-stock, the trading desk gains four levers.
Split a 100M THB PTTEP order. Sending it as one 25% POV trade costs ~108 bps = 1.08M THB. Splitting into 5×5%-POV slices over 5 days costs ~29 bps each.
Savings: 355K THB on this single order.Same alpha signal in two names — pick the lower-impact one. A 30 bps signal in DELTA (5% POV → 54 bps) is worthless. A 30 bps signal in CPALL (5% POV → 23 bps) clears 7 bps net.
31 bps cost differential, same edge.Execute in the cheap window. DELTA at 5% POV: open costs 68 bps, late afternoon costs 45 bps. The shape of the day is a free lookup if you have the history.
23 bps free for waiting.A long-bias strategy in mid-tier names (PTTEP, BDMS, IVL) is capped near 2% POV per name before cost starts compounding. Capacity is not "what fits in the book" — it's "what fits at your cost budget."
Capacity is a cost question, not a depth question.Scaled to a fund: 10B THB annual turnover × 20 bps average impact reduction = 20M THB / year recovered execution cost.
| What you need | Live snapshot LOB | Simulation + history |
|---|---|---|
| See current depth | ✓ | ✓ |
| Cost of walking through it | × | ✓ |
| Median cost across the day | × | ✓ |
| Time-of-day pattern | × | ✓ |
| Refill dynamics | × | ✓ |
| Capacity planning | × | ✓ |
The platform that delivers the second column is what turns the order book from a display into a decision tool.
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.