Suggestion: Market at Open, Daily

Just a friendly suggestion which I think could benefit the community.

As I’m sure you know, Zipline is hard coded to execute on closing prices. Among other things, this can lead to a two day delay in trading. As an example: Say you have a model running on end of day data, and you get a buy signal on Monday and place an order. That order will be based on the closing price for Tuesday. So you won’t actually be in the trade until Wednesday.

What most people would probably want and expect is for that Monday signal to result in participation from Tuesday. This is actually very easy to fix, and it’s yet another of those odd Quantopian legacy things, where it looks like someone just took a shortcut and forgot about it.

I modified my slippage.py file to behave the way it makes more sense to me. That’s where the close field is hardcoded. This solves the issue for me personally, but given how easy it is to solve, perhaps it would make sense to include such a fix in the zipline-reloaded distribution.

2 Likes