Een implementatie naar 7 van de 8 servers verloor $460 miljoen. 45 minuten.
1 augustus 2012, 9:30 uur ET: Knight Capital, de market maker achter ruwweg een tiende van alle Amerikaanse aandelenhandel, heeft zojuist nieuwe order-routing code geïmplementeerd op zeven van zijn acht SMARS-servers.
1 augustus 2012, 9:30 uur ET: Knight Capital, de market maker achter ruwweg een tiende van alle Amerikaanse aandelenhandel, heeft zojuist nieuwe order-routing code geïmplementeerd op zeven van zijn acht SMARS-servers. De achtste draait nog steeds "Power Peg", code die in 2003 met pensioen is gegaan, achter precies de vlag die de nieuwe functie hergebruikt. Gedurende 45 minuten stuurt het kinderorders die nooit stoppen: 4 miljoen uitvoeringen, 397 miljoen aandelen, ongeveer $7 miljard aan posities, een verlies van $460 miljoen. 97 waarschuwingsmails waren voor openingstijd binnengekomen. Postmortem, uit het eigen besluit van de SEC: de handmatige implementatie die niemand heeft beoordeeld, de vlag met twee betekenissen, de stop-teller die in 2005 is verplaatst en nooit opnieuw is getest, de kill switch die niet bestond, en de "fix" in een levende markt die het erger maakte. Oordeel over de fix: REVERT.
Lees de geschreven editie (Engels) ↗
Wat deze video behandelt
- 27-31 juli 2012: RLP-code handmatig gekopieerd naar 7 van de 8 SMARS-servers; geen tweede beoordelaar, geen schriftelijke procedure
- 1 augustus, 8:01 uur: 97 "Power Peg uitgeschakeld" e-mails voor opening; niet ontworpen als waarschuwingen, niet gelezen
- 1 augustus, 9:30–10:15: 212 orders worden 4M uitvoeringen in 154 aandelen; $3.5B long, $3.15B short; $460M verloren; het deïnstalleren van de nieuwe code maakt het erger
- 2 augustus – 19 december: aandelen −63% tot $2.58, $400M redding voor $1.50/aandeel, fusie met GETCO; oktober 2013: $12M SEC-boete, eerste Market Access Rule-zaak
Vertaald transcript
Vertaald vanuit de originele Engelse gesproken tekst. Beschikbare audio en ondertiteling worden beheerd door YouTube.
0:00 Een handelsfirma implementeert nieuwe code op zeven van de acht servers, en de achtste koopt en verkoopt bijna zeven miljard dollar aan aandelen in vijfenveertig minuten, wat veel is, zelfs voor een woensdag. 1 augustus 2012. Knight Capital, een tiende van alle Amerikaanse aandelenhandel, meldt een verlies van 440 miljoen dollar. De SEC telt later meer dan 460, beboet Knight twaalf miljoen, en schrijft de postmortem zelf: tien pagina's, nul bijvoeglijke naamwoorden.
0:25 Hoe het gebeurt, waarom het mogelijk is, en wie er eigenlijk de schuld krijgt. Dit is The Daily Diff, postmortem. 27 juli. De New York Stock Exchange lanceert een retail liquiditeitsprogramma op 1 augustus, dus Knight kopieert nieuwe code naar SMARS, zijn orderrouter, een paar servers per dag, met de hand. Eén technicus, acht servers, zeven kopieën. Niemand controleert; geen regel zegt dat iemand dat moet doen. 8:01 uur. Een intern systeem begint medewerkers een fout te e-mailen die luidt: Power
0:51 Peg uitgeschakeld. Zevenennegentig e-mails voor openingstijd. Ze zijn niet ontworpen als waarschuwingen, dus niemand leest ze, wat een ontwerpbeslissing is met een prijskaartje. 9:30, de markt opent. Zeven servers draaien de nieuwe code. De achtste ziet dezelfde vlag en draait in plaats daarvan Power Peg: code die Knight heeft teruggetrokken in 2003 en nooit heeft verwijderd. Het stuurt kinderorders voor 212 klantorders, en stopt nooit.
1:13 Vier miljoen uitvoeringen. 397 miljoen aandelen. Een holdingaccount zwelt over zijn limiet van twee miljoen dollar, die nergens mee verbonden is. De ingenieurs deïnstalleren, in een levende markt, de nieuwe code van de zeven goede servers, wat Power Peg overal inschakelt. Rond 10:15 stopt het: drie en een half miljard long, drie punt vijftien miljard short.
1:31 Eén: Power Peg's stopconditie, de teller die zegt dat de hoofdorder is ingevuld, is verplaatst in 2005 en nooit opnieuw getest, dus de gepensioneerde code loopt eeuwig door. Twee: de nieuwe functie hergebruikt Power Peg's oude vlag, dus hetzelfde ja betekent twee dingen op twee servers. Drie: geen kill switch. Niets vergelijkt orders uit met orders in; niets stopt SMARS. De risicomonitor is een scherm dat door mensen wordt bekeken; het toont de limieten niet. git blame: een hergebruikte vlag in plaats van een nieuwe, dode code die negen jaar lang oproepbaar is,
2:00 en een handmatige implementatie zonder tweede paar ogen. Niet de technicus. Het SEC-bevel noemt hem nooit, en ik ook niet. Blast radius: 460 miljoen dollar, ongeveer tien miljoen per minuut. Aandelen met 63 procent gedaald tot twee dollar achtentwintig, een redding van 400 miljoen dollar voor anderhalve dollar per aandeel, een fusie met Getco voor Kerstmis. Hacker News, donderdag: hoe heeft het 45 minuten gedraaid zonder menselijke tussenkomst? Dat deed het niet. De mensen maakten het erger.
2:25 Oordeel, postmortem: revert. Knight schrijft nooit zijn eigen postmortem; de toezichthouder doet dat wel, veertien maanden later, en de oplossing is een boete en een fusie. Maandag: nieuwe functie, nieuwe vlag; dode code wordt verwijderd, niet uitgeschakeld; alles dat orders verstuurt krijgt een uit-schakelaar. Stuur me het incident waar je nog steeds niet over mag praten, in de reacties, of op the daily diff dot dev. En dat is de diff voor vandaag.
2:48 Ik ben Niko van Axrisi. Verantwoord samenvoegen.
Bronnen
- SEC Administrative Order, Release No. 34-70694 (Oct 16, 2013), In the Matter of Knight Capital Americas LLCwww.sec.gov
- SEC press release 2013-222, "SEC Charges Knight Capital With Violations of Market Access Rule"www.sec.gov
- Knight Capital Group 8-K, Aug 2, 2012 (the $440M statement)www.sec.gov
- Knight Capital Group 8-K, Aug 6, 2012 (the $400M convertible preferred)www.sec.gov
- Knight / GETCO merger announcement, Dec 19, 2012www.sec.gov
- NYT DealBook, "Knight Capital Says Trading Glitch Cost It $440 Million" (Aug 2, 2012)archive.nytimes.com
- Hacker News, Aug 2, 2012 (73 points)news.ycombinator.com
- Hacker News, "The $440M software error at Knight Capital" (294 points)news.ycombinator.com



