From 69a4e542ea25f6671f09abc35916e20574e2d53b Mon Sep 17 00:00:00 2001 From: Eddie Hebert Date: Wed, 10 Oct 2012 15:49:07 -0400 Subject: [PATCH] Filters out orders in the future. Enforcing filling open orders that exist on or before the current event. --- zipline/finance/slippage.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/zipline/finance/slippage.py b/zipline/finance/slippage.py index cb1978ee..4a89732d 100644 --- a/zipline/finance/slippage.py +++ b/zipline/finance/slippage.py @@ -70,6 +70,10 @@ class VolumeShareSlippage(object): if event.sid in open_orders: orders = open_orders[event.sid] orders = sorted(orders, key=lambda o: o.dt) + # Only use orders for the current day or before + current_orders = filter( + lambda o: o.dt.toordinal() <= event.dt.toordinal(), + orders) else: return None @@ -78,7 +82,8 @@ class VolumeShareSlippage(object): simulated_amount = 0 simulated_impact = 0.0 direction = 1.0 - for order in orders: + + for order in current_orders: open_amount = order.amount - order.filled