Software Testing Lessons Learned From Knight Capital Fiasco

14.08.2012

In early June 2012, the New York Stock Exchange (NYSE) received permission from the SEC to launch its . The RLP, designed to offer individual investors the best possible price, even if it means diverting trades away from the NYSE and onto a so-called "dark market," was set go live on Aug. 1. This meant trading houses had roughly a month and a half to scramble to write code to take advantage of this new feature.

The Knight Capital incident happened in the . Something went very wrong in the code that had been introduced overnight. The code itself was a high-frequency trading algorithm designed to buy and sell massive amounts of stock in a short period of time. A combination of mistiming and bad orders let to disastrous results.

Beyond admitting a software defect, the staff at Knight Capital have been reluctant to discuss exactly what caused the defect. They aren't alone-the majority of financial-related inquires for this article led to responses such as "No comment," I can't comment" or "We cannot comment on this story."

One technologist at a financial services company, who asked to remain anonymous, suggests two possibilities. It could have been the standard rush to production without proper testing. Parse the statements from Knight Capital carefully, the technologist says, and it's possible that the program that went into production was actually a test program-one designed to simulate trade requests and evaluate if they went through properly. conducted an analysis of the trades last week and came to the same conclusion.