how do you handle futures roll-over?

Discussion in 'Strategy Building' started by mizhael, Apr 26, 2010.

  1. Hi folks,

    In your backtest, how do you handle futures expiration and roll-over?

    It's very hard to programmatically keep track of the roll-over, anybody share some experiences on this issue?

    Thanks
     
  2. You need to create a continuous futures price time series. Several different ways of doing that exist.
     
  3. I don't "roll-over" in back-testing until the day the volume in the new contract exceeds that of the old.
     
  4. This is the correct method; use volume not a hard date.
     
  5. Arthur & ZG:

    Which software do you prefer to conduct your backtesting? Tradestation? I think there are betters but I was wondering your thoughts.

    Thanks!
     
  6. I have used ESignal for over ten years. But I have been screwing the same old lady during that time. Habits are hard to break.
     
  7. I too agree with that.
     
  8. If you want to backtest reliably you should do that only with your own code. Most programs operate based on assumptions you do not even know what they are. Some skip trades, others take trades they should not. Try testing a few different backtesting programs with the same system and data and you will see what I mean. I never got the same results.
     
  9. Pinnacle data provide their own chosen rollover dates for their continuous futures; with CSI you can select how you want the system to rollover.

    The three methods of stitching a series together are

    non-adjusted (like it sounds)
    back adjusted ... e.g. the front contract changes and increases by 5 points, go back and increase everything before by 5 points
    ratio adjusted ... similar to back adjusted, but shift by a percentage move, in order to avoid negative data.
     
  10. Have you compared the performance of the same system under different roll methods?
     
    #10     Apr 28, 2010