Roll over always in the upcoming spot month?

Discussion in 'Automated Trading' started by chimera123, Jul 29, 2012.

  1. Hello,

    I am planning to use a trendfollowing strategy but actually I am bit confused regarding the rollovers.

    I am planning to perfrom rollovers on fixed dates well before FND/LTD. I skipped the approach to use OI/Volume as a trigger because sometimes OI/Volume triggers after FND. So the timing by using fixed dates is not an issue for me.

    Sometimes on some futures OI/Volume does not switch to the next upcoming spot month, instead it moves to a forward month more distant (e.g. Corn....)

    Should I switch now regardless of OI/Volume to the next upcoming spot month, or should I follow the "crowd" to the more distant month.

    But in this case my chart data would match up with the more distant foward month as I am using backadjusted data which is basically just a series of all spot month.

    Would be great to hear how you guys are handling this matter.

    Thanks a lot!
  2. This question is a lot harder to answer to answer than it looks. A lot of people here who backtest will give you a simple answer such as the date that volume in the new contract exceeds that in the old contract, but in trading reality this is insufficient. For example, I have a strategy running on the Bund and back in June on the the day that volume shifted from the old contract to the new contract, my system was long the old contract and short new new contact. So do you simply reverse into the new contract? You now have two conflicting signals? Do you sit it out until they both confirm each other? Does this yield better or worse in backtested results? Is this even testable using your trading software? Remember, one will track the other until expiry, so which is right? Or do recognize that the old contract offers poor liquidity so it should be ignored? There is no real right and wrong answer. Back testing is one thing but real trading is another.
  3. Hello,

    I don´t know, but I guess I will always stick with the spot month.


    All backtesting has been done by using back adjusted data, which is simply a collection of all spot months, therefore I cannot switch to a more distant forward month as those data are not included in my back adjusted data series, even if the more distant forward month shows bigger OI/Volume.

    I think I cannot switch to a forward month when the data is not included in my backadjusted chart and all signals are generated by using the spot month.

    Is my thinking correct?

  4. flip


    You could split it up: Financials (equity indices, bonds, currency futures) always roll into the next contract (and not to a more distant contract) and the OI/Vol typically shifts to the next contract on the same day (e.g. 2 days before expiry). So you could use a fixed rule here.

    For commodities that can be very different, so I would use a rule based on OI/Volume and hence also follow the "crowd" to the more distant month, as this is where the action is (unless of course you want to capture a specific rollover effect, which is however not the case with a typical trend following system)

    Actually you should combine the rules for commodities: Use OI/Volume as trigger but not later than x days before FND/LTD, to prevent undesired side effects :)

    With regards to charting and your time series: In this case you obviously have to also create a backadjusted series that reflects your methodology, i.e. you need all single contracts and link them together based on your rollover rule.

    What's your data provider?
  5. Flip, thanks for your reply!

    My data provider is CSI, back adjusted data will be created by using a software called Unfair advantage.

    Up to know I am not aware that there is a possibility to "customize" my backadjusted data based on my rollover preferences.

    I already checked the UA manual but couldn´t find any further information regarding customizing back adjusted data based on my rollover rules. Do you have any furt´her information on this?

    Which kind of data provider do you use?
  6. flip


    For daily data I'm also using CSI data (which is a very reliable data source for daily data btw...).

    So you have two possibilities right now:

    1) You could download all single contracts for each future. Up to now you've probably only used their backadjusted data where you have 1 time series per asset. But you can also obtain also single time series, for ES (s&p500) that would be 4 contracts per year, for CL (crude oil) 12 contracts per year. You would then have to backadjust and link them together, using any backadjustment rule you want. However, you would need to be able to program that, messing around in Excel won't make much sense imo.

    2) Using the CSI backadjusted data. Good news for you: You can define certain rules for rollover (e.g. based on OI, Vol, OI+Vol, date, etc.). The backadjusted data will then always reflect the chosen method. So if for instance you choose "Roll Trigger: Volume" and the highest volume switches from the front month to a more distant contract, leaving one contract in between out, also your backadjusted data will reflect this and leaves the conctract in between out.

    If you need any help on this, let me know.
  7. Hi Flip,

    Thanks for your detailed description on this topic!
    Option 2 is exactly what I was looking for.

    One more thing. In case I decide to roll on a fixed calendar schedule only, will it be also the case that I will get always rolled into the contract that shows at the roll date the highest OI and/or Volume?

  8. flip


    Sorry for the late reply, chimera. I'm not aware of that option in CSI, so I guess you would have to build that on your own