When deploying new software for the SEC's Retail Liquidity Program, a technician failed to deploy to one of eight servers. That server still contained old code that, when triggered by the new system's flags, began executing a retired high-volume trading strategy — buying high and selling low at enormous speed.
Knight Capital was effectively bankrupted and acquired by Getco LLC within months. The SEC investigation report became a case study in deployment process failures. The incident accelerated industry adoption of automated deployment verification and kill switches.
The Incident
On August 1, 2012, Knight Capital Group — one of the largest market makers in the United States — began trading at 9:30 AM using newly deployed software for the SEC's Retail Liquidity Program. Within 45 minutes, the firm had accumulated $7 billion in unintended positions, resulting in a loss of $440 million. The company's stock dropped 75% and Knight was acquired by Getco LLC within months.
The Root Cause
Knight's deployment process required manually copying new software to each of eight production servers. A technician failed to deploy to one server. That server still contained old code — a retired trading strategy called "Power Peg" that had been decommissioned years earlier but never removed from the codebase.
The new software used a flag that, in the current system, activated the Retail Liquidity Program logic. On the one un-updated server, the same flag activated the old Power Peg strategy. Power Peg was designed to aggressively accumulate positions — buying at the ask and selling at the bid. It did exactly what it was designed to do, at enormous speed, losing money on every trade.
Knight had no kill switch. By the time engineers identified the problem, the damage was done.
The Pattern
Dead code is not dead. It is dormant. A flag that means one thing in new code can mean something entirely different in old code that was never removed. Knight's failure was not a single error — it was the intersection of manual deployment, retained dead code, flag reuse, and the absence of a kill switch. Any one of these, addressed, would have prevented the catastrophe.
Why It Matters
Knight Capital is the canonical example of why deployment processes must be automated, verified, and reversible. It is also the canonical example of why dead code must be removed, not just abandoned. Code that "isn't running" can start running when the conditions change. And when it does, it runs with the same authority as the code you intended to deploy.