+− THE DAILY DIFFdev & AI news
REVERT

Uma implementação em 7 de 8 servidores custou 460 milhões de dólares. 45 minutos.

1 de agosto de 2012, 9h30 ET: A Knight Capital, a criadora de mercado responsável por aproximadamente um décimo de todas as transações de ações nos EUA, acabou de implementar um novo código de roteamento de pedidos em sete dos seus oito servidores SMARS.

1 de agosto de 2012, 9h30 ET: A Knight Capital, a criadora de mercado responsável por aproximadamente um décimo de todas as transações de ações nos EUA, acabou de implementar um novo código de roteamento de pedidos em sete dos seus oito servidores SMARS. O oitavo ainda executa o "Power Peg", código retirado em 2003, por trás da mesma flag que o novo recurso reutiliza. Durante 45 minutos, ele envia ordens filhas que nunca param: 4 milhões de execuções, 397 milhões de ações, cerca de 7 mil milhões de dólares em posições, uma perda de 460 milhões de dólares. 97 e-mails de aviso chegaram antes da abertura. Post-mortem, da própria ordem da SEC: a implementação manual que ninguém reviu, a flag com dois significados, o contador de paragem movido em 2005 e nunca retestado, o kill switch que não existia, e a "correção" num mercado em direto que a piorou. Veredito sobre a correção: REVERT.

Ler a edição escrita (Inglês) ↗

O que este vídeo aborda

  • 27-31 de julho de 2012: Código RLP copiado manualmente para 7 de 8 servidores SMARS; sem segundo revisor, sem procedimento escrito
  • 1 de agosto, 8h01: 97 e-mails "Power Peg desativado" antes da abertura; não foram concebidos como alertas, não foram lidos
  • 1 de agosto, 9h30-10h15: 212 ordens tornam-se 4M execuções em 154 ações; 3,5 mil milhões de dólares de longo, 3,15 mil milhões de dólares de curto; 460 milhões de dólares perdidos; desinstalar o novo código piora a situação
  • 2 de agosto – 19 de dezembro: ações -63% para 2,58 dólares, resgate de 400 milhões de dólares a 1,50 dólares/ação, fusão com a GETCO; outubro de 2013: penalidade de 12 milhões de dólares da SEC, primeiro caso da Regra de Acesso ao Mercado

Transcrição traduzida

Traduzido da narração original em inglês. Áudio e legendas disponíveis são controlados pelo YouTube.

0:00 Uma empresa de negociação implementa novo código em sete dos oito servidores, e o oitavo compra e vende quase sete mil milhões de dólares em ações em quarenta e cinco minutos, o que é muito, mesmo para uma quarta-feira. 1º de agosto de 2012. Knight Capital, um décimo de todas as negociações de ações dos EUA, relata uma perda de 440 milhões de dólares. A SEC mais tarde contabiliza mais de 460, multa a Knight em doze milhões, e escreve o próprio post-mortem: dez páginas, zero adjetivos.

0:25 Como acontece, por que é possível e quem realmente leva a culpa. Este é The Daily Diff, post-mortem. 27 de julho. A Bolsa de Nova Iorque lança um programa de liquidez de retalho em 1º de agosto, então a Knight copia o novo código para o SMARS, o seu roteador de pedidos, alguns servidores por dia, manualmente. Um técnico, oito servidores, sete cópias. Ninguém verifica; nenhuma regra diz que alguém tem que o fazer. 8h01. Um sistema interno começa a enviar e-mails para a equipe com um erro que diz: Power

0:51 Peg desativado. Noventa e sete e-mails antes da abertura. Não são projetados como alertas, então ninguém os lê, o que é uma decisão de design com um preço. 9h30, o mercado abre. Sete servidores executam o novo código. O oitavo vê a mesma flag e executa Power Peg em vez disso: código que a Knight aposentou em 2003 e nunca excluiu. Ele envia ordens filhas para 212 ordens de clientes e nunca para.

1:13 Quatro milhões de execuções. 397 milhões de ações. Uma conta de custódia excede o seu limite de dois milhões de dólares, que não está ligada a nada. Os engenheiros, num mercado ao vivo, desinstalam o novo código dos sete servidores bons, o que liga o Power Peg em todo o lado. Por volta das 10h15, para: três mil e quinhentos milhões de longo, três mil e cento e cinquenta milhões de curto.

1:31 Um: A condição de paragem do Power Peg, o contador que diz que a ordem principal está preenchida, é movida em 2005 e nunca retestada, então o código aposentado entra em loop para sempre. Dois: o novo recurso reutiliza a antiga flag do Power Peg, então o mesmo 'sim' significa duas coisas em dois servidores. Três: sem kill switch. Nada compara ordens de saída com ordens de entrada; nada detém o SMARS. O monitor de risco é um ecrã observado por humanos; não mostra os limites. git blame: uma flag reutilizada em vez de uma nova, código morto invocável por nove

2:00 anos, e uma implementação manual sem um segundo par de olhos. Não o técnico. A ordem da SEC nunca o nomeia, e eu também não o farei. Raio de explosão: 460 milhões de dólares, aproximadamente dez milhões por minuto. Ações caem 63 por cento para dois dólares e cinquenta e oito cêntimos, um resgate de 400 milhões de dólares a um dólar e cinquenta cêntimos por ação, uma fusão com a Getco até ao Natal. Hacker News, quinta-feira: como é que funcionou 45 minutos sem intervenção humana? Não funcionou. Os humanos pioraram a situação.

2:25 Veredito, post-mortem: reverter. A Knight nunca escreve o seu próprio post-mortem; o regulador fá-lo, catorze meses depois, e a correção é uma multa e uma fusão. Segunda-feira: nova funcionalidade, nova flag; código morto é apagado, não desativado; qualquer coisa que envie ordens ganha um interruptor de desligar. Envie-me o incidente sobre o qual ainda não pode falar, nos comentários, ou em the daily diff dot dev. E essa é a diferença de hoje.

2:48 Sou o Niko da Axrisi. Merge com responsabilidade.

Fontes

  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

Vídeos relacionados