Cuando se perdieron millones en la bolsa por un error tecnológico

En la mañana del 1 de Agosto de 2012 el mercado accionario abrió a las 9:30 AM Hora del este como cualquier día hábil. Los siguientes 45 minutos son recordados como uno de los errores de programación más costos de la historia, ganándole incluso a la pérdida de la sonda Mars Climate por errores de conversión de distancia.

Knight Capital Group fue la empresa protagonista de uno de los peores momentos de la tecnología contemporánea. Era la líder del negocio de negociación de alta frecuencia, que utiliza algoritmos automáticos para negociar títulos valores a alta velocidad. Durante el primer trimestre de ese año la firma había participado en el 11% de las negociaciones de acciones en Estado Unidos.

knight-jumbo

El mes anterior –Julio de 2012- la NYSE había aprobado un nuevo programa llamado RLP que permitía negociar acciones de empresas minoristas en una especie de mercado paralelo. Para poder participar, Knight Capital modificó su software para poder enrutar ordenes de compra y venta a ese programa.

El primer error fue que para hacer la modificación los ingenieros reutilizaron un campo en la base de datos que definía si se ejecutaba una característica obsoleta desde 2003 llamada “Power peg”. Los cambios realizados en el ambiente de pruebas incluyeron la remoción del código obsoleto de “Power peg” y su reemplazo por la nueva funcionalidad que utilizaba ese mismo campo para validar si se debía redirigir la transacción al mercado paralelo. Las pruebas conducidas se cumplieron exitosamente y se aprobó el paso de las modificaciones a producción.

El segundo error fue al desplegar los cambios en la infraestructura de producción, que son los sistemas que operan en el mercado real. El equipo de tecnología pasó las modificaciones correctamente a 7 de los 8 servidores que procesaban las transacciones, pero en 1 de ellos el técnico olvidó copiar el código actualizado. En ese servidor la función de “Power Peg” siguió activa y seguía leyendo el campo que ahora tenía una función diferente. Es decir, la mayoría de las órdenes de compra y venta se procesaban correctamente en los 7 servidores actualizados. Pero las que pasaban por el único servidor que no se actualizó causaron las pérdidas millonarias.

Y el tercer error fue que en 2005, unos años después de dejar de utilizar la funcionalidad de “Power Peg”, los programadores movieron una parte de su lógica fuera de la funcionalidad y unos pasos antes en la secuencia de enrutamiento, pero nunca hicieron pruebas de cómo funcionaría con las modificaciones si en algún momento se activara (pues sí, ya estaba obsoleta). Pero más que no probar, el mayor problema fue dejar ese código obsoleto activo para que se ejecutara en cualquier momento.

Lo que pasó entonces esa mañana fue que ese octavo servidor empezó a procesar las transacciones. Las órdenes tenían activo el campo que ahora se utilizaba para el mercado paralelo, pero la versión del software presente en ese sistema lo entendía como el que definía si se ejecutaba la función de “Power peg”. La funcionalidad se ejecutó por cada orden y como llevaba mucho tiempo sin probarse y el resto de la plataforma había tenido muchos cambios, su funcionamiento fue defectuoso.

Lo que realmente estaba haciendo el algoritmo era comprando al precio con el que debería vender y vendiendo al precio con el que debería comprar (“buy high and sell low”). Esto significa que por cada par de transacciones se perdía centavos de dólar, pero teniendo en cuenta que era una firma de “high frecuency trading” (alta frecuencia) esto ocurrió 40 veces por segundo.

La diferencia arrojó pérdidas por USD $440 millones de dólares, más que las ganancias de USD $289 millones del trimestre previo al incidente y casi cuatro veces superior a las utilidades netas que habían tenido el año anterior. La acción de la Knight Capital Group se desplomó.

StockKnight

En diciembre de 2012, menos de 6 meses después, la empresa que antes era líder aceptó ser comprada por una de sus competidoras.

Fuentes

  1. http://dealbook.nytimes.com/2012/08/02/knight-capital-says-trading-mishap-cost-it-440-million/
  2. http://money.cnn.com/2012/08/09/technology/knight-expensive-computer-bug/
  3. http://www.bloomberg.com/bw/articles/2012-08-02/knight-shows-how-to-lose-440-million-in-30-minutes
  4. http://bryanpendleton.blogspot.com/2013/11/there-are-bugs-and-then-there-are-bugs.html
febrero 25, 2015 | 0 comentarios | Software

Comentar

Deja un comentario

Bitajor.com | Hecho en Colombia | 2008 - 2017 -