Greetings. I am trading daily and trying to get a fill at the closing price. I noticed that the MOC order gets about 0.3% of slippage on average (sometimes a lot more). Here I define slippage as the difference between my fill price and the "official" EOD close for that ticker. Is there another order type that can help me get filled at a better price towards the end of the day? I think the Closing Price IBALGO might be designed for that (https://www.interactivebrokers.com/en/software/tws/usersguidebook/algos/closeprice.htm). However, I am a little fuzzy on which parameters I have to specify and which can be determined dynamically by the ago. I also have no idea what settings to choose. For example, if I specify the urgency, max participation, and cash quantity, will the algo compute the start time and number of shares automatically? I would love to hear about your experience with this order and other order types that might help minimize slippage from the EOD close.
MOC is guaranteed to get the close price on the primary exchange, so not sure what difference you are seeing. As far as not having an impact on illiquid names, personally I have not seen any advantage to using IB's close algo -- an plenty of "unusual" order placement decisions. Have not tested other brokers' algos very thoroughly, though I suspect they are pretty unreliable since they are competing against every HFT firm in the world. No idea what your strat looks like, but I'd consider an algo running from ~ 3:48-3:58.
Thanks! I am comparing the fill prices I get from IB (paper trading) with the close prices I get from one of the quandl databases. I am using SMART routing to direct orders (again these are paper traded). Also, this might be a silly question, but how can the MOC fill price be guaranteed to match the final trade price on the exchange? The price is still negotiated with a bid/ask spread, right? Do they somehow guarantee that you get the offer price of the final trade of the day? How? I am not that concerned about impact at the moment since I am already limiting my orders to 1% of the prior day volume. From what I understand, the paper trading simulator cannot model the price impact anyway. In regard to the time running the algo. What is the reason for not running past 3:58 (I mean 3:58 - 4:00)? Thanks again!
That's weird that IB paper trading is not reflecting actual close prices. Are you sure they are not including commission in the price? MOC guarantees closing price bc it's an auction that executes at a single price. Prob. best to read the exchange details: https://www.nyse.com/article/nyse-closing-auction-insiders-guide I also found this interesting: https://www.thetradenews.com/thought-leadership/liquidity-is-for-closers/
Thank you for the links. Checked whether commissions are included in my fill prices (looks like they are not). If I subtract the commissions from the fill prices, the deviations from the daily close become more symmetrical, but they are still there. I also looked into the IB API documentation, and it states explicitly that these execution prices do not include commissions. It would be interesting to see if others have benchmarked the MOC fill price they are getting with IB against the close prices from other sources. The differences I see between the IB MOC paper trading fills and the daily close prices posted on quandl / Yahoo finance are sometimes as high as a few % of the reported daily close. Interestingly, sometimes the difference is in my favor (about 25% of cases). I will try to pull the last close historical data from IB and compare with these fills. That should tell me if the difference is in how IB reports the daily close or how it simulates the MOC fill. It might make sense that IB cannot simulate the MOC orders accurately, as paper traded orders are not going to an actual exchange. On that note, I found this FAQ on IB / TWS: https://dimon.ca/dmitrys-tws-api-faq/ If you scroll down to the question, titled "[Q] Trust daily close or 1-minute data close?": it says that the auction can sometimes continue past 16:00, causing deviations between the daily close and the last minute close. Even so, I would expect such deviations to be random, which they appear to be, but have a right skew (not in my favor).
It has been a few years since I paper traded however I still remember being quite concerned about my fills at the time and spent several days placing the same trades as a friend who was trading live for a comparison (system used buy limit to open and MOC). The differences were marked. I was told this was a quirk of paper trading and it did in fact disappear when I went live. Hopefully some here may have had more recent experiences they can share. A small amount in live account should confirm this.
Indeed, if you are not trading very large size you could probably fill your entire order in the last few minutes of trading with an algo from IB. However you will not get the exact close price this way either, so it depends, is your strategy relying/back tested on the daily close? The MOC however should be just fine though, i never checked my MOC fills (demo, havent used it live yet) against the close of other data providers. Something i have to check next week.
Thanks! Maybe I can experiment with a "patient" algo that places limit orders around closing time, sacrificing some fill certainty. I am especially curious about trying to trade for a few minutes past closing. If you try MOC in paper trading, please let me know if you also observe it deviating from close, or not.
I suggest that you are looking at this problem backwards. Don't look for a different order type to achieve the closing price, look for a different data source that gives you the MOC price. Do your backtesting with the MOC price and use MOC orders, this is zero slippage by definition.