+− THE DAILY DIFFdev & AI news
REVERT

En driftsättning till 7 av 8 servrar förlorade 460 miljoner dollar. 45 minuter.

1 augusti 2012, 9:30 a.m.

1 augusti 2012, 9:30 a.m. ET: Knight Capital, market maker bakom ungefär en tiondel av all amerikansk aktiehandel, har precis driftsatt ny orderrouteringskod till sju av sina åtta SMARS-servrar. Den åttonde kör fortfarande "Power Peg", kod som pensionerades 2003, bakom samma flagga som den nya funktionen återanvänder. Under 45 minuter skickar den underordnade order som aldrig slutar: 4 miljoner exekveringar, 397 miljoner aktier, positioner värda cirka 7 miljarder dollar, en förlust på 460 miljoner dollar. 97 varningsmejl hade anlänt före öppningen. Postmortem, från SEC:s egen order: den manuella driftsättningen som ingen granskade, flaggan med två betydelser, stoppräknaren som flyttades 2005 och aldrig omtestades, kill-switchen som inte fanns, och "fixen" på en levande marknad som gjorde det värre. Dom om fixen: REVERT.

Läs den skrivna upplagan (engelska) ↗

Vad den här videon täcker

  • 27–31 juli 2012: RLP-kod kopieras för hand till 7 av 8 SMARS-servrar; ingen andra granskare, ingen skriftlig procedur
  • 1 aug, 8:01 a.m.: 97 "Power Peg disabled" e-postmeddelanden före öppningen; inte utformade som varningar, lästes inte
  • 1 aug, 9:30–10:15: 212 order blir 4M exekveringar i 154 aktier; 3,5 miljarder dollar lång, 3,15 miljarder dollar kort; 460 miljoner dollar förlorade; avinstallation av den nya koden gör det värre
  • 2 aug – 19 dec: aktier −63% till 2,58 dollar, 400 miljoner dollar räddning till 1,50 dollar/aktie, sammanslagning med GETCO; okt 2013: 12 miljoner dollar SEC-straff, första Market Access Rule-fallet

Översatt transkription

Översatt från den ursprungliga engelska berättelsen. Tillgängligt ljud och undertexter styrs av YouTube.

0:00 Ett handelsföretag driftsätter ny kod till sju av åtta servrar, och den åttonde köper och säljer nästan sju miljarder dollar i aktier på fyrtiofem minuter, vilket är mycket, även för en onsdag. 1 augusti 2012. Knight Capital, en tiondel av all amerikansk aktiehandel, rapporterar en förlust på 440 miljoner dollar. SEC räknar senare mer än 460, bötfäller Knight med tolv miljoner, och skriver postmortemet själv: tio sidor, noll adjektiv.

0:25 Hur det händer, varför det är möjligt och vem som faktiskt får skulden. Detta är The Daily Diff, postmortem. 27 juli. New York Stock Exchange lanserar ett detaljhandelsprogram för likviditet den 1 augusti, så Knight kopierar ny kod till SMARS, dess orderrouter, några servrar om dagen, för hand. En tekniker, åtta servrar, sju kopior. Ingen kontrollerar; ingen regel säger att någon måste göra det. 8:01 a.m. Ett internt system börjar e-posta personalen ett felmeddelande som lyder: Power

0:51 Peg avaktiverad. Nittiosju e-postmeddelanden före öppningen. De är inte utformade som varningar, så ingen läser dem, vilket är ett designbeslut med en prislapp. 9:30, marknaden öppnar. Sju servrar kör den nya koden. Den åttonde ser samma flagga och kör Power Peg istället: kod Knight pensionerade år 2003 och aldrig raderade. Den skickar underordnade order för 212 kundorder och slutar aldrig.

1:13 Fyra miljoner exekveringar. 397 miljoner aktier. Ett innehavskonto sväller över sin gräns på två miljoner dollar, vilket inte är kopplat till någonting. Ingenjörerna, på en levande marknad, avinstallerar den nya koden från de sju bra servrarna, vilket slår på Power Peg överallt. Runt 10:15 stoppar det: tre och en halv miljard lång, tre komma femton miljarder kort.

1:31 Ett: Power Pegs stoppvillkor, räknaren som säger att föräldraordern är fylld, flyttas 2005 och testas aldrig om, så den pensionerade koden loopar för evigt. Två: den nya funktionen återanvänder Power Pegs gamla flagga, så samma ja betyder två saker på två servrar. Tre: ingen kill switch. Inget jämför inkommande order med utgående order; inget stoppar SMARS. Riskövervakaren är en skärm som människor tittar på; den visar inte gränserna. git blame: en flagga återanvänds istället för en ny, död kod anropsbar i nio

2:00 år, och en manuell driftsättning utan ett andra par ögon. Inte teknikern. SEC-ordern nämner honom aldrig, och det ska inte jag heller. Spridningsradie: 460 miljoner dollar, ungefär tio miljoner i minuten. Aktier ner 63 procent till två dollar femtioåtta, en räddning på 400 miljoner dollar till en dollar femtio per aktie, en sammanslagning med Getco före jul. Hacker News, torsdag: hur kunde det köras i 45 minuter utan att en människa ingrep? Det gjorde det inte. Människorna gjorde det värre.

2:25 Dom, postmortem: REVERT. Knight skriver aldrig sitt eget postmortem; tillsynsmyndigheten gör det, fjorton månader senare, och lösningen är böter och en sammanslagning. Måndag: ny funktion, ny flagga; död kod raderas, inte avaktiveras; allt som skickar order får en avstängningsknapp. Skicka mig incidenten du fortfarande inte får prata om, i kommentarerna, eller på the daily diff dot dev. Och det är the diff för idag.

2:48 Jag är Niko från Axrisi. Merge responsibly.

Källor

  1. SEC Administrative Order, Release No. 34-70694 (Oct 16, 2013), In the Matter of Knight Capital Americas LLCwww.sec.gov
  2. SEC press release 2013-222, "SEC Charges Knight Capital With Violations of Market Access Rule"www.sec.gov
  3. Knight Capital Group 8-K, Aug 2, 2012 (the $440M statement)www.sec.gov
  4. Knight Capital Group 8-K, Aug 6, 2012 (the $400M convertible preferred)www.sec.gov
  5. Knight / GETCO merger announcement, Dec 19, 2012www.sec.gov
  6. NYT DealBook, "Knight Capital Says Trading Glitch Cost It $440 Million" (Aug 2, 2012)archive.nytimes.com
  7. Hacker News, Aug 2, 2012 (73 points)news.ycombinator.com
  8. Hacker News, "The $440M software error at Knight Capital" (294 points)news.ycombinator.com

Relaterade videor