Skip to content
All library documents

Reading Calendar Spread Signals as Momentum Rather Than Mean Reversion

Article Quant Q&A · Author: Bill Wu

Summary

The discussion examines a crude oil futures calendar spread strategy that estimates a roll return from several contract maturities, standardizes it with a rolling z-score, and takes opposite positions in near and far contracts according to the signal’s sign. Under the stated constant roll return model, the spread’s log value is proportional to the roll return, with the sign depending on which contract is bought and sold.

The author of the cited strategy clarifies that the position rule is intended to profit from the roll return continuing in its recent direction: a negative z-score calls for further decline, making the strategy short-term momentum rather than mean reversion. The reported backtest was profitable, but the document gives no performance statistics or methodological detail. An augmented Dickey-Fuller test is said to find the roll return stationary; that long-run property does not rule out shorter-term momentum. The evidence and conclusion are specific to the described historical crude oil example and do not establish that the effect persists elsewhere.

Key ideas

  • The sign of a calendar spread’s log value depends on whether the near or far futures contract is long.
  • The strategy standardizes an estimated futures roll return with a rolling z-score.
  • The described position rule seeks continuation in the roll return and is therefore a momentum rule.
  • Long-run stationarity can coexist with short-term momentum.
  • The cited profitable backtest lacks performance details in the discussion.

Tags

Full text
# Question about calendar spread mean-reversion strategy


# Question about calendar spread mean-reversion strategy












I'm excited to ask my first question here! I'll try to describe the mean-reversion strategy with some background, then explain what I couldn't understand.

The strategy is described in Earnest Chan's Algorithmic Trading, chapter 5, page 123.

Earlier in the chapter the author proposes a constant roll return pricing model for futures: $F(t, T) = S(t)e^{\gamma(t-T)}$, where S(t) is the spot price, t is current time, T is maturity time and $\gamma$ is the (annualized) roll return. Based on this model he observes that,

> the log market value of a calendar spread portfolio with a long far contract and a short near contract is $\gamma(T_1 - T_2)$, where $T_1<T_2$.

This is because the log market value of a {-T1, T2} portfolio is $logF_2-logF_1 = \gamma(t-T_2) - \gamma(t-T_1) = \gamma(T_1 - T_2)$. For future reference a {T1, -T2} portfolio has the market value $\gamma(T_2 - T_1)$.

Now comes the strategy! It uses daily crude oil futures data from ~2004 to 2012. The roll return $\gamma$ was computed at each time using the first 5 contracts ($\frac{\partial log(F)}{\partial T} = -\gamma$). It's stationary from the ADF test (details omitted). Here's a time series of $\gamma(t)$:

Using $\gamma(t)$, the author computes the z-score using some lookback window:

```
MA=gamma.rolling(lookback).mean()
MSTD=gamma.rolling(lookback).std()
zScore=(gamma-MA)/MSTD
```

He then picks a pair of contracts (far and near) on each day based on:

> The holding period for each pair of contracts is 3 months Roll forward to the next pair of contracts 10 days before the near contract expires The far and near contracts are 1 year apart

These rules aren't relevant to my question, I've included them for completeness' sake.

Finally, the position size of the near/far contracts is determined as follows:

> On days when the zscore > 0, hold a {$T_1, -T_2$} portfolio (i.e. long near, short far). On days when the zscore < 0, hold a {$-T_1,T_2$} portfolio (i.e. short near, long far).

I'm confused about this rule. I thought when the zscore < 0, $\gamma$ will increase to revert to the mean. So this is when we want the portfolio market value to be $\gamma(T_2 - T_1)$, or $\gamma$ * (some positive number), so it can increase. This corresponds to a {$T_1,-T_2$} portfolio.

Any help in making sense of how he determines the position based on the zscore of $\gamma(t)$ is appreciated!

## Answer by Bill Wu (score 4, accepted)

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

I sent Ernie an email with a link to this question and here is his response:

> Yes, I agree with you that the strategy there actually is a momentum strategy, not a mean reversion strategy. In other words, if zScore < 0, we actually expect $\gamma$ to decrease further! The momentum strategy backtested is profitable. I will note this in the 2nd edition of this book - thanks for pointing it out!

I then asked him why it's a momentum strategy when the ADF test on $\gamma(t)$ and its time series points to it being mean-reverting, he said:

> The reason it is a momentum model is because the strategy can only be profitable if $\gamma$ decreases further once its zScore drops below zero. Over the long term, gamma can be stationary, but short term momentum does not preclude long-term stationarity.

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.