Order Flow & Tape Reading
Level: 4 (Application — novel problems, no hints) Time Limit: 60 minutes Total Marks: 60
Answer all questions. Show all working. Where calculations are required, state formulas before substituting.
Question 1 — Order Book & Level-2 (12 marks)
A stock shows the following Level-2 snapshot:
| Bid Size | Bid Price | Ask Price | Ask Size |
|---|---|---|---|
| 1,200 | 100.02 | 100.05 | 400 |
| 900 | 100.01 | 100.06 | 500 |
| 2,500 | 100.00 | 100.07 | 300 |
| 800 | 99.99 | 100.08 | 6,000 |
(a) Compute the bid-ask spread and the mid-price. (3)
(b) Compute the total displayed depth on each side (top 4 levels) and the order book imbalance ratio, defined as . Interpret the sign. (4)
(c) A market buy order for 900 shares hits the book. Compute the volume-weighted average fill price and the slippage versus the best ask. (5)
Question 2 — Time & Sales / Delta (14 marks)
The following prints appear on the tape (chronological), classified as buyer-initiated (at ask) or seller-initiated (at bid):
| # | Price | Size | Side |
|---|---|---|---|
| 1 | 50.10 | 300 | Buy |
| 2 | 50.10 | 500 | Buy |
| 3 | 50.09 | 800 | Sell |
| 4 | 50.09 | 200 | Sell |
| 5 | 50.11 | 1,000 | Buy |
| 6 | 50.10 | 400 | Sell |
(a) Compute the delta (buy volume − sell volume) for the session. (3)
(b) Compute the cumulative delta after each print and identify the print number at which cumulative delta peaks. (5)
(c) The price ended at 50.10, unchanged from print #6's level and only +0.00 net vs print #1. Given your cumulative delta result, state whether this shows divergence and explain what it implies about hidden order flow. (6)
Question 3 — Volume Profile, POC & Value Area (14 marks)
A session's traded volume by price level:
| Price | Volume |
|---|---|
| 25.00 | 400 |
| 25.10 | 900 |
| 25.20 | 2,100 |
| 25.30 | 3,200 |
| 25.40 | 1,800 |
| 25.50 | 1,000 |
| 25.60 | 600 |
(a) Identify the Point of Control (POC). (2)
(b) Compute the Value Area (70% of total volume) using the standard expansion-from-POC method. State the Value Area High (VAH) and Value Area Low (VAL). (9)
(c) Price is currently trading at 25.55, above VAH. State one order-flow-based expectation if the market is mean-reverting. (3)
Question 4 — Absorption, Exhaustion & Spoofing (10 marks)
(a) At the 25.30 level a trader observes 3,200 contracts trade while price fails to move down despite persistent seller-initiated prints. Name this phenomenon and state what it predicts. (4)
(b) A large 8,000-lot sell order sits 3 ticks above the market. As price approaches, the order is repeatedly cancelled and re-posted higher, and no fills occur. Classify this pattern, state whether it is legal, and give the trader's likely true intent. (6)
Question 5 — Institutional Detection (Applied) (10 marks)
Over 30 minutes, a stock trades in a tight 0.10 range on unusually high volume. Cumulative delta is roughly flat (near zero) despite the volume, and repeated large prints of ~5,000 shares appear at the bid without price falling.
(a) Explain, using absorption and cumulative-delta reasoning, whether this indicates institutional accumulation or distribution. (6)
(b) Give two additional tape/footprint signatures you would look for to confirm a large hidden institutional order. (4)
End of paper.
Answer keyMark scheme & solutions
Question 1 (12)
(a) Best bid 100.02, best ask 100.05. Spread (1) Mid (2)
(b) Bid volume (1) Ask volume (1) Imbalance (1) Negative → ask (sell) side heavier; short-term downward pressure / more supply displayed. (1)
(c) Buy 900: 400 @100.05, then 500 @100.06. (1) Cost (2) VWAP (1) Slippage per share (≈$0.51 total). (1)
Question 2 (14)
(a) Buy vol ; Sell vol . (2) Delta (1)
(b) Cumulative delta:
- After #1:
- After #2:
- After #3:
- After #4:
- After #5:
- After #6: (4)
Peak cumulative delta , first reached at print #2 (and re-touched at #5). Accept #2. (1)
(c) Price net change ≈ 0 (50.10 → 50.10) but final cumulative delta (net buying pressure). (2) This is a bearish divergence: aggressive buyers absorbed, yet price could not advance. (2) Implies hidden sell-side liquidity (limit sellers/absorption) soaking up buying — order flow not translating into price gain, warning of possible reversal or stalling despite positive delta. (2)
Question 3 (14)
Total volume . (1 within b)
(a) POC = price with highest volume = 25.30 (3,200). (2)
(b) Value Area target . (1) Start at POC 25.30 (3200). Expand by comparing the pair of levels adjacent above/below, adding the larger.
- Above 25.30: 25.40=1800. Below: 25.20=2100. Larger = 25.20 → add. Total . (2)
- Neighbors now: above 25.40=1800, below 25.10=900. Larger =25.40 → add. Total . Stop. (3)
Value area spans 25.20 → 25.40. VAH = 25.40, VAL = 25.20. (3)
(c) Trading at 25.55 is above VAH (25.40) → out of value; a mean-reverting market expects rejection and a move back down toward the value area / POC (25.30), so watch for sell-side absorption or fading delta above VAH. (3)
Question 4 (10)
(a) Absorption at 25.30 — large passive buyers absorbing aggressive sellers. (2) Predicts that selling pressure is being exhausted and price is likely to hold/bounce (support), a potential upward reversal. (2)
(b) Spoofing / layering (spoofing since a single large deceptive order repeatedly cancelled without intent to fill). (2) It is illegal (market manipulation, prohibited under securities/Dodd-Frank rules). (2) True intent: create a false impression of heavy supply to push price down / discourage buyers, while the trader actually wants to buy lower (opposite of the displayed order). (2)
Question 5 (10)
(a) High volume + flat cumulative delta means buy and sell aggression are roughly balanced in tape, yet large size hits the bid without price dropping → passive buyers absorbing the selling. This tight range on heavy volume with absorption at the bid indicates institutional accumulation (a large buyer quietly filling without moving price up). (6)
(b) Any two of: (2 each)
- Repeated identical/round-lot iceberg refills at the same bid price (hidden size).
- Footprint showing high volume but small price range / stacked imbalances on the bid.
- Prints larger than average trade size clustering at one level.
- Delta staying positive/neutral while price won't fall; volume spikes without matching wicks.
[
{"claim":"Q1 imbalance = -0.142857", "code":"bid=1200+900+2500+800; ask=400+500+300+6000; imb=(bid-ask)/(bid+ask); result = abs(imb+0.1428571428571429)<1e-9"},
{"claim":"Q1 VWAP = 100.0555...", "code":"cost=400*100.05+500*100.06; vwap=Rational(cost,900); result = abs(float(vwap)-100.05555555555556)<1e-9"},
{"claim":"Q2 delta = 400 and final cumdelta = 400", "code":"buys=300+500+1000; sells=800+200+400; delta=buys-sells; result = delta==400"},
{"claim":"Q2 peak cumulative delta = 800", "code":"seq=[300,500,-800,-200,1000,-400]; c=0; peak=-10**9;\nfor x in seq:\n c+=x\n peak=max(peak,c)\nresult = peak==800"},
{"claim":"Q3 total volume 10000 and VA reaches >=7000 at 7100", "code":"vols={25.00:400,25.10:900,25.20:2100,25.30:3200,25.40:1800,25.50:1000,25.60:600}; total=sum(vols.values()); va=3200+2100+1800; result = total==10000 and va==7100 and va>=0.7*total"}
]