The Jonah Group

 
 
 

Equities Trading System

The Problem

Develop an Equities Trading System front-end to replace an outdated green-screen technology, providing support for real-time transactions, notifications, and security. Move from leased lines to internet technology. Support multiple trading venues.

Our Responsibilities

Back To Top

The Solution

We delivered a full-featured solution with the following major features, components, and technologies:

Features

  • Sign On/Off
  • Password Change
  • Quote a Stock with extensive UI that allowed real-time updates (4 or 5 updates per second per stock), filtering by trading venue, integrated level II market data and depth of ECN book. Also included "stale data" indicator.
  • View Your Orders List with a powerful UI that allowed open, traded, and stopped (cancelled / rejected) orders to be easily browsed
  • Enter an Order, specifying side, price, limits, pegging, routing to other venues, expiry, principal, custodian
  • Cancel an Order, with real time order expiry / cancellation notification
  • Revise an Order
  • Act-for capability
  • Trade Summary Reports
  • Training Mode
  • Trading Alerts / Admin Messages
  • Trader Preferences
  • Flexible Workstation Layout
  • Full keyboard shortcut support for super-fast trading and navigation

Back To Top

Components

  • Browser-based ActiveX UI for the trading workstation, featuring the following ActiveX components
    • Quote Stock View
    • Order List View
    • Alerts View
    • Status Bar
    • Command Bar
  • Client-side C++ communications layer
    • Built on top of WinInet API
    • Maintained persistent HTTPS connection
    • XML parser runs in background thread
    • Raises COM event when new message parsed
  • Server-side communications daemon to handle asynchronous, real-time traffic
    • Written in Java
    • Protocol converter from Tibco to HTTPS
    • Staged fan-out to thousands of users
    • Managed distribution lists to allow non-redundant subscriptions
    • Management interface to allow remote control of the daemon
    • Resiliency handlers managed consistency of distribution lists
  • Servlets handled request/response traffic
    • Order entry
    • Data subscriptions

Back To Top

Technologies

  • HTML, ActiveX, VB6 front end
  • Java
  • C++ client-side communication tier
  • HTTP/XML transport
  • JRun3.0 (servlets)
  • Java Server, Tibco rendezvous back end
  • Oracle8i

Back To Top

Unique Challenges, Solved.

  • Handled variable fan-out characteristics of request/response traffic and asynchronous traffic by splitting the web server into two processes with different scalability requirements and failover conditions, while only introducing a very small amount of interprocess communication overhead.
  • Tunneled real time data through persistent HTTPS connections to fool firewalls and proxy servers.
  • Used Extensible Markup Language (XML) to unify the Java, C++, Visual Basic, and Tibco layers.
  • Created a data dictionary that notated the type, range, and description for each element in the Document Type Definitions (DTDs) that defined the XML messages.
  • Handled the lack of thread support in Visual Basic by writing a thin C++ communication layer that managed all client/server communications.
  • Using Servlets we created a reusable interface to a Tibco message bus. Clients subscribe to Tibco data feeds through the Servlet interface.
  • Converted proprietary publish/subscribe system (Tibco) to distribute real time data over the web (HTTP)
  • Developed a trading object model on the client tier that allowed flexible data manipulation and presentation.
  • Created automated unit tests for each component of the system. These tests were run each evening to ensure that new code didn't break existing code.

Back To Top

  • Questions? Ready to move your project forward? We'd be happy to discuss a solution for your needs. Contact Us to find out more.

 

© The Jonah Group, Ltd.      Telephone:   416-304-0860      Email:General Contact

Page Location: http://www.jonahgroup.com /work/caseStudies/equitiesTrading.html