Trading-System-API is a comprehensive set of C++ foundation classes for simulating and deploying trading and investment strategies. The library features a modern 'event' based architecture as well as advanced time-series and order-management functionality.

Intuitive and Concise Trading Logic



Advanced Metrics, Aggregation and Logging

Strategy simulations produce browser based reports with numerous metrics and graphics. Performance is available for each traded instrument individually as well as at the strategy level in aggregated form. In addition, the library produces Trade Reports, Transaction Reports, and Order Reports.

'Event' Based Architecture

Strategy objects respond to external events such as transaction-confirmations, new price-quotes, timer-events, etc. Messages and events are asynchronous.

  • Highly Flexible Event Based Architecture:
  •     New orders can be sent in response to a confirmation.
  •     Orders can be updated in response to a partial.
  •     Action can be taken in response to a reject.
  •     Messages can be intercepted to react asynchronously.


Trading System API also features time-series plotting functionality. Plots are generated as graphic files in PNG format. These enhance the analytical capability of the library and help in debugging strategy code.

Charts are defined with a single line of code!

Multiple Instruments Traded by a Single Strategy

A single trading strategy can trade any number of instruments! Core positions and hedge positions can be managed by the same strategy. Pairs and baskets are easily implemented.

Product Highlights

  •     'Load as you go' memory management for 'endless' simulations without straining ressources.
  •     Microsecond intervals.
  •     Support for pyramiding, fractional-units, multi-leg trades, partial-exits and position add-on's.
  •     Performance optimized native time-series database classes ideal for large-scale computational methods.
  •     Unlimited data-streams per strategy (intermarket, spreads, baskets) .
  •     Support for variable length time intervals (e.g. tick-bars, volume-bars).
  •     No input/output restrictions of any kind.
  •     Data objects can handle 'null' / 'NA' values.
  •     Component based architecture that can be extended.
  •     Standards based (C++11). Dependency only on standard C/C++ libs.
  •     Availability of Source Code (Coming Soon)
  •     Reasonable Licensing Terms.
  •     Click here for full feature list.