Did you ever think about automating the rolls? I've set mine to roll automatically like clockwork; I can't see any issue with this unless you can? (I'm currently doing separate legs using adaptive market orders).
That sounds fine for most markets. I guess the judgement about when to roll is something I'd personally like to keep under my control.
Also, do you currently get today's opening price before making forecasts?
Sort of. I run closing price snapshots, but I also grab prices hourly during market hours (not really opening prices however). It's possible for orders to be generated based on the closing price if the execution algo runs before a new price is grabbed, which is why I say "sort of".
But when I rewrite my code I'll
only use closing prices. That after all is what the backtest was run on.
I'm grabbing data from Quandl not IB (which lacks the last line); I'm curious to know how much difference this makes (I expect not a lot). The reason I ask is my slippage was large for January (amounting to 2.5% of portfolio in my favour); big one day movements on MXP & GBP based on politics seemed to account for the largest part of it.
When I measure slippage I measure;
a) sample price (which in principle should be yesterdays close)
b) mid price in market
c) "side" price (bid if I am selling, offer if buying)
d) execution price
Then:
a - b = delay cost
b - c = bid-ask spread cost
d - c = market impact
The first of these numbers tends to be the largest (because it could be a sample from up to an hour ago, or last nights close) but as it can be both positive and negative it evens out to something very close to random noise in the long run.
To get an idea of what I expect this to be if I simulate my strategy with a one day lag there is almost no difference in performance (less than 0.01 Sharpe ratio units). By the way if you do this, then measure the monthly differences in returns, you can get an idea of whether 2.5% is a big deal or not.
The second type of cost (bid-ask) approximates to what I assume my execution cost to be in backtesting - perhaps 1% a year. The third would be large and negative if I was a large hedge fund, but because I'm a small guy with a nimble execution algo it's positive (about 0.8 of b-c; i.e. I can trade almost for free).
It stands to reason that slippage is good for mean reversion and bad for trend following, hence my concern.
That's true - but only really problematic for fast trading. If you have a horizon of several weeks it's no big deal if you take the whole day to execute an order as your alpha decay over that period is negligible (which again you can measure by lagging everything by one day), so you can be patient.
GAT