A four-ETF momentum rotation (SPY, TLT, DBC, GLD): the S&P 500's return with half its worst fall, and a ten-year wait

A four-ETF momentum rotation (SPY, TLT, DBC, GLD): the S&P 500's return with half its worst fall, and a ten-year wait

The short version

What it doesOnce a month it looks at four funds: US stocks (SPY), long-term Treasury bonds (TLT), commodities (DBC) and gold (GLD). It holds the two that rose most over the past year, but only while each is above its own 10-month average. Otherwise that half of the money waits in cash.
What it made10.57% a year from March 2007 to September 2026, against 11.04% for SPY bought and held. Both with dividends and bond interest reinvested.
What it costAt its worst it was 26.4% below its previous high. SPY's worst fall was 55.2%.
The test that matteredI rebuilt it 300 times with the two funds picked by dice from those above their average. Only 5 of the 300 did as well.
The catchFrom 2010 to 2019 it made 4.89% a year while SPY made 13.26%. Its longest stretch below a previous high lasted 3.3 years.
VerdictThe rules work. Alone they are very hard to sit through. Half of an account, next to SPY, is where they earned their keep.

Everything below is a backtest of published rules on past prices. It is a record of what I measured, not advice and not a recommendation to trade anything.

What this is, and what it isn't

This is a rotation strategy. It owns at most two of four very different assets and switches between them once a month. Two ideas drive it. Trend: stay out of anything that is falling. Momentum: of what is rising, own what has risen most, on the bet that strength lasts a few more months.

It did not beat the stock market on return. Over almost twenty years it came within half a point a year of it, with half the worst fall. The "worst fall", or drawdown, is the deepest drop from a peak in the account to the low that follows.

It got there by taking turns with the market. It was far ahead after 2008, spent a whole decade falling behind, and caught up after 2020. That middle decade is the real subject of this review.

Where it came from

The rules come from a TradingwithRayner website and YouTube channel.

The idea is old and heavily mined. Mebane Faber's 10-month moving-average rule for asset classes was published in 2007. Gary Antonacci's dual momentum is the same family. So the question is not whether the idea is clever. It is whether it survives an honest test.

The rules

At each month's last close, every fund faces the same two questions. Is it above the average of its last 10 month-end closes? And among those that are, which two rose most over the last 12 months? Those two are next month's holdings. At the next month's first open, a fund that dropped out is sold, and a newcomer is bought with half of the account.

Flow diagram: once a month each of SPY, TLT, DBC and GLD is checked against its 10-month average; the ones above it are ranked by their 12-month gain and the top two are held with half the money each; fewer than two passing leaves the empty half in cash.
Once a month, each of the four funds is checked against its 10-month average; the ones above it are ranked by their 12-month gain and the top two are held, half the money each.

The rules in full, precise enough to rebuild

  • The funds. SPY, TLT, DBC and GLD, nothing else. DBC started trading in February 2006, so the test starts in March 2007, the first month all four have a full year of history.
  • The trend test. The month-end close is above the simple average of the last 10 month-end closes. The slide says 200-day average. On monthly bars there are no days to average, and 200 trading days is about 9.5 months, so 10 months is the usual stand-in.
  • The ranking. The percentage change of the month-end close over 12 months. Only funds that pass the trend test are ranked.
  • Holdings. The two highest. If only one fund passes, the other half of the money stays in cash. If none pass, all of it does.
  • Orders. Decided at a month's last close, filled at the next month's first open. A holding that stays in the top two is kept as it is. It is not trimmed back to 50% every month (the stress table shows that version too).
  • Size. 50% of the account's value at the moment of buying. Nothing is borrowed.
  • Costs. Half a cent a share in commission. The base run adds no slippage, the gap between the expected price and the one you get, and pays no interest on idle cash.
  • Prices. The signals read ordinary price charts, adjusted for splits. The money includes the dividends and bond interest an owner of these funds receives, reinvested. SPY, the benchmark, is treated the same way.

One real trade, start to finish

Gold closed October 2023 at $184.09, above its 10-month average of $179.57. It had risen 21% in a year, more than any of the other three funds. So GLD was bought at the open on 1 November 2023, at $183.91.

Then it was simply held. Gold stayed above its average and near the top of the ranking for 32 months. Its best month-end was $483.75, in February 2026. By June 2026 it had fallen to $368.38, below its average of $407.59. GLD was sold at the open on 1 July 2026, at $371.20.

That is a gain of 101.8%. It also shows the cost of the method. The rule looks once a month at a slow average, so it sold 23% below the best month-end. A monthly trend rule never sells near the top. It gives back part of every big move before it admits the move is over.

Monthly candles of GLD from January 2022 to September 2026 with its 10-month average: bought at 183.91 dollars on 1 November 2023, best month-end 483.75 dollars in February 2026, sold at 371.20 dollars on 1 July 2026 after June closed below the average.
One real trade: gold bought at the 1 November 2023 open after closing October above its average, held 32 months, sold at the 1 July 2026 open after closing June below it. Up 101.8%, sold 23% below its best month-end.

What it did over 19.6 years

The test runs from March 2007 to September 2026 with $100,000. Orders go in at the next month's open, at half a cent a share, and the strategy made 69 trades. SPY is bought on the first day and never sold. Both reinvest their distributions. This is a backtest, not a live record.

Over 19.6 yearsThe strategySPY, bought and heldThe four funds, 25% each60% SPY, 40% TLT
$100,000 became$713,229$784,051$399,217$475,676
Return a year10.57%11.04%7.32%8.29%
Worst fall from a peak26.42%55.16%27.67%31.02%
Sharpe ratio0.850.630.750.77

Sharpe compares the return with how bumpy the ride was: higher means the same gain arrived more smoothly. The two right-hand columns are rebalanced every month.

The rules did beat their own ingredients. Holding all four funds in equal parts made 7.32% a year with about the same worst fall. Choosing two of them each month added more than three points a year.

Table of statistics for the strategy and for SPY bought and held, March 2007 to September 2026: 10.6% against 11.0% a year, worst fall 26.4% against 55.2%, Sharpe 0.85 against 0.63, 69 trades, 91% of the money invested.
The strategy next to SPY bought and held, both with distributions reinvested, March 2007 to September 2026.
Grid of monthly percentage gains from March 2007 to September 2026 with each year's total and SPY's year beside it, green for gains and red for losses.
Every month's gain or loss, with the year's total and SPY's year beside it. 2008 and the years after 2020 carry the record; 2011, 2012 and 2015 lost money while SPY gained.
Line chart of 100,000 dollars in the strategy and in SPY from March 2007 to September 2026, ending at 713,229 and 784,051 dollars, with a lower panel showing the strategy's fall below its previous high, deepest 26.4% in 2009.
One hundred thousand dollars in the strategy against SPY. The lower panel shows how far the strategy was below its previous high.

The equity chart tells the story in three acts.

PeriodThe strategy, a yearSPY, a year
March 2007 to 2009+15.15%−5.71%
2010 to 2019+4.89%+13.26%
2020 to September 2026+17.02%+15.10%

The first act is 2008. The strategy made 6.0% that year while SPY lost 36.8%. It held gold, commodities and then bonds while stocks fell. That is where its whole lead came from.

The second act is long. From the market's low in March 2009, SPY grew 15.4 times by September 2026. The strategy grew 5.6 times. In the 2010s it held SPY on 68% of days, but never with more than half the money. The other half rotated between gold, bonds and commodities, and commodities lost money over the decade. Its worst fall in those ten years was 20.93%, about the same as SPY's 19.34%, for about a third of the return.

The third act starts in 2020, when gold, commodities and stocks all had strong runs. The strategy finished ahead of SPY in 8 of the 19 calendar years from 2008. The full-period numbers hide how unevenly those years were spread.

What I tried to break

Every run is in the table below, including the ones that did better than the published rules. MAR is the return a year divided by the worst fall, so higher is better. A basis point is one hundredth of one percent of the price.

The full stress battery - 36 rows

GroupRunReturn a yearWorst fallMARTrades
The rulesThe rules as published (base)10.57%26.42%0.4069
BenchmarkSPY bought and held (total return)11.04%55.16%0.20
BenchmarkThe four ETFs, 25% each, rebalanced monthly7.32%27.67%0.27
Part of a bigger book50% strategy + 50% SPY, rebalanced monthly11.26%34.58%0.33
Part of a bigger book33% strategy + 67% SPY, rebalanced monthly11.29%40.36%0.28
Benchmark60% SPY + 40% TLT, rebalanced monthly8.29%31.02%0.27
DataPrices without distributions (a plain price-chart backtest)9.58%27.14%0.3569
DataSignals on total-return prices too10.29%23.15%0.4571
CostsSlippage 1 bp per side10.53%26.45%0.4069
CostsSlippage 3 bp per side10.47%26.51%0.4069
CostsSlippage 5 bp per side10.39%26.55%0.3969
CostsSlippage 10 bp per side10.22%26.70%0.3869
Idle cashIdle cash in short Treasuries (SHV)10.70%26.04%0.4169
FillsFilled at the signal month's last close11.17%23.89%0.4769
FillsFilled at the 5th trading day's open11.13%29.42%0.3869
SizingEvery holding re-sized to 50% each month10.61%25.64%0.4169
RulesNo trend filter: always the top 2 by 12-month gain10.18%37.23%0.2755
Positions1 position (100%)10.81%35.93%0.3060
Positions3 positions (33% each)8.15%20.19%0.4070
Positions4 positions (25% each): every ETF above its average6.41%16.22%0.4072
Trend averageTrend average 6 months11.91%21.21%0.5690
Trend averageTrend average 8 months11.91%28.57%0.4274
Trend averageTrend average 9 months11.27%26.74%0.4267
Trend averageTrend average 11 months9.95%25.82%0.3963
Trend averageTrend average 12 months9.57%27.51%0.3565
Trend averageTrend average 14 months9.78%32.29%0.3064
Momentum windowMomentum measured over 3 months10.04%26.52%0.3899
Momentum windowMomentum measured over 6 months11.14%26.75%0.4275
Momentum windowMomentum measured over 9 months9.62%26.38%0.3669
Momentum windowMomentum measured over 11 months10.10%26.46%0.3871
Momentum windowMomentum measured over 13 months10.08%26.36%0.3871
Momentum windowMomentum measured over 15 months9.57%26.43%0.3671
Momentum windowMomentum measured over 18 months9.36%26.57%0.3573
Settings gridAll 192 pairs of trend average 3-14 months x momentum 3-18 months: lowest / middle / highest7.15% / 9.94% / 12.83%19.38% / 26.38% / 32.51%0.26 / 0.37 / 0.60
Dice controlDice pick among the ETFs above their average (300 runs): middle / best8.58% / 11.28%26.36% / -0.33 / -137 (middle)
Dice controlDice pick any two of the four, no filter (300 runs): middle / best6.96% / 11.92%34.50% / -0.20 / -235 (middle)

The dice test, the run that could have killed it. The trend filter decides when a fund may be owned. The ranking decides which two. To see whether the ranking carries information, I kept everything else and let dice choose. The first 300 versions keep the trend filter, and dice pick two of the funds above their average. The next 300 drop the filter, and dice pick any two of the four.

What chose the two fundsMiddle runBest runRuns that did as well as the rule
Dice, among funds above their average8.58%11.28%5 of 300
Dice, any two of the four6.96%11.92%9 of 300
The real rule: the two strongest10.57%
Two histograms of yearly returns from 300 versions each that chose the two funds by dice; with the trend filter the middle run made 8.58% and 5 of 300 reached the real rule's 10.57%; without it the middle run made 6.96%.
Six hundred versions with the two funds chosen by dice. With the same trend filter, only 5 of 300 did as well as picking the two strongest.

The ranking is worth about two points a year over the middle dice run. The filter does a different job. With it, the middle dice run fell 26.36% at worst, almost exactly like the real rule. Without it, the middle dice run fell 34.50%. The ranking earns the return and the filter limits the damage.

What survives

The ranking is real. Only 5 of 300 dice versions, with the same filter, did as well as picking the two strongest funds.

The settings are not on a knife edge. I ran every pair of trend average from 3 to 14 months and momentum window from 3 to 18 months, 192 in all. They returned between 7.15% and 12.83% a year, 9.94% in the middle. The published 10 and 12 ranked 58th of 192. Every one of the 192 had a better MAR than SPY's 0.20.

Costs and timing are not the weak spot. Ten basis points lost on every order cost 0.35 of a point a year. Filling at the signal month's close made 11.17%, and waiting until the fifth trading day made 11.13%. Earning short-term Treasury interest on idle cash added only 0.13 of a point, because 91% of the money was invested on an average day.

The filter took eleven points off the worst fall. Without it, always holding the two strongest funds, the worst fall grew from 26.42% to 37.23%. The return slipped only from 10.57% to 10.18%.

What breaks

It needs a bad year for stocks to pay off. All of its lead over SPY was built in the 2008 crash. It was ahead of SPY on only 54.3% of days, and the last of them was 12 May 2026. In a decade of rising stocks it made 4.89% a year. Anyone who judges it against the S&P 500 every month will want to quit somewhere in the 2010s.

The dry spells are long. It went 3.3 years below a previous high, from September 2011 to December 2014, while SPY was setting new highs. From March 2022 to May 2024 it spent another 2.2 years below its high, and SPY recovered five months sooner. This is the cost that a single return figure hides.

Two positions are a concentrated bet. Each holding is half of the account. With one position the worst fall grew to 35.93%. With three it shrank to 20.19%, and so did the return, to 8.15%. Gold alone was held on 57% of all days. A long run in one asset can carry the result, as it did from 2024 to 2026.

The result depends on counting the distributions. On price charts alone, without dividends and bond interest, the same trades made 9.58% a year. A simple chart backtest of these rules will understate them by about a point a year.

Verdict

The rules work. Picking the two strongest of four funds in an uptrend beat dice, beat holding all four, and took the stock market's return with half its worst fall. That is a real result from a one-page rulebook.

It is also very hard to run alone. The test holds one decade in which it trailed stocks by more than eight points a year, and in that decade its falls were as deep as the market's. Few people keep following rules through ten years like that, whatever the backtest says.

It works much better as one part of a larger portfolio. Its monthly returns moved only loosely with SPY's, with a correlation of 0.32. So half of each, rebalanced monthly, beat both on smoothness:

Over 19.6 yearsReturn a yearWorst fallLongest below a highSharpe
The strategy alone10.57%26.42%3.3 years0.85
SPY alone11.04%55.16%4.9 years0.63
Half each, rebalanced monthly11.26%34.58%2.4 years0.91
Three panels showing how far below its previous high each version sat: the strategy alone, longest stretch 3.3 years; SPY alone, 4.9 years and a 55.2% worst fall; half of each rebalanced monthly, 2.4 years and a 34.6% worst fall.
How far below its last high each version sat, and for how long: the strategy alone, SPY alone, and half of each rebalanced monthly.

This suits someone who already owns stocks and wants a part of the account that does not fall with them. It does not suit someone who wants to beat the S&P 500, or who checks the comparison every month.

The trading formula, a stand-alone Python and AFL versions that reproduces every trade above, and the measurements behind the portfolio mix are on Patreon: patreon.com/cw/SimpleStockTrade.


Disclaimer: All content on this site reflects the personal experience and opinions of the author and is provided for informational and educational purposes only. Nothing on this site constitutes financial, investment, or trading advice, and the author is not a licensed financial advisor. Trading stocks and other financial instruments involves substantial risk, including the possible loss of your entire invested capital. Past performance is not indicative of future results. You are solely responsible for your own trading and investment decisions; the author accepts no liability for any losses or profits resulting from the use of this content. Always do your own research and consider consulting a licensed financial professional before making any investment decision.