I have been in turmoil in trying to combat slippage lately. I have been tinkering with some mean reversion equity strategies that make high frequency trades. The more short term and lower price the security, the better they seem to perform. The real problem I've found is that it seems like the difference between the ask and bid at any given buy and sell for a transaction is greater than the difference between the close of the given buy and sell; meaning the profit margins are negative even though it was a winning sell; It's so hard to tell. So you can see I've developed a healthy fear for slippage.

I've been incorporating a slippage estimation function for each buy and sell based off the following formula I adapted from a forum post I lost reference to. I know a more accurate formula could be derived with the ask & bid prices, but alas, I don't have reasonable effort access to them.

if (this.ClosePrice < this.OpenPrice)


potentialSlippage = this.LowPrice - this.OpenPrice;




potentialSlippage = this.HighPrice - this.OpenPrice;


When incorporating this into my algorithm the results are rather depressing and is always a net loss. It's been a futile uphill battle of optimization to break even.

But one thing though I've come across time and time again when researching the matter is negative slippage vs positive slippage. So my question is, do you suppose I could assume maybe that if negative and positive slippage occurs about 50/50, that really it sort of evens out in the end and that I don't even need to worry about it? If that is remotely possible I understand it would be subject to volume and various other factors, but I'm talking generally even out. My function always assumes extreme negative slippage and it just doesn't work.

Also, have any of you who have even ran live with a high frequency algorithm ever have issues with slippage or does it even out for you?

I did find the following snippet from a forex post, but it sounds promising. Not sure if this applies to equity trading though:

Since it is market order, mean slippage per trade will be very little, as over time positive slippage will balance out with negative slippage. For me, i get a mean slippage per market order of negative 0.031 pips (over the last 400 market orders). My execution speed is about 800ms, i trade London + NY, and rarely make market orders at news times. I wouldn't worry too much about slippage for your back testing