Ažuriranje na 7 od 8 servera koštalo je 460 miliona dolara. 45 minuta.
1.
1. avgust 2012, 9:30 ujutro ET: Knight Capital, kreator tržišta koji stoji iza otprilike desetine ukupnog američkog trgovanja akcijama, upravo je primenio novi kod za usmeravanje naloga na sedam od svojih osam SMARS servera. Osmi i dalje pokreće "Power Peg", kod povučen 2003. godine, iza samog flag-a koji nova funkcija ponovo koristi. Tokom 45 minuta šalje podređene naloge koji se nikada ne zaustavljaju: 4 miliona izvršenja, 397 miliona akcija, pozicije vredne oko 7 milijardi dolara, gubitak od 460 miliona dolara. 97 upozoravajućih e-poruka stiglo je pre otvaranja. Postmortem, iz naloga SEC-a: ručno ažuriranje koje niko nije pregledao, flag sa dva značenja, brojač zaustavljanja pomeren 2005. i nikada ponovo testiran, prekidač za hitno zaustavljanje koji nije postojao, i "popravka" na živom tržištu koja je pogoršala situaciju. Presuda o popravci: REVERT.
Pročitajte pisano izdanje (engleski) ↗
Šta ovaj video pokriva
- 27-31. jul 2012: RLP kod ručno kopiran na 7 od 8 SMARS servera; bez drugog recenzenta, bez pisane procedure
- 1. avgust, 8:01 ujutro: 97 e-poruka "Power Peg onemogućen" pre otvaranja; nisu dizajnirane kao upozorenja, nisu pročitane
- 1. avgust, 9:30–10:15: 212 naloga postaje 4M izvršenja u 154 akcije; 3,5 milijardi dolara dugo, 3,15 milijardi dolara kratko; izgubljeno 460 miliona dolara; deinstaliranje novog koda pogoršava situaciju
- 2. avgust – 19. decembar: akcije −63% na 2,58 dolara, spasavanje od 400 miliona dolara po 1,50 dolara po akciji, spajanje sa GETCO; oktobar 2013: kazna SEC-a od 12 miliona dolara, prvi slučaj po Market Access Rule
Preveden transkript
Prevedeno sa originalne engleske naracije. Dostupan audio i titlovi kontrolisani su od strane YouTube-a.
0:00 Trgovačka firma primenjuje novi kod na sedam od osam servera, a osmi kupuje i prodaje akcije vredne skoro sedam milijardi dolara u četrdeset pet minuta, što je mnogo, čak i za sredu. 1. avgust 2012. Knight Capital, jedna desetina celokupnog američkog trgovanja akcijama, prijavljuje gubitak od 440 miliona dolara. SEC kasnije broji više od 460, kažnjava Knight sa dvanaest miliona, i sam piše postmortem: deset stranica, nula prideva.
0:25 Kako se to događa, zašto je to moguće i ko je zapravo kriv. Ovo je The Daily Diff, postmortem. 27. jul. Njujorška berza pokreće program likvidnosti za maloprodaju 1. avgusta, pa Knight kopira novi kod na SMARS, svoj ruter naloga, nekoliko servera dnevno, ručno. Jedan tehničar, osam servera, sedam kopija. Niko ne proverava; nijedno pravilo ne kaže da neko mora. 8:01 ujutro. Interni sistem počinje da šalje e-poštu osoblju sa greškom koja glasi: Power
0:51 Peg disabled. Devedeset sedam e-poruka pre otvaranja. Nisu dizajnirane kao upozorenja, pa ih niko ne čita, što je odluka o dizajnu sa cenom. 9:30, tržište se otvara. Sedam servera pokreće novi kod. Osmi vidi isti flag i umesto toga pokreće Power Peg: kod koji je Knight povukao u 2003. i nikada nije izbrisao. Šalje podređene naloge za 212 naloga klijenata, i nikada se ne zaustavlja.
1:13 Četiri miliona izvršenja. 397 miliona akcija. Račun za držanje raste iznad svog limita od dva miliona dolara, koji nije povezan ni sa čim. Inženjeri, na živom tržištu, deinstaliraju novi kod sa sedam dobrih servera, što uključuje Power Peg svuda. Oko 10:15 se zaustavlja: tri i po milijarde dugo, tri zarez petnaest milijardi kratko.
1:31 Jedan: uslov zaustavljanja Power Peg-a, brojač koji kaže da je roditeljski nalog popunjen, je pomeren 2005. i nikada ponovo testiran, tako da se penzionisani kod petlja zauvek. Dva: nova funkcija ponovo koristi stari flag Power Peg-a, tako da isto da znači dve stvari na dva servera. Tri: nema prekidača za ubijanje. Ništa ne poredi izlazne naloge sa ulaznim nalozima; ništa ne zaustavlja SMARS. Monitor rizika je ekran koji gledaju ljudi; ne prikazuje limite. git blame: flag ponovo iskorišćen umesto novog, mrtav kod pozivljiv devet
2:00 godina, i ručno ažuriranje bez drugog para očiju. Ne tehničar. Nalog SEC-a ga nikada ne imenuje, pa neću ni ja. Radijus eksplozije: 460 miliona dolara, otprilike deset miliona u minuti. Akcije pale 63 posto na dva dolara pedeset osam, spasavanje od 400 miliona dolara po dolar pedeset po akciji, spajanje sa Getco do Božića. Hacker News, četvrtak: kako je radio 45 minuta bez ljudske intervencije? Nije. Ljudi su pogoršali situaciju.
2:25 Presuda, postmortem: revert. Knight nikada ne piše svoj postmortem; regulator to čini, četrnaest meseci kasnije, a rešenje je kazna i spajanje. Ponedeljak: nova funkcija, novi flag; mrtav kod se briše, ne onemogućava; sve što šalje naloge dobija prekidač za isključivanje. Pošaljite mi incident o kojem još uvek ne smete da pričate, u komentarima, ili na daily diff dot dev. I to je diff za danas.
2:48 Ja sam Niko iz Axrisi. Spajajte odgovorno.
Izvori
- 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



