Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Minor refactor of the original
backtest.py
class to also allow for live trading. Live trading only differs in that it's "end-condition" is the passing of time, until andend_session_time
. All loop logic remains the same.This branch is a dependancy of #186. I created a new branch here as the logic has no overlap with IB integration.
I'm suggesting we don't do the
IBService
setup/teardown in theTradingSession
-- we must do it in the setup scripts where the user defines their strategy, symbols, handlers, etc.Otherwise we need to create a
TradingSession
for each service, or create an abstraction where we take in a list of services (unnecessarily complex). As it stands, theTradingSession
simply takes in a set of QSTrader components (price, risk, execution handlers, etc) -- each of these components may have services/external system dependancies, but the trading loop does not -and should not- care.Would appreciate prompt integration with master so I can get cracking with live market data in the IB-PriceHandler