+− THE DAILY DIFFdev & AI news
REVERT

Un deploy su 7 degli 8 server ha causato una perdita di 460 milioni di dollari in 45 minuti.

1° agosto 2012, 9:30 ET: Knight Capital, il market maker responsabile di circa un decimo di tutto il trading azionario statunitense, ha appena distribuito un nuovo codice di instradamento degli ordini su sette degli otto server SMARS.

1° agosto 2012, 9:30 ET: Knight Capital, il market maker responsabile di circa un decimo di tutto il trading azionario statunitense, ha appena distribuito un nuovo codice di instradamento degli ordini su sette degli otto server SMARS. L'ottavo esegue ancora "Power Peg", codice ritirato nel 2003, dietro la stessa flag che la nuova funzionalità riutilizza. Per 45 minuti invia ordini "child" che non si fermano mai: 4 milioni di esecuzioni, 397 milioni di azioni, circa 7 miliardi di dollari di posizioni, una perdita di 460 milioni di dollari. 97 e-mail di avviso erano arrivate prima dell'apertura. Post-mortem, dall'ordine della SEC stessa: il deploy manuale che nessuno ha revisionato, la flag con due significati, il contatore di stop spostato nel 2005 e mai ritestato, l'interruttore di emergenza che non esisteva, e la "correzione" in un mercato vivo che ha peggiorato la situazione. Verdetto sulla correzione: REVERT.

Leggi l'edizione scritta (inglese) ↗

Contenuto di questo video

  • 27-31 luglio 2012: codice RLP copiato a mano su 7 degli 8 server SMARS; nessun secondo revisore, nessuna procedura scritta
  • 1° agosto, 8:01: 97 e-mail "Power Peg disabilitato" prima dell'apertura; non progettate come avvisi, non lette
  • 1° agosto, 9:30-10:15: 212 ordini diventano 4 milioni di esecuzioni in 154 titoli; 3,5 miliardi di dollari lunghi, 3,15 miliardi di dollari corti; persi 460 milioni di dollari; la disinstallazione del nuovo codice peggiora la situazione
  • 2 agosto – 19 dicembre: azioni -63% a 2,58 dollari, salvataggio di 400 milioni di dollari a 1,50 dollari/azione, fusione con GETCO; ottobre 2013: multa SEC di 12 milioni di dollari, primo caso di Market Access Rule

Trascrizione tradotta

Tradotto dalla narrazione originale inglese. L'audio e i sottotitoli disponibili sono controllati da YouTube.

0:00 Una società di trading distribuisce nuovo codice su sette degli otto server, e l'ottavo compra e vende quasi sette miliardi di dollari di azioni in quarantacinque minuti, il che è molto, anche per un mercoledì. 1° agosto 2012. Knight Capital, un decimo di tutto il trading azionario statunitense, riporta una perdita di 440 milioni di dollari. La SEC in seguito ne conta più di 460, multa Knight di dodici milioni, e scrive il post-mortem stesso: dieci pagine, zero aggettivi.

0:25 Come succede, perché è possibile e chi è effettivamente il responsabile. Questo è The Daily Diff, post-mortem. 27 luglio. La Borsa di New York lancia un programma di liquidità al dettaglio il 1° agosto, così Knight copia il nuovo codice su SMARS, il suo router di ordini, pochi server al giorno, a mano. Un tecnico, otto server, sette copie. Nessuno controlla; nessuna regola dice che qualcuno debba farlo. 8:01. Un sistema interno inizia a inviare via e-mail al personale un errore che recita: Power

0:51 Peg disabilitato. Novantasette e-mail prima dell'apertura. Non sono progettate come avvisi, quindi nessuno le legge, che è una decisione di design con un costo. 9:30, il mercato apre. Sette server eseguono il nuovo codice. L'ottavo vede la stessa flag ed esegue invece Power Peg: codice che Knight ha ritirato nel 2003 e mai cancellato. Invia ordini child per 212 ordini clienti e non si ferma mai.

1:13 Quattro milioni di esecuzioni. 397 milioni di azioni. Un conto di custodia supera il suo limite di due milioni di dollari, che non è collegato a nulla. Gli ingegneri, in un mercato vivo, disinstallano il nuovo codice dai sette server buoni, il che attiva Power Peg ovunque. Verso le 10:15 si ferma: tre miliardi e mezzo lunghi, tre virgola quindici miliardi corti.

1:31 Uno: la condizione di stop di Power Peg, il contatore che dice che l'ordine parent è completato, viene spostato nel 2005 e mai ritestato, quindi il codice ritirato gira all'infinito. Due: la nuova funzione riutilizza la vecchia flag di Power Peg, quindi lo stesso sì significa due cose su due server. Tre: nessun interruttore di emergenza. Nulla confronta gli ordini in uscita con gli ordini in entrata; nulla ferma SMARS. Il monitoraggio del rischio è uno schermo osservato da esseri umani; non mostra i limiti. git blame: una flag riutilizzata invece di una nuova, codice morto richiamabile per nove

2:00 anni, e un deploy manuale senza un secondo paio di occhi. Non il tecnico. L'ordine della SEC non lo nomina mai, e nemmeno io lo farò. Raggio di esplosione: 460 milioni di dollari, circa dieci milioni al minuto. Azioni giù del 63 percento a due dollari e cinquantotto, un salvataggio di 400 milioni di dollari a un dollaro e cinquanta per azione, una fusione con Getco entro Natale. Hacker News, giovedì: come ha funzionato per 45 minuti senza che un umano intervenisse? Non è successo. Gli umani hanno peggiorato la situazione.

2:25 Verdetto, post-mortem: REVERT. Knight non scrive mai il proprio post-mortem; lo fa il regolatore, quattordici mesi dopo, e la soluzione è una multa e una fusione. Lunedì: nuova funzionalità, nuova flag; il codice morto viene eliminato, non disabilitato; qualsiasi cosa invii ordini ottiene un interruttore di spegnimento. Inviatemi l'incidente di cui non vi è ancora permesso parlare, nei commenti, o su the daily diff dot dev. E questa è la differenza per oggi.

2:48 Sono Niko di Axrisi. Merge con responsabilità.

Fonti

  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

Video correlati