Select Page

Here’s a nice take on this topic from a blog I recently found: Roll em!

When back-testing futures trading systems we have to make a choice regarding the historical price series. This issue came up for me recently while building a portfolio variance limiter in Trading Blox Builder (TBB). Put aside the issue of whether this is a wise thing to do: I want to use it to illustrate how careful one must be to use the “right” back-adjusted series for back-testing.

First I will quickly review the three main historical prices one is likely to encounter (unadjusted, Panama and Ratio-Adjusted). Then I am going to give an example for each to show that, depending upon the calculation you want to perform, any one of the three could be the “right” one. My variance example will show that sometimes, you even have to use them in combination!

Definitions. I am going to refer to the closing price only. The following applies equally to all prices:

1. Unadjusted Close: The actual close of a given contract on the date in question. In this context it refers specifically to the contract we would actually buy or sell (usually the most active) rather than some other month.
2. Panama Close: The closing price of a past contract adjusted up or down by a fixed dollar amount to account for the price difference when rolling from that contract to a future contract.
3. RAd (Ratio Adjusted) Close: The closing price of the contract adjusted up or down by a fixed multiplier to account for the price difference when rolling from a previous contract to a new contract.

Here’s a simple example:

• The unadjusted close for March 2011 crude was {90.54, 89.03, 87.48, 86.94, 86.71, 86.73} through 2011-02-10. Starting on that date, the unadjusted close for April Crude was {89.94, 89.13, 88.73, 87.57, 87.84}. If we roll positions on 2011-02-10, we have to pay up (89.94 – 86.73) = 3.21 per contract.
• To create a Panama adjusted closing price series we must add 3.21 to each of the March 2011 contract closes: {93.75, 92.24, 90.69, 90.15, 89.92, 89.94*, 89.13, 88.73, 87.57, 87.84} * 2011-02-10 roll date. We have now created a back-adjusted series without the “jump” caused by the contract roll. Notice that the Panama series preserves absolute price changes.
• 89.94 / 86.73 = 1.037. To create a ratio-adjusted contract we must multiply each of the March 2011 contract closes by 1.037 to give us : {93.8910, 92.3251, 90.7178, 90.1578, 89.9193, 89.94*, 89.13, 88.73, 87.57, 87.84} * 2011-02-10 roll date. Again, we have a back-adjusted series without the “jump” caused by the contract roll. Notice that the RAd series preserves the percent price changes.

Here’s the thing: the first closing price of each series is different, so which is the “right” close?

Let’s start simple with some rules of thumb:

1. If your calculations involve absolute values (e.g. nominal position sizes) use the unadjusted close.
2. If your calculations involve absolute differences in values across bars (e.g. $profit or loss) use the Panama contracts. 3. If your calculations involve multiplicative differences (e.g. % relationships) use RAd contracts. Here’s an example for the first: You want to know your nominal exposure to crude. It is function of the absolute value of the contract, so you would use unadjusted close. Using our numbers from above, to estimate nominal exposure to oil on the first day of the series, we would use a price of$90.54 because that is what it would have been at the time. Imagine what would happen if you used a Panama contract value that was negative!

For the second, consider a statistic like true range. It involves an absolute difference from one bar to another. If we were to use unadjusted close, we would be right MOST of the time, but horribly wrong on the roll date. In this case the “right” data to use is the panama contract. In the present example, if we were to use the RAd contracts and were position-sizing based on ATR, our back-test would have the wrong position sizes.

As an example of the third, consider the standard deviation of closing price series, or more accurately, the standard deviation of log differences: LN(Pi / Pi-1). Clearly we must use the RAd contracts for this calculation because we are looking at daily percent change – only the RAd contract accurately preserves this relationship. Using a Panama contract could lead to wildly wrong estimates of standard deviation, and you cannot take logs of negative numbers. The back-calculated standard deviations would change every time there was a contract roll in the future!

For my final example I want to consider a situation where we need to combine two different contract types: covariance. Everyone is familiar with the standard portfolio variance estimate:

$E \left ( Portfolio Variance \right )= \sum_{i, j}w_{i}.\sigma_{i}.w_{j}.\sigma_{j}.\rho_{i, j}$

Since standard deviations (sigmai) and correlation (rhoi, j) are percentage or ratio properties of price, you should use ratio adjusted contracts to calculate them. Since the weights are functions of the actual dollar values of the positions at the time they were held, the correct basis for the weights would be the unadjusted close. So we would be using 2 different series in this calculation.

EDIT: I came up with what I think is a better, more general Rule-of-Thumb:

Use the back-adjusted contracts that will forever give you the same results in your simulation as you would have got in real time, regardless of future contract rolls.

Edit 2: Fixed LaTeX implementation

## New Commodity Pool Launches

Please provide your name and email address so we can send you our quarterly compilation of new commodity pools registered with NFA.

## Free Hedge Fund ODD Toolkit

Note this is US Letter size. If you want A4, use the other button!

## Free Hedge Fund ODD Toolkit

Note this is A4 size. If you want US Letter, use the other button!

## Subscribe:

Don't miss our next hedge fund article!