Academic journal article Informatica Economica

Efficient Architectures for Low Latency and High Throughput Trading Systems on the JVM

Academic journal article Informatica Economica

Efficient Architectures for Low Latency and High Throughput Trading Systems on the JVM

Article excerpt

The motivation for our research starts from the common belief that the Java platform is not suitable for implementing ultra-high performance applications. Java is one of the most widely used software development platform in the world, and it provides the means for rapid development of robust and complex applications that are easy to extend, ensuring short time-to-market of initial deliveries and throughout the lifetime of the system. The Java runtime environment, and especially the Java Virtual Machine, on top of which applications are executed, is the principal source of concerns in regards to its suitability in the electronic trading environment, mainly because of its implicit memory management. In this paper, we intend to identify some of the most common measures that can be taken, both at the Java runtime environment level and at the application architecture level, which can help Java applications achieve ultra-high performance. We also propose two efficient architectures for exchange trading systems that allow for ultra-low latencies and high throughput.

Keywords: Trading Systems, Software Architectures, High Performance, Low Latency, High Throughput, Java Virtual Machine

1 Introduction

The technological platforms used by se- curities exchanges have always been subject to increased exigencies coming, on one side, from the need to meet the demands of the trading firms, and, on another side, from the ever-changing financial environment. Trad- ing platforms are at the core of exchanges and they have a direct impact on the competi- tiveness of the market place. For this reason, they need to be secure, scalable, and failure- tolerant and to perform well, in order to effi- ciently handle an ever-increasing transaction volume [1],

It is not only the volumes of transaction which are continuously growing, but also the demands for better access to markets and faster execution times. As algorithmic trad- ing begins to be widely used by more and more trading firms, the exchanges' trading systems need to be continuously improved to keep up with the new requirements. Perfor- mance is probably the most dynamic coordi- nate of the electronic trading processing chain. Exchanges which were performing well a few years ago might not be able to handle the algorithmic trading and high fre- quency trading activity from nowadays.

Moreover, recent changes in the trading regu- lations has led to the emergence of new trad- ing venues, in the form of multilateral trading facilities (MTF) or alternative trading sys- tems (ATS). These new venues created added value for investors through reduced transac- tion costs and access to equity markets worldwide [6], Alternative trading systems were notable for high trading speeds, making their platforms attractive to high frequency traders, for innovative fee structures and trad- ing incentives and for enabling their custom- ers to choose among customized market models.

These made the new venues highly attractive and caused an intensification of competition for order flow [7], Regular exchanges had to find ways to keep their customer base, by of- fering discounts, improving their service of- ferings and by optimizing their trading plat- forms.

In this landscape, the characteristics of the software platforms offered by the trading venues have become one of the key decision factors for the trading firms when choosing a market place.

The pervasive impact of the trading systems on an exchange's service level and profit and loss statement has put a lot of pressure on software engineers and architects to optimize these platforms for ultra-high performance. Special attention was directed towards all of the aspects which have an impact on the sys- tem's reliability: availability, volume capaci- ty, execution speed, scalability, fault toler- ance and recoverability. In order to achieve a high level of performance, software engi- neers typically resorted to low-level technol- ogies, highly specialized software solutions and even hardware-accelerated software components, deployed on high performance clusters of servers. …

Search by... Author
Show... All Results Primary Sources Peer-reviewed

Oops!

An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.