I am debugging a market-on-open (MOO) order using the IBKR API (currently just in paper trading). Everything I read suggests using MOO should get a fill at the open price. I'm getting substantial slippage between the ticker.open price (in the IBKR API) and the price IBKR says that I actually received. Here are a few examples (from Apr 1): APPH (NASDAQ), sell order, market.open = 18.78; fill price = 18.51 FUBO (NYSE), sell order, market.open = 23.72; fill price = 23.55 FSR (NYSE), sell order, market.open = 18.02; fill price = 17.78 I also notice that the fill price is almost exactly the bottom of the 2nd 15 sec candle. This leads me to think that perhaps IBKR is simulating slippage of a market order when I'm doing paper trading?! I know that IBKR simulates certain orders - is MOO one of these? If the order is simulated, I imagine the fill price is likely to heir on the conservative side. If this is a simulation issue, would a real MOO order fill at the open price in a live trade (though I do understand that my order will affect what that open price might be for everyone using MOO order). Alternatively what am I missing about MOO order? Thanks so much to everyone!
Last I recall auction orders were not supported in paper trading. They're impossible to simulate. If you send MKT / OPG, you will get the opening auction.
Yes, the simulation is not accurate. Why? Because for a true auction you need buyers and sellers to reach a fair price. Anyway, I've done hundreds of MOO orders and in general I get filled right at the opening price. Some are slightly better, some are slightly worse. Overall the slippage is almost zero.
Thank you! One other (beginner-level) follow-up question: Do MOO orders usually get filled in their entirety or is it common for them to be cancelled?
In general a market order will be filled in its entirety. This is not guaranteed but if you are placing an order that is a fraction of the overall opening volume the likelihood this will be filled is very good. For example I recently had an MOO order on LRCX. Opening volume was more than 20K shares on a $600+ stock. My order was immaterial relative to the dollar volume being traded.
Got it, thanks! That makes sense. In case anyone with similar questions finds this thread, I'll add that the other issue I noticed with placing MOO orders on a paper trading (IBKR) account is that ~half of those I tried were not filled. One was a partial fill. Very happy to know this is probably not a problem I will face in practice!
There's no slippage with auction orders, it's strictly one price for all. You're likely comparing to something else, not the opening auction. They're always filled unless you trade something so illiquid that doesn't get looked at by anyone and your order is relatively huge. But the price you get isn't always great. Remember if your order will push the price heavily, the counter party will trade with you because it's a great opportunity for easy and quick profits for them (trade at auction, liquidate minutes later at open market).