Skip to content

Commit

Permalink
inactivate on_order
Browse files Browse the repository at this point in the history
  • Loading branch information
letianzj committed Aug 12, 2020
1 parent 09760e8 commit 421e833
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 12 deletions.
15 changes: 5 additions & 10 deletions quanttrading2/backtest_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ def __init__(self, start_date=None, end_date=None):
self._position_manager = PositionManager()
self._position_manager.set_multiplier(self.multiplier_dict)
self._order_manager = OrderManager()
self._strategy_manager = StrategyManager(self._order_manager, self._position_manager, self._data_board, self.multiplier_dict)
self._events_engine = BacktestEventEngine(self._data_feed)
self._backtest_brokerage = BacktestBrokerage(self._events_engine, self._data_board)
self._strategy_manager = StrategyManager(self.config, self._backtest_brokerage, self._order_manager, self._position_manager, self._data_board, self.multiplier_dict)
self._risk_manager = PassThroughRiskManager()
self._strategy = None

Expand Down Expand Up @@ -78,14 +80,6 @@ def _setup(self):
## 1. data_feed
self._data_feed.subscribe_market_data()

## 2. event engine
self._events_engine = BacktestEventEngine(self._data_feed)

## 3. brokerage
self._backtest_brokerage = BacktestBrokerage(
self._events_engine, self._data_board
)

## 4. set strategy
self._strategy.active = True
self._strategy_manager.load_strategy({self._strategy.name: self._strategy})
Expand All @@ -100,7 +94,7 @@ def _setup(self):
## 6. wire up event handlers
self._events_engine.register_handler(EventType.TICK, self._tick_event_handler)
# to be consistent with current live, order is placed directly
self._events_engine.register_handler(EventType.ORDER, self._order_event_handler)
# self._events_engine.register_handler(EventType.ORDER, self._order_event_handler)
self._events_engine.register_handler(EventType.FILL, self._fill_event_handler)

# ------------------------------------ private functions -----------------------------#
Expand All @@ -122,6 +116,7 @@ def _tick_event_handler(self, tick_event):

def _order_event_handler(self, order_event):
"""
This is not active
backtest doesn't send order_event back to strategy. It fills directly and becoems fill_event
"""
self._backtest_brokerage.place_order(order_event)
Expand Down
1 change: 1 addition & 0 deletions quanttrading2/brokerage/backtest_brokerage.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ def __init__(self, events_engine, data_board):
self._events_engine = events_engine
self._data_board = data_board
self.orderid = 1
self.market_data_subscription_reverse_dict = {} # market data subscription, to be consistent with live
self._active_orders = {}

# ------------------------------------ private functions -----------------------------#
Expand Down
2 changes: 1 addition & 1 deletion quanttrading2/position/position_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@


class PositionManager(object):
def __init__(self, multiplier_dict):
def __init__(self):
"""
"""
self.initial_capital = 0
Expand Down
2 changes: 1 addition & 1 deletion quanttrading2/strategy/strategy_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def place_order(self, o):
self._broker.orderid += 1
o.order_id = oid
o.order_status = OrderStatus.NEWBORN
self._sid_oid_dict[o.source].append(o.id)
self._sid_oid_dict[o.source].append(oid)
self._order_manager.on_order_status(o)
self._strategy_dict[o.source]._order_manager.on_order_status(o)

Expand Down

0 comments on commit 421e833

Please sign in to comment.