When backtesting, do you assume that the fills are at bid/ask and then add the slippage?
Let's take ZC where 1 tick per contract has value of $12.50.
For example in our backtest the entry price of ZC is 600 (market order). But in reality we would get 600.25 for long(599.75 for short) because we will be filled at ask(bid). And if we add slippage of 1 tick it should be 600.50 for long(599.50 for short). Then we exit, say again at 600(market order). In reality, we will close our long position at 599.75 (600.25 our short position) and if we add again the slippage of 1 tick, it will be 599.50(600.50). So we end up with $50 (4 ticks in our case) loss per contract for every trade(2 ticks for opening and closing the position at the bid/ask and 2 ticks of slippage).
Or would you assume that you will be filled at 600 (ignoring bid/ask) and then just add 2 ticks of slippage per round trip which would actually result in $25 loss?
Can you help answer these questions from other members on futures io?
I recommend a minimum of 1 tick slippage per side (in/out) during back testing. I personally use 2 ticks of slippage per side during back testing on every instrument/symbol I test.
For ZC, you can probably assume you will get filled at the bid or ask unless you are trading more than 25 lots. In my backtests, I double the bid-ask spread and use that for slippage. So for ZC, I would use 2 ticks per side when backtesting. That brings it closer to actual fills especially if you are executing manually.
The following 3 users say Thank You to Hulk for this post:
Yes. That is correct. I use 2 ticks getting in and 2 ticks getting out per contract for slippage. I used to use 1 tick per side per contract and discovered that real slippage in live market was around 2 ticks per side.
If you are using a limit order to enter in the market then you can remove entry tick slippage but you risk not getting filled in live markets.
The following 3 users say Thank You to FuManChou for this post: