Implementacija na 7 od 8 servera izgubila 460 miliona dolara. 45 minuta.
1.
1. augusta 2012, 9:30 ujutro ET: Knight Capital, tržišni posrednik koji stoji iza otprilike desetine cjelokupnog trgovanja dionicama u SAD-u, upravo je implementirao novi kod za usmjeravanje naloga na sedam od svojih osam SMARS servera. Osmi još uvijek pokreće "Power Peg", kod povučen 2003. godine, iza samog obilježja koje nova funkcija ponovno koristi. Tokom 45 minuta šalje podređene naloge koji se nikada ne zaustavljaju: 4 miliona izvršenja, 397 miliona dionica, oko 7 milijardi dolara pozicija, gubitak od 460 miliona dolara. 97 e-mailova upozorenja stiglo je prije otvaranja tržišta. Postmortem, iz vlastitog naloga SEC-a: ručna implementacija koju niko nije pregledao, obilježje sa dva značenja, brojač zaustavljanja premješten 2005. godine i nikada ponovno testiran, prekidač za hitno zaustavljanje koji nije postojao, i "popravak" na živom tržištu koji je pogoršao situaciju. Presuda o popravku: REVERT.
Pročitajte pisano izdanje (engleski) ↗
Šta ovaj video pokriva
- 27-31. jula 2012: RLP kod ručno kopiran na 7 od 8 SMARS servera; bez drugog recenzenta, bez pisane procedure
- 1. augusta, 8:01 ujutro: 97 e-mailova "Power Peg onemogućen" prije otvaranja; nisu dizajnirani kao upozorenja, nisu pročitani
- 1. augusta, 9:30–10:15: 212 naloga postaje 4M izvršenja u 154 dionice; 3,5 milijardi dolara dugo, 3,15 milijardi dolara kratko; 460 miliona dolara izgubljeno; deinstaliranje novog koda pogoršava situaciju
- 2. augusta – 19. decembra: dionice -63% na 2,58 dolara, spašavanje od 400 miliona dolara po 1,50 dolara/dionici, spajanje sa GETCO; oktobar 2013: kazna SEC-a od 12 miliona dolara, prvi slučaj Market Access Rule
Prevedeni transkript
Prevedeno iz originalne engleske naracije. Dostupan zvuk i titlovi kontroliše YouTube.
0:00 Trgovačka firma implementira novi kod na sedam od osam servera, a osmi kupuje i prodaje dionice u vrijednosti od skoro sedam milijardi dolara u četrdeset pet minuta, što je mnogo, čak i za srijedu. 1. august 2012. godine. Knight Capital, desetina svih američkih trgovanja dionicama, 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 pridjeva.
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. augusta, pa Knight ručno kopira novi kod na SMARS, svoj ruter naloga, nekoliko servera dnevno. Jedan tehničar, osam servera, sedam kopija. Niko ne provjerava; nijedno pravilo ne kaže da neko mora. 8:01 ujutro. Interni sistem počinje slati e-mailove osoblju sa greškom koja glasi: Power
0:51 Peg onemogućen. Devedeset sedam e-mailova prije otvaranja. Nisu dizajnirani kao upozorenja, pa ih niko ne čita, što je odluka o dizajnu sa cijenom. 9:30, tržište se otvara. Sedam servera pokreće novi kod. Osmi vidi isti flag i umjesto toga pokreće Power Peg: kod koji je Knight povukao 2003. godine i nikada nije obrisao. Šalje podređene naloge za 212 korisničkih naloga, i nikada se ne zaustavlja.
1:13 Četiri miliona izvršenja. 397 miliona dionica. Račun za holding prelazi svoj limit od dva miliona dolara, koji nije povezan ni sa čim. Inženjeri, na živom tržištu, deinstaliraju novi kod sa sedam ispravnih servera, što uključuje Power Peg svuda. Oko 10:15 prestaje: tri i pol milijarde duga, tri cijela petnaest milijardi kratka.
1:31 Jedan: Uvjet za zaustavljanje Power Peg-a, brojač koji kaže da je roditeljski nalog popunjen, premješten je 2005. i nikada nije ponovno testiran, tako da se umirovljeni kod petlja zauvijek. Dva: nova funkcija ponovno koristi staru zastavicu Power Peg-a, tako da isto 'da' znači dvije stvari na dva servera. Tri: nema prekidača za isključivanje. Ništa ne uspoređuje dolazne naloge s odlaznim; ništa ne zaustavlja SMARS. Monitor rizika je ekran koji prate ljudi; ne prikazuje limite. git blame: zastavica ponovno korištena umjesto nove, mrtav kod pozivljiv devet
2:00 godina, i ručno postavljanje bez drugog para očiju. Ne tehničar. SEC nalog ga nikada ne imenuje, pa neću ni ja. Radijus eksplozije: 460 miliona dolara, otprilike deset miliona u minuti. Dionice pale 63 posto na dva dolara pedeset osam, spašavanje od 400 miliona dolara po dolar pedeset po dionici, spajanje sa Getcom do Božića. Hacker News, četvrtak: kako je radio 45 minuta bez ljudske intervencije? Nije. Ljudi su ga pogoršali.
2:25 Presuda, postmortem: REVERT. Knight nikada ne piše vlastiti postmortem; regulator to radi, četrnaest mjeseci kasnije, a rješenje je kazna i spajanje. Ponedjeljak: nova funkcija, nova zastavica; mrtav kod se briše, ne onemogućuje; sve što šalje naloge dobiva prekidač za isključivanje. Pošaljite mi incident o kojem još uvijek ne smijete govoriti, u komentarima, ili na the daily diff dot dev. I to je diff za danas.
2:48 Ja sam Niko iz Axrisija. Spojite 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



