Pardon me if I've asked this question before, but I don't think I've ever gotten a satisfactory answer.
On Quantopian we are discouraged from designing algos that trade at/near the open, due to the typical high volatility and wide spreads in the first minutes of trading. We are encouraged to instead wait until 30-60 minutes after open before rebalancing our portfolios, because at that point prices have stabilized, spreads have tightened, and liquidity supposedly is higher.
Elsewhere I've read that a major reason why traders wait an hour after open before placing orders is because in the context of day-trading you need to wait that long in order to see how the price movement establishes itself. However, on Quantopian we are not day-trading -- we are usually entering longer-term trades based on already stale information (pipeline uses yesterday's data at the latest) so waiting an hour means that signal has only gotten more stale/noisy.
I've also read elsewhere that the opening and closing auctions are the most liquid times of day. I've had trouble finding information confirming that spreads wouldn't be an issue during the auctions, but it seems to be the case. Liquidity is also better than 1 hour after open, right? Also, presumably during the auctions you don't need to worry about HFT detecting your "whale" order and front-running you, whereas during normal trading hours this is a very real risk, no?
So why doesn't Quantopian support Market On Open (MOO) and Market On Close (MOC) orders? These order types seem to offer some real benefits to the Quantopian paradigm.