A few of us contributed some thoughts to the Financial Markets Insight piece on FX Performance. Read the full article here.
Performance Considerations in FX Trading Platforms
In this article, Mike O’Hara, publisher of The Trading Mesh – talks to Ash Gawthorp of The Test People, Matt Barrett of Adaptive Consulting, Andy Phillips of LMAX Exchange and Dan Marcus of ParFX about how technology challenges – particularly around performance – are being addressed as both the retail and the professional FX trading sectors adopt new trading platforms.
The Foreign Exchange (FX) market is the most heavily traded market in the world, averaging $5.3 trillion per day in 20131 . Although most of this takes place in the Institutional and Interbank markets, a significant portion – $185 billion according to industry estimates – is traded by individuals and professional investors.
In both the retail and the wholesale FX sectors, user demands are changing as technology plays an ever greater role. From a retail perspective, traders are making more and more use of mobile and hand-held devices. And in the wholesale and Interbank market where electronification and the growth of high-speed algorithmic trading has had a significant impact, a number of market operators are now completely re-assessing their technology strategies and business models.
“Connections dropping is a big problem. On a mobile device in the real world it can happen all the time. So you need to be using the right middle-ware to communicate between your device and the server.”
Matt Barrett, Director at Adaptive Consulting
Dealing with dropped connections
Matt Barrett, Director at Adaptive Consulting, a firm specialising in front-office trading systems development, explains some of the additional technology challenges associated with mobile FX trading apps. “Connections dropping is a big problem. On a mobile device in the real world it can happen all the time. So you need to be using the right middleware to communicate between your device and the server”, he says.
“You can’t be polling for example, because if you drop the connection with the server, the costs associated with re-establishing the connection can be massive. A naïve platform implementation will, on connection, re-acquire all the data it needs to have synchronized between the client and the server. That’s far too expensive to do on a mobile device, when it might be happening almost constantly as you move around. So the client apps have to be smarter and you have to take a slightly more sophisticated approach, only sending what’s changed rather than constantly informing about the current state of the world, which puts more pressure on your server and your infrastructure”
The introduction of multi-path TCP will go a long way towards addressing this challenge, according to Barrett.
“When fully deployed, this will allow a single TCP connection to move between different network interfaces (wifi, cellular) without the application using the connection to notice the difference. For FX trading apps on mobile devices this is obviously great because a user could start their session on wifi in the office, move out of range and have it seamlessly hop across to 4G, then move back to wifi when the user is back within range, all without any TCP reconnection and the associated re-synchronisation”
Given that there are so many different devices now available for running FX trading apps, another key point to consider is the development effort on multiple client platforms, according to Barrett.
“There are recent advances in technology that allow the sharing of some level of code, which means that costs can also be shared across development for multiple platforms, whether that’s thick client desktop development or IOS or Android mobile development”.
“Obviously the desktop is going to be significantly richer in functionality than the hand-held device. So reusing the backend services and the first tier of the client layer is something you can save a lot of money by doing, you just need to be aware that the user experience is going to differ, which isn’t necessarily a bad thing. You shouldn’t try to force ‘one size fits all’ across all your client platforms”, he adds.