This is a event-driven backtesting framework.
The framework contains the following components:
DataHandler
: output a generated set of market valueStrategy
: generate signal based on the inputs generated byDataHandler
Portfolio
: handles the positions and the holdingsExecutionHandler
: handles the interaction between a set of orders generated byPortfolio
Performance
: used byPortfolio
to evaluateStrategy
Backtest
: running frameEvent
: including 4 types - market, signal, order, fill
DataHandler
: output MarketEvent
Strategy
: input MarketEvent
, output SignalEvent
Portfolio
: handle MarketEvent
, FillEvent
, input SignalEvent
, output OrderEvent
ExecutionHandler
: input OrderEvent
, output FillEvent