Nasadenie na 7 z 8 serverov stálo 460 miliónov dolárov. 45 minút.
1.
1. augusta 2012, 9:30 ráno ET: Knight Capital, tvorca trhu stojaci za zhruba desatinou všetkých obchodov s akciami v USA, práve nasadil nový kód pre smerovanie objednávok na sedem zo svojich ôsmich SMARS serverov. Ôsmy stále používa "Power Peg", kód vyradený v roku 2003, za rovnakým príznakom, ktorý nová funkcia opätovne používa. Počas 45 minút posiela podriadené objednávky, ktoré sa nikdy nezastavia: 4 milióny realizácií, 397 miliónov akcií, pozície v hodnote približne 7 miliárd dolárov, strata 460 miliónov dolárov. Pred otvorením prišlo 97 varovných e-mailov. Posmrtná správa z vlastného príkazu SEC: manuálne nasadenie, ktoré nikto neskontroloval, príznak s dvoma významami, počítadlo zastavenia presunuté v roku 2005 a nikdy znova netestované, vypínač, ktorý neexistoval, a "oprava" na živom trhu, ktorá situáciu zhoršila. Verdikt o oprave: REVERT.
Prečítajte si písanú edíciu (anglicky) ↗
Čo toto video pokrýva
- 27.–31. júla 2012: Kód RLP ručne skopírovaný na 7 z 8 SMARS serverov; žiadny druhý kontrolór, žiadny písomný postup
- 1. august, 8:01 ráno: 97 e-mailov „Power Peg disabled“ pred otvorením; nenavrhnuté ako upozornenia, nečítané
- 1. august, 9:30–10:15: 212 objednávok sa stane 4 miliónmi realizácií v 154 akciách; 3,5 miliardy USD dlhé, 3,15 miliardy USD krátke; strata 460 miliónov USD; odinštalovanie nového kódu situáciu zhoršuje
- 2. augusta – 19. decembra: akcie -63 % na 2,58 USD, záchrana vo výške 400 miliónov USD za 1,50 USD/akciu, fúzia s GETCO; október 2013: pokuta SEC 12 miliónov USD, prvý prípad pravidla Market Access Rule
Preložený prepis
Preložené z pôvodného anglického rozprávania. Dostupný zvuk a titulky sú kontrolované službou YouTube.
0:00 Obchodná firma nasadí nový kód na sedem z ôsmich serverov, a ôsmy kúpi a predá akcie za takmer sedem miliárd dolárov za štyridsaťpäť minút, čo je veľa, aj na stredu. 1. augusta 2012. Knight Capital, desatina všetkých amerických obchodov s akciami, hlási stratu 440 miliónov dolárov. SEC neskôr spočíta viac ako 460, udelí pokutu Knightovi dvanásť miliónov, a napíše posmrtnú správu sama: desať strán, nula prídavných mien.
0:25 Ako sa to stalo, prečo je to možné a kto je vlastne na vine. Toto je The Daily Diff, posmrtná správa. 27. júla. Newyorská burza spúšťa program retailovej likvidity 1. augusta, takže Knight kopíruje nový kód na SMARS, svoj smerovač objednávok, niekoľko serverov denne, ručne. Jeden technik, osem serverov, sedem kópií. Nikto nekontroluje; žiadne pravidlo nehovorí, že niekto musí. 8:01 ráno. Interný systém začne zamestnancom e-mailovať chybu, ktorá znie: Power
0:51 Peg disabled. Deväťdesiatsedem e-mailov pred otvorením. Nie sú navrhnuté ako upozornenia, takže ich nikto nečíta, čo je rozhodnutie o dizajne s cenovkou. 9:30, trh sa otvára. Sedem serverov spúšťa nový kód. Ôsmy vidí rovnaký príznak a namiesto toho spúšťa Power Peg: kód, ktorý Knight vyradil v roku 2003 a nikdy nevymazal. Posiela podriadené objednávky pre 212 zákazníckych objednávok a nikdy sa nezastaví.
1:13 Štyri milióny realizácií. 397 miliónov akcií. Účet držby prekračuje svoj limit dvoch miliónov dolárov, ktorý nie je pripojený k ničomu. Inžinieri na živom trhu odinštalujú nový kód zo siedmich dobrých serverov, čím sa Power Peg zapne všade. Okolo 10:15 sa zastaví: tri a pol miliardy dlhé, tri celá pätnásť miliardy krátke.
1:31 Jeden: Podmienka zastavenia Power Pegu, počítadlo, ktoré hovorí, že materská objednávka je vyplnená, je presunutá v roku 2005 a nikdy znova netestovaná, takže vyradený kód beží donekonečna. Dva: nová funkcia opätovne používa starý príznak Power Pegu, takže rovnaké "áno" znamená dve veci na dvoch serveroch. Tri: žiadny vypínač. Nič neporovnáva prichádzajúce objednávky s odchádzajúcimi; nič nezastavuje SMARS. Monitor rizika je obrazovka sledovaná ľuďmi; neukazuje limity. git blame: príznak opätovne použitý namiesto nového, mŕtvy kód volateľný deväť
2:00 rokov a manuálne nasadenie bez druhého páru očí. Nie technik. Príkaz SEC ho nikdy nemenuje, a ja tiež nie. Dosah výbuchu: 460 miliónov dolárov, približne desať miliónov za minútu. Akcie dole o 63 percent na dva doláre päťdesiatosem, záchrana 400 miliónov dolárov za dolár päťdesiat za akciu, fúzia s Getco do Vianoc. Hacker News, štvrtok: ako to bežalo 45 minút bez ľudského zásahu? Nebolo. Ľudia to zhoršili.
2:25 Verdikt, posmrtná správa: REVERT. Knight nikdy nepíše vlastnú posmrtnú správu; robí to regulátor, o štrnásť mesiacov neskôr, a riešením je pokuta a fúzia. Pondelok: nová funkcia, nový príznak; mŕtvy kód sa vymaže, nie vypne; čokoľvek, čo posiela objednávky, dostane vypínač. Pošlite mi incident, o ktorom stále nesmiete hovoriť, v komentároch, alebo na the daily diff dot dev. A to je rozdiel pre dnešok.
2:48 Som Niko z Axrisi. Zlučujte zodpovedne.
Zdroje
- 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



