Skip to content

Latest commit

 

History

History
13 lines (10 loc) · 2.19 KB

history.rst

File metadata and controls

13 lines (10 loc) · 2.19 KB

Evolution of the simulator

  1. Initial C++ version was developed in 2009-2011 by Riadh Zaatour.
  2. In order to improve its extensibility and performance the simulator was rewritten using C++ template metaprogramming techniques by Anton Kolotaev in 2012. Python bindings to it were implemented using Boost.Python. Unfortunately the price for providing high extensibility with no overhead was quite high: in order to use it a proficiency in C++ template metaprogramming was required.
  3. A new pure Python version was designed and developed in 2013 by Anton Kolotaev. The main idea of its design is representation of a simulation model as a composition of simple and compound modules. You may read the rationale for the modular design and consult the list of modules currently implemented in the simulator.
  4. A web interface allowing to set up model parameters and launch the simulation was developed by Anton Kolotaev in JavaScript using KnockoutJs as MVVM framework and Highstock as graph visualisation library.
  5. Karol Podkanski has implemented number of trading strategies and indicators during his internship at summer 2013 (initial implementation for Relative Strength Index, Bollinger Bands, Market Data and Market Maker strategies, StopLoss meta order, statistical indicators and adaptors for existing statistics packages: pandas and ta-lib)

A dedicated language for module abstract description is been developed. A compiler from this language will generate Python implementations for compound modules and also all meta information about available modules needed for the Web interface. It will be possible to edit code in this dedicated language online thus making the Web interface powerful as the offline version. An optimized C++ implementation for compound modules will be generated automatically.