Diegimas į 7 iš 8 serverių kainavo 460 mln. USD nuostolių. 45 minutės.
2012 m.
2012 m. rugpjūčio 1 d., 9:30 val. ET: Knight Capital, rinkos formuotoja, atliekanti maždaug dešimtadalį visų JAV akcijų prekybos operacijų, ką tik įdiegė naują pavedimų nukreipimo kodą į septynis iš aštuonių savo SMARS serverių. Aštuntasis vis dar naudoja „Power Peg“ – 2003 m. nustatyta programa, esanti už to paties žymeklio, kurį naudoja nauja funkcija. 45 minutes ji siunčia antrinius pavedimus, kurie niekada nesustoja: 4 milijonai vykdymų, 397 milijonai akcijų, apie 7 milijardų USD pozicijų, 460 milijonų USD nuostolis. Prieš atidarymą buvo gauti 97 įspėjamieji el. laiškai. Po analizės, pagal pačios SEC nurodymą: rankinis diegimas, kurio niekas neperžiūrėjo, žymeklis su dviem reikšmėmis, sustabdymo skaitiklis, perkeltas 2005 m. ir niekada nepatikrintas, išjungimo jungiklis, kurio nebuvo, ir „taisymas“ realioje rinkoje, kuris viską pablogino. Taisymo verdiktas: REVERT.
Skaityti rašytinę versiją (anglų k.) ↗
Kas aptariama šiame vaizdo įraše
- 2012 m. liepos 27–31 d.: RLP kodas rankiniu būdu nukopijuotas į 7 iš 8 SMARS serverių; nebuvo antrojo peržiūrėtojo, nebuvo rašytinės procedūros
- Rugpjūčio 1 d., 8:01 val.: 97 „Power Peg išjungta“ el. laiškai prieš atidarymą; neskirti įspėjimams, neperskaityti
- Rugpjūčio 1 d., 9:30–10:15 val.: 212 pavedimų virsta 4 mln. vykdymų 154 akcijų rūšims; 3,5 mlrd. USD ilgalaikių pozicijų, 3,15 mlrd. USD trumpalaikių pozicijų; 460 mln. USD nuostolių; naujo kodo pašalinimas viską pablogina
- Rugpjūčio 2 d. – gruodžio 19 d.: akcijos nukrito 63% iki 2,58 USD, 400 mln. USD gelbėjimas po 1,50 USD už akciją, susijungimas su GETCO; 2013 m. spalio mėn.: 12 mln. USD SEC bauda, pirmasis Rinkos prieigos taisyklių atvejis
Išverstas transkriptas
Išversta iš originalo anglų kalbos. Galimas garso ir subtitrų valdymas per YouTube.
0:00 Prekybos įmonė diegia naują kodą į septynis iš aštuonių serverių, o aštuntasis perka ir parduoda beveik septynių milijardų dolerių vertės akcijų per keturiasdešimt penkias minutes, o tai yra daug, net ir trečiadienį. 2012 metų rugpjūčio 1 diena. „Knight Capital“, dešimtadalis visų JAV akcijų prekybos, praneša apie 440 milijonų dolerių nuostolį. SEC vėliau suskaičiuoja daugiau nei 460, skiria „Knight“ dvylika milijonų baudą, ir pati rašo ataskaitą po įvykio: dešimt puslapių, nulis būdvardžių.
0:25 Kaip tai vyksta, kodėl tai įmanoma ir kas iš tikrųjų yra kaltas. Tai „The Daily Diff“, po įvykio. Liepos 27 d. Niujorko vertybinių popierių birža pradeda mažmeninės prekybos likvidumo programą Rugpjūčio 1 d., todėl „Knight“ rankiniu būdu nukopijuoja naują kodą į SMARS, savo užsakymų maršrutizatorių, po kelis serverius per dieną. Vienas technikas, aštuoni serveriai, septynios kopijos. Niekas netikrina; jokia taisyklė nereikalauja, kad kas nors tikrintų. 8:01 val. Vidinė sistema pradeda siųsti darbuotojams klaidą, kuri skelbia: „Power
0:51 Peg išjungta“. Devyniasdešimt septyni el. laiškai prieš atidarymą. Jie nėra skirti kaip įspėjimai, todėl niekas jų neskaito, o tai yra dizaino sprendimas, turintis savo kainą. 9:30 val., rinka atsidaro. Septyni serveriai paleidžia naują kodą. Aštuntasis mato tą patį žymeklį ir vietoje jo paleidžia „Power Peg“: kodą, kurį „Knight“ nustojo naudoti 2003 m. ir niekada neištrynė. Jis siunčia antrinius užsakymus 212 klientų užsakymams ir niekada nesustoja.
1:13 Keturi milijonai įvykdymų. 397 milijonai akcijų. Laikymo sąskaita išauga virš dviejų milijonų dolerių limito, kuri niekur neprijungta. Inžinieriai, esant aktyviai rinkai, pašalina naują kodą iš septynių gerų serverių, kas įjungia „Power Peg“ visur. Apie 10:15 val. sustoja: trys su puse milijardo ilga pozicija, trys ir penkiolika šimtųjų milijardo trumpoji pozicija.
1:31 Pirma: „Power Peg“ sustabdymo sąlyga, skaitiklis, nurodantis, kad tėvinis pavedimas yra įvykdytas, perkeltas 2005 m. ir niekada nebuvo iš naujo patikrintas, todėl nebenaudojamas kodas veikia amžinai. Antra: nauja funkcija pakartotinai naudoja seną „Power Peg“ vėliavėlę, todėl tas pats „taip“ reiškia du skirtingus dalykus dviejuose serveriuose. Trečia: nėra avarinio išjungiklio. Nieko, kas lygintų gaunamus užsakymus su išsiunčiamais; nieko, kas sustabdytų SMARS. Rizikos monitorius yra ekranas, kurį stebi žmonės; jis nerodo limitų. Git blame: vėliavėlė panaudota pakartotinai vietoj naujos, neaktyvus kodas, pasiekiamas devynis
2:00 metus, ir rankinis diegimas be antros akių poros. Ne technikas. SEC nutarimas jo niekada nemini, ir aš taip pat neminėsiu. Poveikio spindulys: 460 milijonų dolerių, maždaug dešimt milijonų per minutę. Akcijos nukrito 63 procentais iki dviejų dolerių penkiasdešimt aštuonių centų, 400 milijonų dolerių gelbėjimo paketas už pusantro dolerio už akciją, susijungimas su „Getco“ iki Kalėdų. „Hacker News“, ketvirtadienis: kaip jis veikė 45 minutes, niekam neįsikišus? Nėra. Žmonės padarė dar blogiau.
2:25 Verdiktas, po analizės: atšaukti. „Knight“ niekada nerašo savo po įvykio ataskaitos; tai daro reguliatorius, po keturiolikos mėnesių, o sprendimas yra bauda ir susijungimas. Pirmadienis: nauja funkcija, naujas žymeklis; pasenęs kodas ištrinamas, ne išjungiamas; viskas, kas siunčia užsakymus, gauna išjungimo jungiklį. Atsiųskite man incidentą, apie kurį vis dar negalite kalbėti, komentaruose arba the daily diff dot dev. Ir tai yra šiandienos skirtumas.
2:48 Aš esu Niko iš Axrisi. Sujungti atsakingai.
Šaltiniai
- 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



