Mikael has posted 2 posts at DZone. View Full User Profile

Swedish Trading Client on the NetBeans Platform

06.07.2010
| 6858 views |
  • submit to reddit

Nordic Growth Market (NGM) operates the Nordic Derivatives eXchange (NDX), a leading Scandinavian retail market, with over 2000 listed investment products like warrants, certificates, and mini futures. NGM also offer equity markets like the regulated NGM Equity and the unregulated Nordic MTF. Since November 2008, Nordic Growth Market is wholly owned by Boerse Stuttgart, Germany's leading retail exchange.

Elasticia is NGM's next generation trading system (the current is called Freeway). Elasticia has support for FIX (Financial Information eXchange) 5.0 SP2 as the main interface, which is a standard protocol for order, quote and trade handling, market data, etc. FAST (FIX Adapted for STreaming) 1.1 compression is used to reduce the required network bandwidth and to reduce latency. Instead of providing a proprietary protocol for trading, we have worked hard to make all features available using the standard FIX protocol to make it easier for banks, brokers, and market data vendors to integrate with Elasticia.

Elasticia

Elasticia is written completely in Java SE and will be running on Debian Linux.

Other benefits of Elasticia are:

  • Increased throughput and highly scalable.
  • Low latency.
  • Improved failover and availability (site failover).
  • 24/7 connectivity.
  • Any change can be made in runtime intraday (any time), e.g. add new market segments or instruments.

As information, the throughput that needs to be handled generally consists of price modifications of orders/quotes. A quote is a two sided order (bid and ask). An order is an instruction like "I want to buy 100 shares of NGM for 123 SEK (or less)". There are quite high throughput requirements for derivatives markets, such as NDX, where a market maker is expected to continuously provide updated prices for thousands of financial instruments. The initial setup of Elasticia at NGM will handle a throughput of 25 000 transactions/second (e.g., a quote modification). The maximum throughput of Elasticia is not yet official.

Elasticia Trading Client

The Elasticia Trading Client is a simple trading client with the basic functionality for order and manual trade entry and with a private trade ticker.

We have not included a market data view. Instead, we will provide real-time market data on our website. For our current market data website, see http://www.ngm.se/main.aspx?language=EN&siteid=A, then click Quotes. The Elasticia Trading Client communicates with Elasticia using the FIX/FAST protocol. Several traders that are part of the same trader group can manage each others orders.

NetBeans Platform

A feature that is expected by traders (users) is to be able to customize the layout of windows (order panel, order lists, trade lists, etc) in the trading client across several monitors (it's not uncommon to have 2-4 monitors as a trader). The position and setup of each window must be remembered by the application. The NetBeans Platform was chosen as the base for the Elasticia Trading Client since it provides all these window docking features out of the box.

It also provides a good framework for building an advanced client and helps out with all the OS related quirks (mac menu, etc). Since Elasticia is written in Java we could reuse all our libraries (for e.g., protocol handling) in the Elasticia Trading Client. Also, the NetBeans platform provides webstart packaging out of the box, which will be the main deployment method.

As we approach the launch date of Elasticia on October 11, 2010, more information will become available about the Elasticia Trading Client.

 

Published at DZone with permission of its author, Mikael Brännström.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)