Slippage research

I did an experiment to see what % slippage I was getting with one of my ports. I downloaded my transactions into Excel and then compared the price I paid for the stock or sold it for to the Friday Close, Monday Open and the Monday High/Low average. I have an Excel addin that pulls the prices from the intranet, so its pretty easy to do. The attached file has the details. Here is a summary that shows the slippage of the price I got vs the various market prices: (negative slippage means I got the stock cheaper or sold it higher then the sim would have)

                   ::::::::::Friday     ::::::::           Monday     :::::::     Monday Low
                   ::::::::::Close     ::::::::          Open          ::::::::    & High Avg

Buy -1.35% ::::::: -0.55% ::::::: -0.37%
Sell 0.19% ::::::: 0.05% ::::::: -0.28%

If anybody would like me to do this analysis for their trades, just post the exported Excel file with the transactions from your live ports. You can include all your ports if you want. I dont need the number of shares or total $ amounts, so you can delete those if you want. All I ask is that you have at least 100 transactions in the file so that its worth my time (it will take me about 10-15 minutes if there is 10 trades or 1000). There will most likely be a few row that you need to verify manually - for example, I deleted 4 rows where there were stocks splits on the day I bought it which messed up my calculations.


Slippage calculations-Port1.xls (101 KB)

Dan,

Thanks for the research!

Question: When do you do your actual buys and sells? At the open on Monday morning? Or did you use limit orders? Or did you place the orders manually during the trading day trying to get the best fills?

Thanks,

Doug

P.S. How do you explain the negative slippage?

Doug,
I usually try to do most of my buys at the open on Monday. I use limit orders for almost every trade since I dont want to risk having a partial fill on some of my shares and then having the remaining shares bought at some price way above the ask that I assumed when I placed the order. Probably 90% of the trades were at the open on Mondays.I had deleted all the rows from the Excel file that were not on Mondays because those would skew my results. Some of the trades are FolioFn window trades, so they would be market orders at 11am on Monday.

An example of negative slippage would be if I bought the stock on Monday for less than the Friday close. In that case there would be a negative slippage. This is an important point that I should have clarified in the original post. When I say slippage, I’m refering to the difference between the price a sim would have used compared to what I actually paid. I’m NOT refering to the usual definition of slippage which is the affect of the ask/bid spread on your trade.

Hi Dan,

Your detailed research is useful and timely because it debunks a myth… the myth of “we can’t trade at or better than published prices.” Of course, we CAN!. Of course, just about all of us CAN! I know we CAN, because my own data is similar to yours. – I hope this helps.

Robert

Dan:

Great research. I have followed the discussions on this topic from the beginning. All of the discussions seemd to center on the .5% and whether it was accurate. The conclusion I reached was it was pretty good, maybe .3%, but .5% was conservative so I used it without thinking about it much.

You demonstrate that you are recording negative slippage! WOW.

Now I look at the slippage sensitivies in my sims. I also will move to the next open limit buys. I have been doing limits on Monday after the market has opened. I also have been burned by market trades with partial fills at good prices and the rest at unattractive prices.

Great work.

Glenn

Dan - maybe I am not interpreting your spreadsheet correctly but it seems to me that negative slippage is bad (not good). For example, see first BUY transaction USG price 21.5 Friday close 21.22. Slippage is listed as -1.3%. Your buy price is higher than Friday close but is calculated as negative slippage.

Also, what percentage of trades were missed because you used limit orders? These are the stocks that take off before you get a fill.

Steve

Steve/All,
I dont suppose you guys would believe that I was just testing you to see if anybody was paying attention? Didn’t think so.
Steve is right - the corrected numbers are below. I attached the corrected spreadsheet so please let me know if there are any more errors.

::::::::::Friday :::::::: Monday ::::::: Monday Low
::::::::::Close :::::::: Open :::::::::: & High Avg
Buy 1.45% ::::::::: 0.64% ::::::::: 0.41%
Sell -0.19% ::::::::: -0.05% ::::::::: 0.28%

Steve - regarding your question about the % of trades I missed - I didnt keep any stats on that. But I was usually watching them pretty close and was able to buy any that I missed by adjusting the limit up. I’m not using the limit orders in an attempt to get the best possible fill for that day - I’m using them to make sure I dont get stuck with a real bad partial fill do to low liquidity.


Slippage calculations-Port1(2).xls (149 KB)

Steve,

If I may jump in, when you do a sim, you CAN choose what you want to back test. If you choose Mondays’ opens, then you want to concentrate on Mondays’ opens. If you trade at Mondays opens, then (even when Fridays’ closes appear to be more profitable some of the time), Fridays’ closes are not in your focus, therefore Fridays are pretty much irrelevant. Monday’s zero slippage has nothing to do with Fridays’ prices, but being able to trade at published prices at Mondays’ opens, not Fridays’ closes. One’s slippage is zero if one can get the published prices of Mondays’ opens. One’s slippage is better than zero if one can get better than the published prices of Mondays’ opens. Do it any way you wish, I won’t tell you what to do, but if you want zero slippage, you’re not supposed to use limit orders. If you do, then you will limit both your broker and yourself, and therefore loose many good (and sometimes bad) stocks, and, at the same time, mess up your slippage calculations to an extent where you won’t know your own true slippage and that of your own broker.

I hope this helps.

Robert

Robert - I am aware of the things you mentioned. I was just trying to point out that the slippage was backwards to what Dan was saying.

Dan - if you captured the revised limit orders on the spreadsheet and worked them into the slippage calculation then everything is cool.

Steve

Steve/Robert,
The amounts shown on the spreadsheet are my actual trading costs.

You cant generalize and say that using limit orders is a mistake. For some of the stocks I trade, I’m trading over 10% of the average days entire $'s traded - these are tiny stocks. There are times with the bid/ask spread is huge at the open - sometimes 50% or more. Basically people have put in orders that are far away from the last trade hoping that somebody will place a non-limit order and get burned.

There is a component of slippage that I believe is impossible to measure. Like a kind of Heisenberg Uncertainty Principle, the very act of your trading participation in a stock moves the close, open, high, low data used. If you are successful in getting the advertised open, you still don’t know what the open would have been if you had not traded. For low volume stock, even small traders can have an impact.

May I make just a minor remark :

Most of you seem to focus very much on the slippage when buying a stock on monday open.

However, slippage works on both ends :
When buying and when selling a stock.
Money is left on the table on both transactions.

In trading, slippage is the amount lost between an estimated buy or sell price and the actually achieved one.

So if you buy on Monday open, this is the benchmark to measure against your slippage. If you sell on Fridays close in your backtest, this would be the benchmark for determining sell slippage . If using median daily price for both, this would be your benchmark ( which I prefer btw. )

Now the open has neither to be the highest nor the lowest price of the day, nor does it mean, that a significant volume has traded on this price print.

On most occasions the official prints for OHLC are made by only a very limited number of trades at this price and the majority of the trades were of course settled anywere between those coordinates set by OHLC.

Whether you order is among those few executed at “official” prints is primarily a question of liquidity in a stock and your order specifications
( if limit, it might not get filled at your desired price , if market you might end up way paying much or get much less than intended )

Remark :
Today , Institutions use most of the time so called VWAP ( Volume Weighted Average Price ) prices which is a much better way to measure the success of their brokers in filling their orders properly and not too expensive.

VWAP is a trading benchmark particularly used in pension plans. VWAP is calculated by adding up the dollars traded for every transaction (price times shares traded) and then dividing by the total shares traded for the day.

The theory is that if the price of a buy trade is lower than the VWAP, it is a good trade. The opposite is true if the price is higher than the VWAP.

Brokers like IB support VWAP orders from their clients , but mainly on large cap stocks with high trading volumes.

Privateer is right on with respect to the classical view of slippage.
However we are forced to deal with a different aspect of slippage when running Sims and comparing the results to Ports.

The Port’s recommendations are always based on Previous Day Close prices, and our actual buys/sells are always based on a price we can get at a later date. So what we want to do is find a good average slippage value that we can use in Sims that will account as much as possible for the difference between the Port’s recommended price and the price we can buy at. This will make the Sims more accurate in their ability to predict future gains.

For members that buy with a Market Order at the market open, they will need to use a slippage value in the Sims that works best for them. For those that use Limit Orders, they will need to use a different value. For those that use TA to try to select optimum buy and sell prices, they will need to use a different value, and if they are very good at it, then they will need to use a negative value.

However, the biggest difference in the slippage value that you should use is dependent on the type of and strength of the Trading System you use, not when or which method you use to place your orders. Trading Systems that hold 20+ stocks and buy a large number only Large Caps and hold them for long periods will need to use a low slippage value of around 0.1%. Very aggressive Trading Systems that only hold a few Micro Caps might need a slippage value as high as 1.5%.

Also, this is dependent on how good the Trading System is at selecting stocks. If a System has a low probability of selecting stocks that will start to go up shortly (deep value stocks for example), or selling stocks that that will go down shortly, then the next day open price will be, on average, the same as the previous day close price, and you might need to use a zero value for slippage.

In addition, if you want to have any hope of the Sim performance matching the Port performance you have to leave the Port alone, and not make manual transactions or reject any of the recommendations, and never change the rules in the Port. Otherwise, they become 2 different Trading Systems and you should not expect them to correlate.

I keep the actual performance of my real Ports in a different program so I leave the Ports that I follow alone. This way I can compare what I did to what I could have done if I had followed the Port exactly. For the newer members who want to use the P123 Port to keep up with your real trades, I recommend that you do what I got my son to do.

When you start a new Port, start 2 identical ones. Name one of them Real and the other one Baseline. Make you actual trades in the Real one and leave the Baseline one alone. That way, at any time in the future, you will be able to compare the results to what you did to what you could have done if you followed the Baseline Port more closely.

The bottom line though, is not what slippage value you need to match performance of the Sim and the Port, but how good is the Trading System at selecting good stocks to buy and when to sell them.

Denny :sunglasses:

Great post and great idea.

Barn

Dan,

What’s your add-in for Excel to obtain prices? That would be useful. I know the Hoadley Options add-in has one, but cumbersome to use. What would be great is one that allows you to get historical prices, as well.

All,

Slippages of +1.5%? Here’s my actual data. For slippage, in my sims (i.e. very aggressive trading systems that hold only micro caps), I used to plug in as much as +0.5%, but lately I’ve changed all of them to zeroes (+0.0%), because, in real life, I recorded an average of -0.056% slippage when I bought stocks on Mondays at the opens, and an average of +0.043% slippage when I sold stocks on Mondays at the opens. Since my trades were the equivalents of buying stocks at 99.944% of published prices, and selling stocks at 99.957% of published prices, I figured that after an average round trip trade I’d left no money on the table, therefore my numbers should’ve been zeroes or better than zeroes.

How about you? What number are you going to use (for very aggressive trading systems that hold only micro caps)? I suggest you use a number between +0.1 and +1.5%. Don’t follow me until I’m able to do a more thorough study. Yes, my study is promising, yes, I feel pretty good about it. Yes, it gives me a lot of hope, but, at the same time, I know it’s imperfect because of a small sample size. Please remember, my data covers only 16 trades at 11 opens on 11 Mondays.

I hope this helps.

Robert

The add in for the prices is XLQ.
http://www.qmatix.com/XLQ.htm

I’ve used it for a year now and it works well. The only problem I have with it is that on one of my PCs( windows2000, Office2000), it crashes Excel sometimes. I never have problems on my XP/Office2003 PC.
I use it or P123 research and also to watch my portfolio during the day. If anybody buys it, I can send you the portfolio Excel file I created.
You can retrieve data from MSN and Yahoo which includes prices (historical and 15 minute delayed daily quotes). It also has some fundamental data. If you have real time data services, it works with some of them also.

Robert,

Check out my post:

http://www.portfolio123.com/mvnforum/viewthread?thread=863#2725

The analysis I ran in August was based on Sims before we had the capability to run Sims with Next Day open. Using Next day open will reduce the Slippage requirement, but I haven’t re-run it to determine the slippage requirement with Next Day Open.

However, I do have a VERY aggressive 1 stock Port I’ve been following since last August (see the post below) in which I had to use a slippage of 1.4% In a Sim I ran today over the same time period to match the performance of the Port.

http://www.portfolio123.com/mvnforum/viewthread?thread=872#2745

Denny :sunglasses:

Robert:

You asked “How about you?” regarding slippage. I usually trade on Monday and use Next High/Low in my Sims with .5% slippage. I rebalanced a port using Next Open on Sunday using a limit sell of AIRM set at 20.20 (about 1% of the close of 20.4 shown by P123) for downside protection against big swings around the close/open). I sold AIRM at 20.50 vs 20.4 shown on P123. Negative slippage of .59% on a sell. This is great! I think I was lucky.

I looked closely at the trading activity around the open and found that the trades ranged from 20.50 to 19.50 - a range of +.59& to -4.92%.

I conclude that my limit saved me from selling at least some shares at very low prices.

I captured the charts for 1 minute intervals, 5 minute intervals and the reported stats from Scottrade which are shown on the attachment (Word) if you want to look closely at them.

The “normal” charts I have been looking at do not show the low trades - see the 5 min chart. The 1 minute chart shows the big dip to 19.50. Even the summary chart shows a low of 20.10 for the day. The Yahoo chart shows about 20.10 as well.

This reinforces my belief in limits, particularily on sells. It also opened my eyes to what is happening around the open/close that I did not fully realize and really cannot control except by using limits. I will stay with .5% slippage for sims but will backtest how the sims handle other levels to try to get a feeling for sensitivities to slippage levels.

Glenn

PS: The attachment shows various screen prints saved to Word and labeled as well as the P123 rebalance recommendation.


Slippage.doc (387 KB)

I endorse Dan’s comment about using XLQ to get stock quotes into EXCEL - I use it along with Yahoo real time quotes and works really well. Not expensive and the support is almost as good as Portfolio123 !!

Lindsay