Curriculum·Graduate·G903
Order Management and Reconciliation
The BATS IPO, 23 March 2012. BATS, an electronic exchange, listed its own shares on its own exchange, and a bug in its matching engine's handling of symbols in a particular range sent its matching engine into a loop, its own stock fell from 16 dollars to fractions of a cent as it began trading, and erroneous prints in Apple triggered a five-minute halt.
Lesson 1 opens on
The BATS IPO, 23 March 2012
02 cent as it started changing hands, and erroneous prints in Apple, which the glitch played a role in, triggered a five-minute circuit-breaker halt. The matching engine is the component that tracks which orders exist and pairs them into trades. BATS voided every trade in its own shares and the Apple prints, but voiding trades did not restore the market: it judged that the failure and the delay in fixing it had eroded investor confidence and made a timely return to fair and orderly trading unlikely, so it took the extraordinary step of withdrawing its own initial public offering entirely.
The lessons
- G903-01The order-management layer, and the state it must not loseExplain that the order-management layer holds the system's state of what orders exist and what filledabout 34 min · opens on The BATS IPO, 23 March 2012
- G903-02The fat finger, and the order you cannot cancelExplain that order entry needs validation and limits to catch an obviously wrong orderabout 34 min · opens on The Mizuho J-Com error, 8 December 2005
- G903-03Reconciliation: knowing what you actually didExplain that reconciliation is checking what the system actually did against what it intendedabout 34 min · opens on The Samsung Securities ghost shares, 6 April 2018
- G903-04Gross versus net, and the control that catches itExplain that a gross-versus-net error can send an amount far larger than intendedabout 34 min · opens on The Deutsche Bank fat finger, March 2018
