[R-SIG-Finance] Generic versus calendar futures in trading models
Robert Sams
robert at sanctumfi.com
Wed Nov 12 20:19:38 CET 2008
Hi Jorge, this is a subtle area. In the literature (what little of it
that exists) it's referred to as constructing "continuous" prices series
from futures data and there are many different methods for doing this.
Which method you choose to use depends upon the model or idea that
you're backtesting.
For example, one method involves taking the difference between the (most
recent) first and second contract sequences on the roll date and adding
that difference to all prices prior to the roll date, performing this
same operation for the second most recent roll, and so on. This has the
virtue of removing those jump's in the generic contract's price series
due to the contract maturity changing at the roll dates. A backtesting
rule that bought and sold at these prices would basically be assuming
that an open position over the contract roll would be closed at the roll
date and reopened into the new contract, also on the roll date, which is
often what we want. But is this the right method? Depends. The downside
of this approach is that the adjusted prices series will drift upward or
downward as we go back in time depending upon whether the spot/foward
relationship is positive carry (eg, Bond futures) or negative carry (eg
Crude Oil). This may or may not distort your model.. that all depends
upon what your signal model is meant to tell you.
As a starting point, you should make a distinction between those
adjustments you want to make to the futures price series for the purpose
of feeding the signal model and those adjustments that you make for the
purpose of feeding the backtesting P&L logic (namely, removing
economically meaningless price changes at contract roll dates).
If you're using bloomberg for your futures data, check out the GFUT
configuration on your terminal. I think four different roll adjustment
methods are supported there (including the example just described). As
an aside: those of us who work with these things should code and
document these different techniques in an R package at some point.
Btw.. I'm not sure you're at backtesting stage here. If you understand
what that model is trying to do well enough, the correct method for
putting it to data should present itself to you. As with all good
trading research, you need to think very deeply about a few very simple
things.
Robert
-----Original Message-----
From: r-sig-finance-bounces at stat.math.ethz.ch
[mailto:r-sig-finance-bounces at stat.math.ethz.ch] On Behalf Of Jorge
Nieves
Sent: 12 November 2008 17:28
To: r-sig-finance at stat.math.ethz.ch
Subject: [R-SIG-Finance] Generic versus calendar futures in trading
models
Hello,
I am testing an econometric model for trading futures on commodities. I
am setting up the back-testing phase, but I am facing a dilemma about
what is the best way to "easy" the transition for when futures mature
into the next open contact. For now I am testing the model using the
generic CL1 crude front contact. I would like to ensure that the rolling
after maturity of each calendar contract does not generate false
signals. Any one has any suggestion about what will be the best approach
and why?
Thanks,
Jorge Nieves
[[alternative HTML version deleted]]
_______________________________________________
R-SIG-Finance at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only.
-- If you want to post, subscribe first.
More information about the R-SIG-Finance
mailing list