10 month moving average strategy
Faber's rule owns a market when its price is above its average of the last 10 months, and holds cash when it isn't. Meb Faber published the 10-month rule in the Journal of Wealth Management in 2007. Backtoast ran it. Faber's 10-month version made 4.4% a year at +4.70% a trade, but failed our test on trade frequency and outlier dependence.
| Strategy | Trades | A year | Test |
|---|---|---|---|
| Faber 10-month average | 25 | +4.4% | Failed |
Backtoast
You pay $99 for two full tests of your own strategy, and a pass is an offer of 30% of the profit Backtoast makes trading it with its own money.
10 month moving average strategy
The book is five slots of 20%, US stocks, foreign stocks, Treasuries, commodities and real estate, each checked once a month at the close. A slot above its 10-month average holds that market and one below it holds cash, so it trades rarely and steps aside once a long fall is under way.
The run used ETFs for the indexes, on price alone, and its cash earned nothing. VNQ, the real estate fund, had no data, so the run held the other four, SPY, EFA, IEF and GSG.
Dual momentum strategy also steps aside, when a market's 12-month return trails T-bills.
When it works
The 10-month rule helps most in long bear markets, when it moves a market to cash for most of the fall, and it lags in quick V-shaped recoveries and in sideways markets that keep crossing the average. Traders use it to cut drawdowns. It was also stronger in the last six months of our run, at +6.89% a trade.
Origins
Faber's paper, updated in 2013, reported 10.48% a year from 1973 to 2012 against 9.92% for holding all five, with a worst drop of 9.54% against 46%. SSRN counted about 272,000 downloads of it by 2024. The run is from late 2021 to October 2026.
The run is Backtoast's, from 29 October 2026, after costs. The 50-day crossing the 200-day is the golden cross and death cross.
99% of trading strategies fail. Test yours.
$99 for two full tests. If one passes, we offer you 30% of the profit we make trading it.
Run the test