Skip to content
All library documents

Ratio-Adjusted Futures Series and the Importance of Roll-Aware Backtests

Article Quant Q&A · Author: WJA

Summary

The document examines why a ratio-adjusted continuous futures history can change when the extraction end date changes. Its example reports a different historical crude oil price in datasets pulled through different dates and shows that a simple long-only strategy’s Sharpe ratio and annual results also differ. This illustrates that a continuous series is constructed data, and its adjustment method affects backtest inputs.

The response distinguishes series intended to represent accurate returns from those intended to represent accurate profit and loss: ratio adjustment is described as appropriate for return continuity, while using that history for a PnL-based simulation can give misleading results. A proposed alternative is to backtest fixed-expiry contracts and explicitly include rolls when positions cross expiries. The discussion is brief and does not lay out a full adjustment formula, transaction cost treatment, or roll schedule; these details must be matched to the strategy and accounting objective.

Key ideas

  • Ratio adjustment is intended to create a continuous return series, not necessarily a PnL-accurate series.
  • Historical values in a continuous futures series may depend on the extraction endpoint.
  • The document’s example shows that such revisions can materially change backtest performance statistics.
  • A fixed-expiry backtest can model contract rolls explicitly when positions span a roll date.

Tags

Full text
# Extracting continuous futures prices on different dates with the ratio adjustment


# Extracting continuous futures prices on different dates with the ratio adjustment












I extract continuous prices for a set of futures contracts using Bloomberg. I select the Ratio as adjustment with the Bloomberg default settings.

For instance, to extract the first/forward generic contract with the Ratio as adjustment you add B:00_0_R to the BB Ticker. So for CO1 Comdty you use CO1 B:00_0_R Comdty.

The problem

If you extract the historical values up to today, then the adjusted price of CO1 Comdty on 01/01/1990 is 8.92 (dataset A). However, if you extract only up to 28/04/2017 then the price is 8.79 (dataset B). This difference might not seem a lot, it has however significant implications on the performance.

Moreover, when I backtest my model (lets assume a simple long-only), I obtain a Sharpe of 1.46 with dataset A. However, with the more recent dataset B, I obtain a Sharpe of 1.20. In addition, some years turn negative.

I was wondering whether this is indeed a known issue with futures, and if so how deal with the problem?

## Answer by Quantoisseur (score 2)

https://quant.stackexchange.com/a/49547

When constructing continuous price series you can either adjust for accurate PnL or accurate returns. Ratio adjustment is used to construct an accurate return series. This means that if you're backtest is set up for PnL then it will be incorrect.

Check out this post for more info: https://adamhgrimes.com/how-to-calculate-futures-rolls/

## Answer by user42108 (score 0)

https://quant.stackexchange.com/a/49564

"if so how deal with the problem?"

You could use fixed expiry contracts and build the rolls into your backtest (assuming you hold them over a roll).

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.