New slippage option in Simulations: "Variable"

There’s a new option for slippage in Step 1 of a simulation: “Variable”.

The slippage % is calculated for every transaction based on this simple algorithm:

  1. The 10 bar average of the $ daily traded is calculated (price*vol)
  2. the slippage is set according to where the avg falls in this table:

0 - $50K → 5%
$50K - $100K → 1.5%
$100K - $350K → 0.75%
$350K - $1M → 0.5%
$1M - $5M → 0.25%
$5M+ → 0.1%

  1. Add (0.01 / Price) to the result from Step 2

Step 3 would add, for example, 1% to the slippage if the stock trades at $1, 0.1% if it trades at $10, etc. This is because , no matter what, one penny slippage must be paid in every transactions big or small.

1 Like

Please let me know if these ranges are satisfactory. The reality is that it’s always going to be an approximation.

Marco,

I think that is great!

I’ll defer to you and others with more experience on the specific numbers but look pretty good to this ROOKIE!

Regards,

Jim

Very good, I have always wanted something that more accurately penalises low liquidity stocks in terms of slippage and transaction costs.

As for the model, I would say accuracy is more important than complexity.

I agree while we could come up with some fancy equation, this is likely to be highly suspect. It would be more useful to try and gather some data to discover what the average realised slippage actually is for those given buckets.

I have tended to think of slippage as something that probably varies non linearly with turnover, because the more liquidity an instrument has, the more traders, and therefore more liquidity it attracts. So I expect it is something like an inverse power law.

The algorithm seems reasonable. Are there any plans to try to make commissions comparable between strategies?

The results for an R2G model are based on trading at the next close, correct? I thought I saw that discussed earlier but the FAQ says different:

Trade prices are updated by the system with a future price, such as the close of the day or next day’s open, to enforce no look-ahead manipulations.

Don

Perhaps I’m not understanding the algorithm and might need some help with the following part of the criteria:

[quote]
$5M+ → 0.1%
[/quote] and

I figured with everything else equal, applying the criteria would result in a consistent slippage (trading cost) of 0.1% in a sim:
AvgDailyTot(10)>5,000,000
Close(0)>10
Commission $0.00 (just to focus on slippage).

What I found was that the sim trading costs were different when using the different Slippage criteria:
Variable: Trading costs = $46,909.08 on 337 trades
Fixed 0.1%: Trading costs = $36,198.13 on 337 trades

The sim I ran is public here: http://www.portfolio123.com/port_wiz.jsp?st=8

I’m not the smartest guy in the room so, I appreciate your help.

Marco,

Thanks for the update which is more reasonable and closer to reality.

However, in order to stress test the models can we have another “price for transactions” which is “next high”? If the simulation with next high as entry price delivers good returns then I would not get stressed out by slippages.

thanks a lot

Marco,

Did you make a change in the Variable Slippage values in the last few hours? I ran the first Sim below (private) right after you posted the info about the addition of the variable slippage. I was checking a few changes a few hours later and I got significant reductions when I suspected that the changes would be minor. I re–ran the first Sim with no changes and I got a significant reduction. See the second Sim. Can you explain what was changed?

http://www.portfolio123.com/port_summary.jsp?portid=1046614

http://www.portfolio123.com/port_summary.jsp?portid=1046766

Denny :sunglasses:

Just double check that when you go from portfolio to sim… it defaults price back to the open. You probably have it set correctly but just something to double check when going from portfolio back to sim.

Kurtis,

They are both Sims and they both use average of hi and low.

Denny :sunglasses:

Macro:

Your third step goes a long way to addressing the issue of larger slippage for lower priced stocks compared to higher priced ones with the same ADT.

I think the issue of larger slippage for lower priced stocks (esp. under $3) is not just the minimum 1 cent spread. However, this pattern of increased spread for low price stocks is nicely covered by the current formula for step 3 which actually doubles the effect of a 1 cent spread. That 1 cent spread is only paid on a round trip (buy followed by an immediate sell or vice versa). For a one way trade (either a buy or a sell) the slippage from the spread is 1/2 of the spread. But as I’ve said this doubling of the effect of the minimum spread is a good thing since this will cover the tendency for the spreads to be larger for low priced stocks.

In brief, I very much like (0.01/price) being added to the variable slippage formula.

Brian

Marco:

I think Denny has actual data on slippage. Why not model from reality instead of a guess ?

Bill

Deleted - Duplicate Post

Deleted - Duplicate Post

Denny the first release was missing some changes, sorry.

I think the current implementation is a much needed improvement. There were so many suggestions I had to decide quickly for r2g. It’s doing 10 day avg $ traded instead of 60, but I think it’s ok because it will also do it on the sell (if you still make money with a 5%+ hit, then it’s a winner even if illiquid)

The variable slippage doesn’t work for optimization yet… The optimizer switches back to fixed slippage.

Steve

Strader - Denny and others have their own techniques for entering positions. For example, Denny often waits til a certain time of day when the bid/ask spread is minimum before placing an order. Some people use limit orders, etc. You can’t model from one person’s stats.

Steve

Marco,

It does seem to me that a 10 day average is a better estimate of the volume at the time of the buy or sell than a 60 day average would be. If people want to add additional liquidity rules hoping that the volume will be more stable when they sell, they still can do it.

Regards,

Jim

Marco,

Does the Variable option ignore the value a user has entered for slippage? I would prefer that the variable amount would add to the slippage value that I have entered.

Rick

Jim,

Yes, the 10 day average is a better average of the likely amount available on the day of the buy. But that is not my concern. Many stocks, especially ones that are recommended from systems that rank recent volume higher, have very high volume in the few weeks just before the recommendation. Using that volume as a reference for an acceptable buy amount would be very misleading for trying to sell that dollar amount at the much lower but more normal average amount for that stock.

The reason I use the 60 day average for the buy amount is it averages down the high recent volume to a value that will improve the probability of being able to sell when the volume is back to normal.

Denny :sunglasses: