Back to Community
Mebane Faber's Tactical Asset Allocation

This is also known as:

A Quantitative Approach to Tactical Asset Allocation
Asset Class Trend Following
Mebane Faber's MA Rule

It is simply:
1. Buy when monthly price > 10-month SMA.
2. Else, sell.

The paper is available here:
http://papers.ssrn.com/sol3/papers.cfm?abstract_id=962461

Mebane uses some mutual funds I presume that go way back. I am using the following ETFs: SPY, EFA, GLD, VNQ and AGG.

Clone Algorithm
962
Loading...
Backtest from to with initial capital
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Max Drawdown
--
Benchmark Returns
--
Volatility
--
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
# Backtest ID: 511170a8b50c2c08e7f91c2c
We have migrated this algorithm to work with a new version of the Quantopian API. The code is different than the original version, but the investment rationale of the algorithm has not changed. We've put everything you need to know here on one page.
This backtest was created using an older version of the backtester. Please re-run this backtest to see results using the latest backtester. Learn more about the recent changes.
There was a runtime error.
23 responses

Note how the performance has flat-lined since early 2011. This strategy is probably dead.

john, i tried this strategy with my own variation of pics, mainly vanguard VTI and things like that. but returns are pretty steady. from 2009 to now it was up 60% not so good, but sharp was 1.5

Nice, 60% is IMO good. What was the max drawdown? For investor psyche I think that and Sharpe are pretty important.

John - nice implementation, this is one that I've been thinking of putting in Quantopian for a while. I like the simple, elegant logic of it as a strategy. Good work.

Thanks, TIm!

here are my results

Clone Algorithm
69
Loading...
Backtest from to with initial capital
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Max Drawdown
--
Benchmark Returns
--
Volatility
--
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
# Backtest ID: 51130a35b50c2c08e70d93ec
This backtest was created using an older version of the backtester. Please re-run this backtest to see results using the latest backtester. Learn more about the recent changes.
There was a runtime error.

I also like these very simple systems. I wrote one that simply buys SPY when the VIX < 24 and sells when VIX > 24, and it backtested very well. Unfortunately I have had some trouble getting VIX index data into the backtester, and I haven't been able to come up with a way to replicate the system using an ETP, since there are no invariant volatility levels like that with the futures-index-based ETPs...

Simon, nice strategy using VIX. I wonder, how did you choose the threshold 24?

Oh, interesting... I wonder if you have considered doing any cross-validation?

Yeah, it would be worthwhile to split the data into two and do that, but with such a broad hump of good parameters I don't think it would uncover a fatal flaw. What would be ideal would be to see about transaction costs for the chop zones, which requires getting it into a backtester! Which is why I am going to look into offline zipline this weekend hopefully.

My thinking was it would be able to get a more robust parameter but actually upon further reflection I don't think it would necessarily make much difference as the model isn't simplified by choosing a higher or lower threshold. (Simple models tend to be more robust to out-of-sample data.) BTW I subscribed to your blog. Good luck with zipline!

Another source of food for thought along the same lines - Empiritrage (http://empiritrage.com/research/).

their volatility-based allocation model (http://empiritrage.com/wp-content/uploads/2012/11/VBA_public_v01.pdf) works along the same lines as Mebane Faber's MA trading rule with an addition of a "risk-on/risk-off" trigger based on the VIX moving average readings.

Hi - stupid question from a newbie: based on the paper, he writes that the model is updated once a month on the last day of the month, and that "price fluctuations during the rest of the month are ignored."

I'm not a developer, but I can typically read a little code, I just can't find where it does this just once a month. Can someone direct me to it?

Can this be done; holding bonds instead of cash, if the SMA200 signals to 'buy' bonds?

Yup that can be done.

Can someone share the modification of this that allocates all cash to whichever assets signal 'buy'? I seen it on here before, but can't find it.

I have done some tests on these kind of papers and i was wondering why all these kind of systems are long only.

One could have bought some inverse ETFs instead of shorting and -basically- make profits in the downtrends too, without paying the short interest fee.

In other words if you exit from a long position because your systems says that you are losing money, why don't just enter a short position and make money?

And why holding bonds or sometimes being FLAT is preferred instead of shorting equities?

Giuseppe....the short interest is priced in into inverse ETF's so there is no shorting without paying shortstock costs. But if short is viable one should go for it or go into a bond etf for a while instead of cash.

thanks Kees i was not aware of that

Hi Giuseppe. Most of your questions are answered here http://mebfaber.com/timing-model/

Shorting is more complicated than one thinks. It is more like insurance, you are more likely to pay for it before you get anything back, and if. From a statistical point of view, the market always goes up, and the distribution is biased that way. Shorting means you go against that bias.
The only way I was able to define shorting is that it is a function of time(like gambling), if red came 5 times in a row, then a black is more likely to come. Therefore as time goes by, with nothing notable, the probability that an event will trigger a selloff increases (i.e housing burst, many fossil fuel companies go under at the same time could be another). But again, even if 5 reds came in line the probability that the next one is red, still 50%. Oil went down to $26 but then recovered and no harm done, at least not yet!

You may want to test your theory using https://www.quantopian.com/posts/a-simple-downside-protection-model
you can easily substitute the bond with SH and the securities with SPY and observe results

That's just my two pennies' worth

Thank You very much ioannis, this example makes perfectly sense