In terms of technology, you can’t get much more complex an environment than a trading one. It is absolutely vital it works correctly, hums with efficiency and nothing stands in its way. If exchanges fall over, the buying and selling of commodities, derivatives, currencies and goods – vital to the functioning of any economy – are under threat. The potential economic fallout of even a small disruption to business could be huge.
In order for these tricky applications and systems to work, it is important to understand that the role of testing is pivotal. Holes in the testing strategy and problems with test scripts and test cases could lead to system glitches across the environment and a failure in the ability to trade.
One of the key problems in testing a trading application is that multiple systems are involved. A typical trading environment will often include the main trading application a clearing system that clears and settles a trade after execution. Some exchanges use the services of a clearing-house for this latter one, but some exchanges – like the London Metal Exchange – do it in-house. A trading application will also have risk management systems which include compliance and surveillance applications. These systems all have to interface with each other, so the test cases and scenarios have to be robust enough to cope with this. Again, the efficiency of these systems is directly proportional to the speed and the efficacy of the trade, so the testing has to be fail-safe.
And it’s not just the systems. A further issue for testing is that trades might enter the lifecycle via the trading application’s interface or via a third party trading application using the FIX (Financial Information eXchange) protocol. All The systems interact with each other using a variety of gateways, languages and protocols. So deriving the right test cases and scenarios that best capture the complex nature of a trading application in such an environment is a challenge.
Further testing obstacles come with the simulation of real time trading and generating high volumes of trades for performance testing against load – assessing just how well the systems can cope with high volumes of trades and identifying any black areas that need to be dealt with before go live. The identification of acceptable levels of latency is also crucial. Latency – the time interval between the simulation and response of a trade – and the reduction of it is the Holy Grail in trading environments, as time literally is money, so testing to define acceptable levels of latency is key.
A further testing challenge comes with regulation. The financial markets have faced a deluge of regulation since the financial crash and a recent regulatory hoop for exchanges to jump through has been the European Market Infrastructure Regulation (EMIR). In response, exchanges needed to go back into their test suites and make sure that the new EMIR account fields, which ensure compliance to the regulation, are accounted for in test scripts and thoroughly accounted for end to end.
So the testing of trade applications is extremely complex, with many layers and factors to take into account. And it is vital that exchanges get it right. If they don’t, the wider implications for the economy could be disastrous.
By Kemi Olafisoye, Test Consultant, Certeco