Articles Marketmedia

Knight Trading Loss Highlights Need For Stringent Software Testing

Written by Terry Flanagan | Aug 21, 2012 9:18:45 AM

A rigorous approach to software development is a sine qua non for algorithmic trading, as the recent Knight episode demonstrates.

“Software needs to be built in a fault intolerant manner, in order to prevent situations like Knight,” said James McInnes, chief executive of Cyborg Trading, a financial technology firm.

With the advent of drag-and-drop software development, traders can easily and quickly create algorithms and launch them into production, which creates risks.

“One of the biggest changes in the financial markets industry has been the deployment of drag-and-drop technology, which allows traders to put their own strategies into production themselves,” said McInnes.

What’s needed is to blend the speed of deployment of modern algorithmic development techniques with rigorous quality assurance and testing disciplines.

Cyborg Trading’s Cloud Trader is an automated trading platform that enables rapid development, testing and deployment of proprietary algorithmic strategies.

“We have an integrated software environment, in which everything is partitioned,” said Jonathan Leaver, vice-president of automated trading at Cyborg Trading. “We would never get anything put into production that hasn’t been tested.”

Software quality has evolved into a parallel lifecycle process alongside the development lifecycle with quality concerns factored in at every stage of the software lifecycle.

Ensuring the quality of software is one of the most important activities in the software lifecycle, according to IT research firm Ovum.

In a report, Ovum examined recent trends in the software quality space and emerging models in software testing. Software quality is critical to business because IT is no longer just about keeping the lights on and supporting the business.

“Organizations need to ensure that all functional as well as non-functional requirements are not only tested adequately, but are also on schedule,” said Chandranshu Singh, Ovum senior analyst, software, and author of the report.

Some common challenges associated with software testing stem from deficiencies in the test process and not the activity of testing itself.

Estimating the test effort is one of the main issues that plague test teams in many organizations. For this reason, agile development methodologies stress the inaccuracy of estimates and advise practitioners to take them only as guidelines to be revised as and when new information becomes available.

“This approach leads to realistic planning and ensures that the project stays on track because the team does not commit itself to its first estimate, which by definition would be furthest from the actual time/effort required,” said Singh.

Cyborg’s Cloud Trader provides an environment in which the functionality, correctness and performance of algorithms can be tested before they are launched into production.

A “local sandbox test environment” provides a dedicated local development machine in order to test functionality throughout the development process, including debugging tools which provide full-code transparency.

The system “provides a proprietary, isolated and customizable simulation environed, which leverage authentic market dynamics, including realistic fills and order queue”, said Leaver at Cyborg.

Paying more attention to software quality at every stage of the lifecycle will decrease the cost of software development, as well as the time to market. “By considering software quality issues before the QA [quality assurance] phase, organizations can not only reduce the cost of quality, but also shorten the time to market or time to deployment because the defects get caught earlier in the lifecycle,” said Singh at Ovum.