Slippage

Does anyone know what the slippage might be for a small cap stock using a “Market on Close” order?
All the trades I do this way have zero slippage, but I don’t do enough of them to make a decision.

All our bid-ask spreads in screens, simulations, etc. are based on market on close. With a market order, slippage is half the spread. So if you have a Research subscription, put the following in a screen:

Ticker (“XXX, XXX, XXX, XXX”) = 1
ShowVar (@percentspread, 100*Spread(0)/Close(0)/2)

Run it with the tickers you want to buy and you’ll see the percentage spread you would have paid if you had done a market-on-close order the previous trading day.

ShowVar (@percentspread, LoopAvg (“100*Spread(Ctr)/Close(Ctr)”,20)/2)

will show you the average 20-day costs of a market-on-close order for your tickers.

It’s not going to show you the other component of slippage, which is market impact. If you’re buying and selling microcaps, that can be large. The best estimate I know of market impact is to take the square root of the amount you’re trading divided by the median daily dollar volume: that number will be approximately the percentage you’ll pay for the trade. So, for example, if you’re trading $10,000 in a stock that trades $100,000 a day, that’s 10% of the volume, square root of 0.1 is 0.32, so you’ll be paying 32 basis points per trade. To find the median daily dollar volume, you can use MedianDailyTot(20) or MedianDailyTot(60).

See also this viewthread:
https://www.portfolio123.com/mvnforum/viewthread_thread,7510

My hope was that the higher liquidity at end of day and the closing auction process would reduce slippage.
What I get from your replies is that a large buy/sell imbalance will move the closing price, just like any other time of the day.

Thanks!

I’m sorry my reply gave that impression. Your “hope” is correct. The closing bid-ask spread is usually significantly lower than the spread in the middle of the day, and the higher liquidity during that hour will certainly reduce market impact.

2 Likes

Is there a way to calculate likely market impact/spread/slippage at morning versus close?

Specifically I’m interested in the idea that Close is probably easier to trade, but sims tend to suggest Open is a better performer.

For example in a specific small cap sim, the crossover point seems to be about 50%. That is, if I estimate a 0.32 slippage impact on Market Open, that strategy is basically equivalent to a 0.16 slippage on Market Close.

Real market impact (slippage) can be seen with Market Open trading, but Market Close seems to be largely hidden. If you successfully secure the close (no slippage), but your purchase actually caused the close to be higher than it actually is…

Also, how many trades would be required to get a good idea? For example, I traded 10 small cap this morning (Market Open) and ended up with reverse slippage in total, though for one of the trades it was extremely high - apparent 3% slippage cost, but while selling into a falling market on that stock. Trading Market Close wouldn’t have fixed this individual problem either as the shares continued downward and closed lower for the day.

So I obviously need a much longer analysis and will do so once I have more data. This morning, for example, had an average slippage of about 0.5% on Small/Microcaps. This is attempting very careful trading to secure the midpoint.

MOC still seems to mask the slippage though. I can safely secure the close on much higher volume and have an apparent 0% slippage. But again if I assume the slippage is lower, it appears close to a wash in my simulations whether open or close is better.

I’m leaning towards it coming down to personal convenience if the theoretical close slippage is 50% or less of the opening slippage.

One last time trying to wrap my head around this, please correct me if wrong:

  1. The market in general has a positive expectancy.
  2. Our systems should have a positive expectancy.

Therefore, the benefits we are seeing from trading the open is just net difference from buying winners and selling losers in effect a day early.

Further, trading at the close masks the slippage in two ways - your losses from missing this extra day plus creating the close in low liquidity stocks (so it appears slippage is 0%).

This isn’t going to be visible in backtests because you weren’t actually creating the close in those trades in realtime.

So in conclusion, even at higher slippage, trading the Open is the ideal and accepting the slippage is simply realistic and necessary.

I tried to model this by theoretically “front-running” my Next Close trades by trading at the open, and of course you’ll see a large negative slippage - which is really the lost returns you would have missed from actually trading at the Open vs the Close.

In down days it will, of course, look better to trade at the Close, but in net if the positive expectancy continues it simply makes sense to trade the Open even if the apparent Close slippage is much lower because it can’t be accurately modeled in a backtest for lower liquidity stocks.

Just a few observations:

  • A huge proportion of the cumulative price rises in stocks (the market’s “positive expectancy,” in your words) takes place overnight rather than during the trading day. So buying/selling at the open has very little advantage over buying/selling at the close.

  • If the market did have a significant positive expectancy during the trading day, it would be best to sell at the close and buy at the open. If, on the other hand, the market had a negative expectancy during the trading day, it would be best to sell at the open and buy at the close.

  • Close prices tend to be significantly farther away from the previous close (which is what your ranking systems are based on) than open prices. So if a stock ranks #6 at the previous close, it’ll be ranked pretty close to #6 at the open, but much farther away at the close. This might help explain why simulations and screen backtests that use “next open” tend to outperform those that use “next close”–because the price has moved away from the price at which the stock was ranked.