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.
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.
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
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.
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?
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.
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.
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)
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.
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.
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.
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.