BATS’s announcement of pricing issues that date back to 2008 puts the spotlight again on the technology implementation process, a broken window in the industry. Testing software in today’s environment produces inherent conflicts, as quality assurance departments are under increasing pressure to test ever-more complex systems in ever-less time. Even the tiniest change can require hundreds of tests to be rewritten and thousands to be re-run.
In this case, the BATS matching engine allowed the trade-through or execution of short sales that were not at the best price under certain circumstances. Long gone are the days when orders arrived on an order book one after the other and waited to be traded or canceled, now replaced by a constant vortex of activity as orders are constantly re-ordered and re-priced depending on their sensitivity to the market. Despite automated testing, a plethora of order types makes it virtually impossible to catch every known scenario. In addition, although one can come pretty close, it is also impossible to exactly replicate the production environment.
[Related: "Kill the Black Swan"]
Issues with order execution behavior usually surface for one of two reasons: a client complains, or it appears in the QA cycle. If the latter, problems usually surface when testing new functionality and the tests have changed. Common problems that have been present and unnoticed by clients are disturbing mainly due to the sheer number (in this case, 445,029 trades) and timeline, but their overall impact on the industry is small compared to the bigger and more immediate issues of 2012, such as the Knight rogue algorithm and the troubled Facebook IPO.