R2G slippage problem & solution

I think we need to deal with this now rather than later.

We will introduce a slippage setting in the simulator that is ‘variable’. All sims for R2G models will be required to use this setting. It will NOT look at the size of the trade, rather just the past liquidity of the stock it’s purchasing/selling (or the MarketCap). This new setting should be quick to implement.

We’ll keep is simple: like 4 discrete slippage amount going from 0.1% for the most liquid to 1.0% for illiquid

Here an example (not final) based on the average $ traded for the 10 days

50K – 100K 0.95%
100K – 200K 0.6%
200 – 400K 0.35%
400 – 800K 0.2%
800K to 1 mill 0.17%
Million + 0.15%

Marco,

I like the idea. Might not be a bad idea for Sims in general. Preferably with variable amounts for our own personal Sims.

Regards,

Jim

Marco,

I assume that you will allow us to use a higher slippage. :smiley:
My $200K+ Sims use 0.5%, my $1Mil and greater Sims use 0.2% I don’t run anything less than $200K anymore.

Denny :sunglasses:

Here’s a slightly more “scientific” breakdown using a simple screen and grouping by avg 10 day $ turnover. Stocks seemed to naturally fall into place when looking at liquidity, which is always reassuring. For example the $5M+ liquidity had about 2,000 stocks (Russell 2K?) , the next group $1M-$5M had about 1,000 stocks (Russell 3K?) , and so on.

In any case we are going to make this variable slippage a requirement. So Denny it looks like your models will get a bump :slight_smile:

The other goal is also to severely penalize an R2G model if it goes fishing below $50K.


slippage.PNG

That is great information. Can you tell us how slippage was calculated? Was it bid/ask spread?

Thank you. I seem to be obsessed with getting a good estimate on slippage.

Regards,

Jim

Slippage #'s are just guesses based on past experience & user feedback.

Jrinne - slippage is, of course, highly dependent on the amount of capital in addition to liquidity depth when you look beyond the simple bid/ask spread and time of day purchased (lunch lulls can be a killer) and more.

So slippage for one guy could be 0.15% and another could be 1%. If you are looking for average liquidity based on market cap - here are some stats from 3rd quarter of 2012.

Starting at page 4 you can see slippage listed as IS in basis points (100 = 1% slippage).

But I think doing it based on volume is much better as there is a huge difference between OBAS and AFFY although they may get lumped together in the other report. It is the right thing to do… even if its not a perfect science guessing what slippage might be.

And the minimum requirement by Marco for our R2G ports will undoubtedly lower the average slippage shown in the report.

Marco,

Thank you. Very helpful. I am saving this tread.

Jim

Hi Marco,

I think it is a great idea. I was really wondering about the viability of some of the R2G models being posted. As I understand it this slippage will apply to each trade based on the Market Cap at that time. Is that right?

When will this be available?

Also is it possible to make available the “Liquidity Stats (from realized trades)” in the sim so that we can look at them before posting a R2G model?

KJ

I have noticed that some providers are targeting stock prices as low as $1. Is there any concern (from a slippage perspective) with these low priced stocks apart from the $Volume?

Steve

Hi Kurtis,

Thank you.

Jim

kss60,

slippage will be calcualted on the day of the transaction using 10 day avg $ turnover (price * vol). That value is used to “look up” the slippage% for the trade.

should launch this weekend

yes. for now though you can delete an R2G after posting (if it has no subs)

Steve,

I think the variable slippage should address this. If the $1 stock being bought has a low liquidity it will get hammered by the 5% slippage and designers will have to put buy rules to prevent it. I don’t think slippage is a problem if the $ turnover is high, no matter what the stock price is.

Marco,

Very good idea! According to my experience it is even more realistic when the average of day high and day low are used as this approaches the stock’s VWAP.

I like this solution as well. The only change I would suggest is that you use a longer period when calculating the average daily $ volume. I would go with 30 days instead of 10. Otherwise the slippage on the sell is likely to be a lot higher in cases where the 10 day average had a volume spike, which is often the case.

Hopefully this functionality will be available in all simulations since it is very useful.

@Steve: I’m concerned that ADT is not adequate for estimating slippage for low priced stocks.

@Marco: Having a sliding slippage scale is an excellent idea. Portfolio123 has always impressed me as striving to give its users realistic tools.

ADT by itself only gives 1/3 of the slippage picture.
Price gives another 1/3.
And the final 1/3 comes from trading at or close to the open (this final problem is already solved by R2G development rules).

First, ADT is a helpful guide. If one avoided stocks under $5 (or better yet under $10) then ADT would be sufficient.

Second, lower priced stocks need a much higher ADT to have the same level of slippage as measured by bid-ask spreads. Here are some examples from an extensive study I did of slippage a few years ago.
. For stocks in the $10.00-10.99 range, one needs to have average volume of about 7,000 shares (ADT of $73.5K) to get an average bid-ask slippage of 1.01%.
. For stocks in the $5.00-5.99 range, one needs to have average volume of about 35,000 shares (ADT of $192K) to get bid-ask spread of 0.95% – that is more than twice the ADT to get about the same spread.
. For stocks in the $1.00-1.99 range, one needs to have average volume of about 350,000 shares (so ADT of $500K) to have an average bid-ask spread of 1.1% – that is more than twice of the ADT of $5 stocks and it is five times the ADT of $10 stocks.

The same patterns appears for other bid-ask spread levels.
For example a spread of 0.3%: a $13 stock needs an average volume of 35k shares (ADT of $455K), but a $3.50 stock needs an average volume of over 500K shares (ADT $1,750K). – over three times the ADT.

ADT, by itself, will give an illusionary advantage to portfolios favoring low priced stocks.

Thirdly, for my study I “sampled” the bid-ask spread continuously through the trading day and discovered that the bid-ask spread took considerably longer to narrow for lower liquidity stocks that it did for higher liquidity ones. The higher liquidity stocks had their spreads narrow almost immediately after the market opened. Medium liquidity stocks would narrow over the course of several minutes. But lower liquidity stocks often narrowed very slowing, usually taking well over a hour to reach the average spread they would hold for the rest of the day. My understanding is the the R2G portfolio rules exclude using open prices for calculating back test stats and for real time stats that will unfold over time.

I have no idea if it is possible to make the slippage estimates more nuanced by including price as well as ADT, but it seems clear to me that stocks below $10 are in their own world, and those below $3 even more so. Here’s an idea that just popped into my head. If for ease of implementation, the slippage is based only on ADT, then it would be good to report the percentage of a R2G portfolio’s trades that fall within the following five price buckets: $1-1.99, $2-2.99, $3-4.99, $5-9.99, $10+. This would let a potential subscriber make a ball park estimate about whether he/she is interested in subscribing.

Disclosure: My spread study was done in the spring of 2007 so it is nearly 6 years old. I have no reason be believe the general pattern has changed, but I don’t have any proof for my assumption.

Brian

Marco,

How are you determining the 10 day $ amount that you are using? Is it the lowest 10 day $ amount out of all stocks bought, or you still averaging the bottom 20%?
One problem with my Sims is that I use a 60 day average which avoids stocks that only have high volumes in the last 10 days so it would be more likely to have enough volume to sell the stocks. But that will be hurt by a 10 day average filter if the last 10 days is lower than my limit. That is exactly what happened in my R2G MidCap and LargeCap Port. It has a buy rule of AvgDailyTot(60) > 10,000,000 but the stats show that the Buy Daily Total (bottom 20%) = $8,308,907.

Another glitch, I have a Close(0) > 1 buy rule to prevent penny stocks, but if a stock has a price just above that on Friday’s close and gaps down on Monday’s open it will be bought below $1. That happened on a Sim I tried to convert to a R2G Port. I got an error message that it bought a stock at 0.86. I reviewed the transactions and found only one other stock that was bought below $1 at $0.90 out of 1175 stocks traded. All others were above $1. So, do I have to re-run my Sims with a higher price limit?

Denny :sunglasses:

I forgot to mention:
The above + slippage is what I have experienced as the most accurate approximation of the real trading price if you trade +/- 10% of ADT efficiently.
If you want 10% of ADT at market opening the slippage will be much higher but you do not need to take VWAP into account.

This approach to slippage (more realistic) sounds good, but the key is will it be available for simulations?

@olikea

I noticed a high turnover (+/- 2000%) R2G portfolio from you with a very nice alpha and Sharpe. How would you recommended a subscriber to trade this without causing too much slippage? What is your best practice?

Thanks,
Hedgehog

Denny -
I have a similar concern… I’m dividing the 60 days up into 3 twenty day portions and checking to see that all three portions are above $50M. The bottom 20% comes out to $46.5M. Perhaps the answer is that we are looking at an average not minimum daily volume.

Brian -
Thanks for this info. This is what I suspected but didn’t have any real evidence.

Marco -
I hate to be a pain but there is another issue with slippage. I trade in a cash account (i.e. no margin) because it is a tax protected account. This means that I have to unload my old positions before buying the new. THEREFORE, using buy trade $Volume stats makes no sense for me and anyone else in the same situation. The buy slippage is dependent on unloading the previous holdings and therefore it is the Sell trade stats that are most important. The sell rules do not contain any $Volume thresholds. If you have to sell a position you sell it regardless of liquidity. I was disappointed when it was decided to use buy trades to calculate the liquidity as this is misleading.

Steve