Skip to content
/ atsys Public

A Simple Event-Driven Backtesting System for stocks, FX , crypto - written purely in Java with plug and play components and scalable design

Notifications You must be signed in to change notification settings

dhruvv90/atsys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Simple Event-Driven Backtesting System for any financial asset

opinionated, basic event driven backtesting system written in pure Java. It can be used for Stocks, FX, crypto. Some notes on architecture and functionality:

  • Single threaded, Scalable design and capable to run multiple backtests with plug and play components (Type of Asset, Market data, strategies, portfolioManagers etc...)
  • Being purely event driven, it avoids Look-ahead bias
  • Flexibility in changing data-flow strategy at any stage due to dependency on events + plug and play architecture
  • To use with any custom data type, it needs to implement TickData. Data Source and strategy can then be created using that type
  • Once the backtesting engine is initialized , it uses an EventDrivenEngineContext having info about all runs/sessions. Each backtest session uses BacktestingContext, within the main engine context, to process/persist particular session
  • EventDrivenEngine uses re-usable components for running multiple runs/sessions and does cleanup after each run.
  • Only dummy Implementations and no integrations with any data source or exchange yet

Steps to run : Import in Intellij and run "BasicTest" config.

Contributions and ideas are welcome

About

A Simple Event-Driven Backtesting System for stocks, FX , crypto - written purely in Java with plug and play components and scalable design

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages