Incidente · Pleno
Knight Capital 2012: mais de US$ 460 milhões perdidos em 45 minutos (SEC)
Incidente real. Pontos centrais: deploy incompleto em 1 de 8 servidores, reuso de feature flag, ausência de kill switch e deploy progressivo.
Resposta curta
Incidente real. Pontos centrais: deploy incompleto em 1 de 8 servidores, reuso de feature flag, ausência de kill switch e deploy progressivo. O caso vem da ordem administrativa da SEC sobre o Knight Capital, de outubro de 2013. Em 1º de agosto de 2012, o Knight sofreu um erro significativo no SMARS, seu sistema automático de roteamento de ordens de…
01 · CONTEXTO
Um roteador de ordens e a regra que limita seu risco
O caso vem da ordem administrativa da SEC sobre o Knight Capital, de outubro de 2013. Em 1º de agosto de 2012, o Knight sofreu um erro significativo no SMARS, seu sistema automático de roteamento de ordens de ações. Ao processar 212 pequenas ordens de varejo de seus clientes, o SMARS lançou milhões de ordens no mercado ao longo de 45 minutos. A SEC registra que o Knight perdeu mais de US$ 460 milhões com as posições indesejadas.
O SMARS é um roteador automático, algorítmico e de alta velocidade. Uma de suas funções centrais é receber ordens pai de outros componentes da plataforma de negociação do Knight e, conforme a liquidez disponível, enviar uma ou mais ordens filhas a mercados externos para execução.
As ordens dos clientes passam primeiro pela plataforma de negociação do Knight, cuja interface, gestão de ordens e execução interna já tinham controles contra ordens erradas.
A plataforma repassa ao SMARS as ordens pai.
O SMARS divide cada ordem pai em ordens filhas e as envia aos mercados externos para execução.
A infração sancionada é a de uma regra que exige que corretoras tenham controles e procedimentos razoavelmente desenhados para limitar os riscos do acesso ao mercado, inclusive os de sistemas automatizados. A ordem observa que a velocidade desses sistemas pode transformar um erro administrável num evento extremo de impacto amplo.
02 · O DEPLOY
Código novo sobre código velho, em oito servidores
Para se preparar para o Retail Liquidity Program (RLP) da NYSE, o Knight alterou sistemas e código de tratamento de ordens e implantou código novo no SMARS. O código novo deveria substituir um trecho sem uso, antes ligado a uma funcionalidade chamada Power Peg, que o Knight descontinuara muitos anos antes. Apesar do desuso, o Power Peg seguia presente e acionável quando o RLP foi implantado. O código novo também reaproveitou uma flag que antes ativava o Power Peg, e a intenção era apagá-lo para que, com a flag em sim, o RLP fosse acionado no lugar dele.
No Power Peg, uma função de quantidade cumulativa contava as ações já executadas da ordem pai e mandava parar de rotear ordens filhas quando ela estivesse totalmente preenchida. Em 2005, o Knight moveu a função de acompanhamento de ações cumulativas para um ponto anterior da sequência de código do SMARS e não retestou o Power Peg para saber se ele ainda funcionaria corretamente se fosse chamado.
O Knight implantou o código novo em etapas, em um número limitado de servidores do SMARS, em dias sucessivos.
Um técnico não copiou o código novo para um dos oito servidores do SMARS.
Não houve segundo técnico revisando a implantação e ninguém percebeu que o oitavo servidor seguia com o Power Peg e sem o código novo.
03 · A MANHÃ DO INCIDENTE
Quarenta e cinco minutos sem freio
Em 1º de agosto, o Knight recebeu ordens de corretoras cujos clientes eram elegíveis ao RLP. Os sete servidores que haviam recebido o código novo as processaram corretamente. As ordens enviadas com a flag reaproveitada ao oitavo servidor, porém, acionaram o código Power Peg defeituoso que ainda estava lá.
Nos servidores com o código novo, as ordens elegíveis ao RLP foram processadas corretamente.
No oitavo servidor, as ordens com a flag reaproveitada acionaram o Power Peg defeituoso.
Com a função de quantidade cumulativa movida, o servidor enviava ordens filhas continuamente, sem considerar as execuções que já tinha recebido.
Uma parte do sistema de ordens do Knight reconhecia que as ordens pai já estavam preenchidas, mas essa informação não chegava ao SMARS. Para as 212 ordens pai tratadas pelo Power Peg defeituoso, o SMARS enviou milhões de ordens filhas, com 4 milhões de execuções em 154 ações e mais de 397 milhões de ações, em cerca de 45 minutos. O Knight assumiu inadvertidamente cerca de US$ 3,5 bilhões em posição comprada líquida em 80 ações e cerca de US$ 3,15 bilhões em posição vendida líquida em 74 ações.
04 · OS CONTROLES AUSENTES
Nenhum freio na saída do roteador nem na exposição da empresa
Antes do SMARS havia controles, mas no próprio SMARS a SEC concluiu que não havia controles adequados contra ordens erradas. Faltavam um controle para monitorar a saída, como comparar as ordens que saíam com as que entraram, e procedimentos para parar o SMARS diante da própria atividade anômala. Do lado do capital, os limites de posição de alguns grupos não consideravam a exposição das ordens em aberto, e não havia limites de capital agregados da empresa ligados a controles automáticos que impedissem a entrada de ordens.
O SMARS enviava ordens filhas ao mercado sem um controle que comparasse a saída com a entrada e sem procedimento para pará-lo.
As execuções se acumulavam numa conta que guardava vários tipos de posições. A conta tinha limite de posição bruta, mas não estava ligada a nenhum controle automático da exposição geral da empresa.
O PMON, principal ferramenta de monitoramento de risco, mostrava posições depois das execuções e não gerava alertas automáticos de exposição.
Na abertura do mercado, pessoal sênior viu um grande volume de posições se acumulando na conta, mas o PMON não estava ligado à entrada de ordens para pará-la automaticamente.
Antes da abertura, um sistema interno do Knight enviou a um grupo de pessoas e-mails automáticos que citavam o SMARS e o erro Power Peg disabled. Eles não foram desenhados como alertas, em geral não eram revisados e não foram tratados antes da abertura.
| O que existia | O que a SEC apontou como ausente | |
|---|---|---|
| Saída do roteador | Controles antes do SMARS, na interface, na gestão de ordens e na execução interna | Controle para comparar as ordens que saíam com as que entraram e procedimentos para parar o SMARS |
| Limite de capital | Limites de posição de alguns grupos de negociação | Limites de capital agregados da empresa ligados a controles automáticos que impedissem a entrada de ordens |
| Monitoramento | PMON, monitor de posições depois das execuções | Alertas automáticos de exposição e ligação à entrada de ordens |
| Implantação | Procedimentos escritos em outros grupos do Knight | Procedimentos escritos para o SMARS e segundo técnico revisando a implantação |
05 · A RESPOSTA E O DESFECHO
Consertar ao vivo piorou o problema
O Knight não tinha procedimentos de supervisão para guiar o pessoal quando surgissem problemas significativos. Dependeu principalmente da equipe de tecnologia para identificar e tratar o problema do SMARS num ambiente de negociação ao vivo, enquanto o sistema seguia enviando milhões de ordens filhas.
Enquanto a equipe tentava achar a origem do problema num ambiente de negociação ao vivo, o sistema seguia enviando milhões de ordens filhas.
Numa das tentativas, o Knight desinstalou o código novo dos sete servidores onde ele estava correto. Isso piorou o problema: novas ordens pai passaram a ativar o Power Peg também nesses servidores.
Perguntas frequentes
O que é Knight Capital 2012: mais de US$ 460 milhões perdidos em 45 minutos (SEC)?
Incidente real. Pontos centrais: deploy incompleto em 1 de 8 servidores, reuso de feature flag, ausência de kill switch e deploy progressivo.
O que o design de Knight Capital 2012: mais de US$ 460 milhões perdidos em 45 minutos (SEC) cobre?
Ele está organizado nestas seções: Um roteador de ordens e a regra que limita seu risco, Código novo sobre código velho, em oito servidores, Quarenta e cinco minutos sem freio, Nenhum freio na saída do roteador nem na exposição da empresa e Consertar ao vivo piorou o problema.
Quanto tempo leva Knight Capital 2012: mais de US$ 460 milhões perdidos em 45 minutos (SEC) e qual é o nível?
Leva cerca de 12 minutos para ler e tem nível Pleno.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.