Product Overview


Trading System API (TS-API) is a comprehensive class library for defining and simulating state of the art trading and investment strategies using the C++ language.

Product Features


ØSupports trading and investment strategies on futures, stocks, currencies, indices, and other exchange traded products.

ØEvent based architecture allows developers to respond to various events, such as transactions, messages, timer events, data events, fails and errors.

ØA single strategy can trade any number of instruments implementing pairs, baskets, hedges etc.

ØSupports pyramiding, multi-leg trades, partial-exits and add-on's.

ØDomain Specific Language (DSL) extension promotes intuitive semantics.

ØCustomizable order groups such as one-cancels-all (OCA).

ØPerformance optimized native time-series database classes ideal for high speed genetic optimizations and other performance sensitive tasks such as iterative simulations on large baskets.

ØAdvanced memory management allows simulations to operate on decades of tick-by-tick data without straining resources.

ØSupport for variable length time intervals (e.g. tick-bars, volume-bars, range-bars).

ØComprehensive reports and logs allow for in-depth inspection of all aspects of a simulation.

ØNo input/output restrictions of any kind.

ØTime series data can represent 'null' values which can be handled as required. This is useful when working with fundamental data that may contain gaps.

TS-API is an 'Open System'


Trading System API is an open system. Data can be exchanged freely between it and any other database or library (mathematical, statistical, financial, neural, genetic, etc.) for which a C or C++ API exists. This is important as trading strategies too complex to be evaluated in a linear fashion can thus be broken into manageable steps, allowing for various methods of pre-processing and normalization with interim data storage between steps. Such flexibility is required for strategies based on various types of machine-learning where datasets need to be generated and normalized before machine-learning can take place.

The library can be extended easily by implementing new functions to complement the native API. There is no restriction on complexity of any kind.