Tuesday, December 09, 2008

The enduring profitability of mean-reversion strategies

Some readers have doubts about my assertion that mean-reversal models continue to be very profitable during this whole year of financial and economic disasters. So I backtested the mean-reversion strategy in Example 3.8 of my book with the most recent one-year SP1500 data. Without transaction cost, the Sharpe ratio is 4.8. Even after subtracting 10 b.p. round-trip transaction cost, it is still at 3.5.

Since the strategy was constructed over a year ago while I was writing the book, this most recent backtest is done on unseen data, with absolutely no look-ahead bias!

33 comments:

Anonymous said...

I'm thinking this post will net at least one book sale.

Nicolas said...

may be. may be one RSS subscription removal as well

Alexandre said...

Hi Ernie,
in your book you use 10 bps round trip for the SP 500. Is it realistic to use the same for the SP 1500 ? 2nd question: how is the liquidity at the opening comparing with the liquidity at the closing ?
Regards,
Alexandre

Ernie Chan said...

Hi Alexandre,
Yes, I think 10bps rt is realistic even for SP1500. You can try 15bps, I don't think the results will be much poorer.
Liquidity at opening is slightly less than at closing. But we assume in this strategy you use the opening auction for execution.
Ernie

Rodrigo said...

Hi
I really like your posts but I didn't understand why you did yours back test without trading costs? What is the objective?

Ernie Chan said...

Hi Rodrigo,
I posted results both with and without transaction costs, so that you can see the effect on the Sharpe. Different traders may incur different costs depending on execution skills, commissions, etc.
Ernie

Anonymous said...

Ernie:
I don't think that it means too much. Of the many models I continuely track (and trade), I would be hard pressed to find out any countertrending that did not work in 2008.
It simply has been a great year for countertrend, but we should not conclude that mean reversion strategies have any kind of specially enduring characteristics.
Sadly, December has clearly shown that the countertrend kingdom has came to an end. Long live momemtum.
eb

Ernie Chan said...

Hi eb,
I must respectfully disagree with your statement that there is nothing specially enduring about mean-reverting strategies! The fact is: there has been no down years whether in bull or bear markets for this or many other mean-reverting strategies that I have tested so far. I must also disagree with your statement about December being a bad month for mean-reversion. My actual trading results as well as discussions with other traders indicate that December is yet another good month.
Ernie

Valentine said...

But what about survivorship bias? Buying and then increasing positions in AIG, LEH, FRE, FNM, etc according to the strategy would have killed you in the process. Now, conveniently, these and other such names are not in S&P 1500 any more and one can claim that the strategy "worked".

Ernie Chan said...

Valentine: You are right to point out survivorship bias in this study. I mentioned this bias in chapter 3 of the book. To buy a survivorship-free dataset for me and most independent traders is too expensive an option. However, I should point out that each symbol accounts for about 1/300 of the gross capital of the portfolio. So even if you lose 100% of the capital in that position in one day, the damage to the overall performance will not be significant.
Ernie

N N said...

Ernie,

Purchased your book and I am quite pleased. Do you have any insight regarding negatively correlated strategies to MR? I am thinking trend-following strategies would be ideal however I have not encountered any TF strategy with a Sharpe equal to a MR strategy. Even more so at an intraday frequency. Again any insights would be much appreciated!

Woodshedder said...

Ernie, I discovered your blog many months ago, and likely left you a few comments. Then it seems as if I may have forgotten about your blog or didn't bookmark it...

Last weekend, searching through Amazon, I found your book, but didn't know it was YOUR book, until I once again stumbled upon your blog this evening. Serendipitous, I think.

I'll be buying a copy.

Ernie Chan said...

Hi NN,
You are right that most Trend Following strategies do not have as high a Sharpe ratio as mean reverting strategies. However, what counts is the overall Sharpe ratio of your portfolio when you combine both. I will bet that if you incorporate a TF strategy with appropriate capital allocation, you will find your overall Sharpe increases.
Ernie

Ernie Chan said...

Hi Woodshedder,
Thank you for your interest in my book ... good luck trading!
Ernie

Jacques Marsun said...

Ernie, just bought your book. Great job! Do you ever blend mean-reversion and trend-following into a single strategy?

Ernie Chan said...

Hi Jacques,
Thank you!
I personally have not blended mean-reverting and trending strategies into one, though I have run them side-by-side. However, you can see that Josh Brolin (http://epchan.blogspot.com/2008/12/josh-brolin-on-day-trading.html) has.
Ernie

Dan said...

Hi Ernie,

Just read your book and enjoyed it very much. While I'm a fan of mean reversion strategies, I'm still wrestling with some cointegration concepts and cointegration v. correlation. For example, with cointegration how do you choose which is the independent/dependent variable, as you get different results? Also, as with correlation, how do you choose to "optimal" timeframe as again you can get very different results with say 1y, 2y 5y etc. Lastly, for now, it would seem to me if 2 stocks have generally moved together but for some reason are currently x sd away from the mean, they can't currently have a high correlation, in fact may be negatively correlated, is the same true for cointegration.

Thx......D

Ernie Chan said...

Hi Dan,
It is true that switching indep vs dep variables may generate slightly different cointegration results. However, you can choose pairs which cointegrate irrespective of the choice of indep variable.

The choice of optimal timeframe for correlation study is a general optimization problem. Generally, the timeframe that optimizes past performance is chosen, or one can average the results of different timeframes.

2 stocks that are currently far apart can still cointegrate very well, as long as the timeframe over which cointegation is studied is sufficiently long.

Best,
Ernie

Anonymous said...

hi Ernie,
I have read your book and want to have a look at epchan.com/book/sp500_20071121.xls. But it seems need login ID and password. Is there anyways I can get the excel file?

Thx,
Ivan Tsai
email: ivan.tsai@yahoo.com.hk

Ernie Chan said...

Hi Ivan,

Please see the last paragraph of page 34 of the book for login info.

Thanks,
Ernie

Tim said...

Hi Ernie,

in your post above you state that "we assume in this strategy you use the opening auction for execution", but doesn't that generate a look-ahead bias? You're using the opening price to signal your trades, but that opening price is not yet known when you submit your order to the opening auction. After the auction liquidity might be quite low, so the transaction costs could be much larger.

Ernie Chan said...

Hi Tim,
There is no look-ahead bias in the backtest, but there may be a slippage issue if you execute slightly after the opening. Alternatively, you can use pre-open prices. The execution method for this strategy is what differentiates a theoretical discussion from a truly profitable trading strategy. Naturally, no traders will discuss their own proprietary execution method.
Ernie

Anonymous said...

Hi Ernie,

I am trying out example 3.6 on page 59, step two for "look-forward-bias check". But I don't quite understand the Matlab code, could you explain in layman terms what is the comparison between the old and new positions? In particular, what is oldoutput.positions(...) supposed to generate?

Many thanks.

Ernie Chan said...

Hi Anon,
oldoutput.positions represent the positions generated with the full historical data set. After truncating the last cutoff bars from this oldoutput.positions, we should get identical positions as that generated with the truncated historical dataset. Otherwise, your backtest program has a look-forward bias.
Ernie

Anonymous said...

Thank you Ernie!

Anonymous said...

have you retested with 2009 and 2010 data? curious how things have changed? Also, is this with all stocks in that index or just ones that performed a certain level the previous day?

Thanks

Ernie Chan said...

Hi Anon,
I have not retested with 2009-10 data, but from my personal trading, mean-reverting strategies continue to perform well these 2 years, though not as profitable as 2008.
Ernie

Anonymous said...

Hi Ernie,
I bought your book, it's great. I learned a lot from it. I'm a newbie in terms of short-term trading. I don't have real experience about short-term trading transaction cost.

You mentioned in example 3.7 a 5bps per trade transaction cost (or 10bps per round trip). I guess this means annually 10bps * 250=25% if I do 1 round trip trade per day. An annual 25% cost is really high and hard to be profitable unless the strategy is superb. Is my understanding correct? I assume your 5bps includes everything i.e. fee and slippage ...?

Thanks a lot!

Ernie Chan said...

Hi Anon,
10 bps per day indeed translates to 25% a year. But it should be hoped that each round-trip trade of your strategy is higher than 10bps.
This transaction is an estimate, and should be revised for different instruments. It is about right for a mid-large cap US stock though.
Ernie

Anonymous said...

This is all well and fine, but some of us only know the very basics of mean reversion. Can you describe a typcal mean reversion trade? I am interested in foreign exchange trading. Thank you.

Ernie Chan said...

Anon,
If you construct a Bollinger band, then a simple mean-reversion trade is just to buy at the lower band, and sell at the upper band. For details, see other examples in my book.
Ernie

M said...

Thanks for the book and sharing all the great info.

Maybe I can share a bit of mine, though this is a fairly old post as I can see.
You seem to play a lot with OU process, no surprises there for me. I recently started testing mean-reverting jump-diffusion process in similar ways I used ordinary OUP and it definitely is superior with me. It is an enhanced model after all. Plus it contains the extra 'jump' term which makes me simply happy.

Keep on doing the great job!

Ernie Chan said...

Thanks for the tip, M!
Ernie