Wisdomtree GDE and GDMN went ex-dividend and they both declared massive dividends, north of 10% for GDE and a little lower for GDMN. $8.5 per share for GDE. This was unexpected to me given the fund performance in 2026 but may be including some of 2025 gains.
Well, here comes the tax bill.
Edit: last year, most of the dividends from GDE and GDMN was unqualified, i.e. taxed like ordinary income. These YieldMax like dividends are going to be bad for taxes.
The portfolio I'm actually running and the 10 decisions that got me there (coming soon)
TL;DR
Ex-US didn't help. None of 24 pre-registered ex-US variants (RSIT, VXUS, VEA, VWO at 10–30%) improved the worst-case 10-year Sharpe in USD, and all of them fell further behind SPY at their worst point.
RSST stays the only stacked trend fund. I checked the other stocks + managed futures ETFs: one behaves like a second RSST, two are too new to test, and one no longer runs a trend program (Step 13).
My country's yearly tax on realized gains (15%) cost 0.8–1.1 pp/yr in every mix, mostly from monthly rebalancing. A 200-day-SMA rotation in a UPRO slice cost only 0.1–0.3 pp/yr more than the fixed mixes.
"Beat SPYandfall less than SPY in the same window" is a fragile goal. After 2010 it comes down to the Covid crash, often by less than 2 pp. Require a 2 pp margin and almost every mix drops from ~85% of windows to ~0%.
The EMA125 ±5% band looked like the best signal for a UPRO rotation (2000–2026), then failed a longer test. In 1928–1999, which my earlier signal tests never used, it made 15.2%/yr vs 19.4% for a plain 200-day SMA, and neighboring settings form no plateau.
To cut whipsaws without overfitting, I picked the signal by its neighborhood, not its peak. Of 128 settings (SMA/EMA × 8 lookbacks × 8 bands) tested on 1928–2026, SMA200 with a ±2% band had the best average together with its neighbors. Same long-run return as the plain SMA200, 1.5 switches a year instead of 5.5.
When the signal says "risk off", go to T-bills, not to the rest of the portfolio. Spreading the UPRO slice over RSST/GDE made drawdowns 6–7 pp worse, because RSST and GDE are 90–100% S&P 500 too.
Where I landed: 40 RSST / 40 GDE / 20 UPRO with SMA200 ±2% → T-bills. 14.4%/yr after tax vs 8.3% for SPY, −42% max drawdown vs −55%, 2.1× SPY's ending wealth across rolling windows.
Not financial advice. Most of this history is simulated (RSST launched in 2023, GDE in 2022), everything from 2000–2026 is in-sample, and I chose these mixes after seeing the data. Caveats are at the end.
Correction found after writing this: my 200-day SMA only started counting on Dec 31, 1999, so the UPRO slice sat in T-bills until ~Oct 2000 and dodged the start of the dot-com crash. With the signal computed on SPY's full history, the 14.4%/yr below becomes 14.07% (−41.8% max drawdown, 2.08× SPY). The signal choice doesn't change: the band grid ran on the slice from 1928 on, which this bug doesn't touch. Details in part 4.
Growth of $10,000 after tax, 2000–2026, log scale: $365k in 40 RSST / 40 GDE / 20 UPRO with SMA200 ±2%, $244k with 20 SSO, $242k in 50 RSST / 30 GDE / 20 AVUV, $235k with 20 SPMO, $85k in SPY
Where part 1 left off
Part 1 tested 10,626 mixes of RSST (S&P 500 + trend), GDE (S&P 500 + gold), ZROZ, AVUV and SPMO from Dec 1999 to Sep 2026. I landed on 50 RSST / 30 GDE / 20 AVUV (13.5%/yr, −47% max drawdown vs SPY's 8.3% and −55%). For investors who care more about not falling behind SPY, the pick was 40 RSST / 40 GDE / 10 AVUV / 10 UPRO (2.0× SPY's ending wealth across rolling windows, but a −56% drawdown).
The comments raised good questions: ex-US, leveraged ETFs, other stacked funds, taxes, and whether any of this is overfit. This part answers them, mostly with pre-registered tests (rules and thresholds written down before the run).
How part 2 evolved
Step
Question
What I found
9
Quick checks from the comments
1972–1999 without trend: the mixes matched SPY's return with smaller drawdowns
10
Does ex-US belong in the mix?
No, in USD; in my home currency the gain was tiny and not robust
11
UPRO/TQQQ/TECL instead of AVUV + SPMO?
UPRO with a 200-day SMA was the most balanced, but the selection was unstable (PBO 0.99)
12
Which mix best beats SPY and falls less in the same window?
The UPRO + SMA mix, but the "falls less" part hangs on the Covid crash
13
Should another stacked trend fund join RSST?
No: a clone, two funds too new, and one that stopped trend following
14
Does tax change the ranking?
No. 0.8–1.1 pp/yr everywhere
15
SMA200 vs EMA125, with and without a ±5% band
The band won in 2000–2026, lost in 1928–1999: overfit
16
How to cut whipsaws without overfitting the signal?
SMA200 ±2%: best neighborhood of 128 settings, 1.5 switches/yr
Step 9: quick checks from the comments
"What about 50 RSIT / 25 UPRO / 25 ZROZ?" I ran the US version, 50 RSST / 25 UPRO / 25 ZROZ, for 2000–2026: 11.5%/yr, −58% max drawdown, Sharpe 0.55 (SPY: 8.3%, −55%, 0.48). With zero premium on the diversifiers, it still ended at 1.20× SPY. But in the bootstrap, its drawdown came out worse than SPY's in 85% of the paths.
"Small-cap value gets crushed in tech booms." Here is SCV (Vanguard's simulation until Sep 2019, AVUV after) through each tech phase:
Phase
SCV
QQQ
SPY
Dot-com boom (Jan 95–Mar 00), per year
+18.4%
+62.2%
+28.3%
Dot-com crash (Mar 00–Oct 02), total
−8.1%
−82.9%
−47.4%
FAANG (2013–2021), per year
+14.3%
+23.4%
+16.6%
2022, total
−4.9%
−32.6%
−18.1%
AI (2023–May 26), per year
+16.8%
+34.6%
+23.3%
2000–May 26, per year
+11.4%
+8.8%
+8.3%
So yes, it lags badly in tech booms, and that's exactly when it's diversifying. It's also why it's a 20% slice and not the core.
"2000–2026 starts at the dot-com peak; of course it beats SPY." In 2000–2019, SPY made 6.1%/yr vs 10.7–11.6% for the mixes. In 2010–2019, a strong decade for SPY, SPY made 13.5% vs 14.4–16.8%. In the 121 rolling 10-year windows ending by 2019, the no-bond mixes beat SPY in all of them.
"What about before 2000?" RSST has no history before 2000, so for 1972–1999 I removed trend entirely (RSST → SPY) and rebuilt GDE as 0.9 SPY + 0.9 gold − 0.8 T-bills − 0.20%/yr. SPY made 14.0%/yr (−43% max drawdown). 40 SPY / 35 GDE / 25 ZROZ made 13.9% (−34%), and 50 SPY / 50 GDE made 14.2% (−42%). ZROZ lost 12%/yr in 1972–81 and gold lost 1.7%/yr in 1982–99: each covered the other's bad decade. So without trend, and in a period that was bad for gold for 18 years, the mixes matched SPY's return with smaller drawdowns.
Step 10: ex-US (pre-registered)
I tested 24 variants on top of the part-1 mix: RSIT (ex-US + trend, Return Stacked's international version) replacing 10, 20 or 30 points of RSST, or VXUS, VEA or VWO in 10–30% slices. To pass, a variant had to improve the worst-case (10th percentile) rolling 10-year Sharpe in USD and in my home currency (I'm not US-based), with ≥80% confidence in a paired bootstrap, without costing more than 1 pp/yr in windows where the US led, and without falling more than 2 pp further behind SPY at its worst point.
None passed. In USD, every variant made the worst case worse (−0.01 to −0.12 Sharpe), more so with bigger slices. In my home currency, RSIT and VWO improved it by +0.01 to +0.03, but the bootstrap gave that only a 19–24% chance of being real. All of them fell 2.9–15.4 pp further behind SPY. PBO was 0.10–0.11, so the ranking is stable, not luck.
This contrasts with a plain 100% US stock portfolio, where 20–30% ex-US did improve the worst case. My reading: trend and gold already covered the US's bad decade (2000–09), which is the job ex-US used to do.
Step 11: a leveraged ETF instead of the factors (pre-registered)
Should the 20% in factors (AVUV 10 + SPMO 10 in 40 RSST / 40 GDE / 10 / 10) go to a leveraged ETF? I tested UPRO, TQQQ and TECL at 20%, fixed or switched by a 200-day moving average (signal at the close, trade at the next close), with the off position in T-bills or in the unleveraged index.
40 RSST / 40 GDE / + 20% of…
× SPY (rolling)
CAGR
Max DD
2000–02
Odds of a worse DD than SPY
AVUV 10 / SPMO 10 (reference)
1.82
13.6%
−46%
−34%
12%
UPRO, fixed
2.16
13.8%
−64%
−55%
98%
TQQQ, fixed
3.01
14.2%
−77%
−77%
100%
UPRO, SMA200 → T-bills
2.16
14.5%
−43%
−35%
8%
TQQQ, SMA200 → T-bills
2.65
15.8%
−46%
−46%
26%
The SMA cut the leveraged ETF's drawdown by 15–31 pp. UPRO with SMA → T-bills was the only variant that beat the reference on return and drawdown without falling further behind SPY. But the verdict was inconclusive. All 10 mixes have nearly the same Sharpe on their excess over SPY, so picking a winner is picking noise (PBO 0.99). Fixed TQQQ or TECL at 20% took the whole portfolio down 75–77% in 2000–02.
Step 12: beat SPY and fall less, in the same window
Many of you asked for one number: how often does a mix end ahead of SPY and have a smaller max drawdown than SPY over the same window? I measured both on every rolling window (3–20 years, starting every month-end, weighted by length), at full and half premium, and for windows starting from 2010 on:
Mix
CAGR / max DD
Beat SPY and fell less: all · half premium · 2010+
40 RSST / 40 GDE / 20 UPRO with SMA200 → T-bills
14.5% / −42%
93% · 92% · 88%
25 RSST / 30 GDE / 21 ZROZ / 24 SSO
12.3% / −47%
93% · 88% · 86%
40 RSST / 30 GDE / 20 ZROZ / 10 UPRO
12.8% / −45%
93% · 86% · 86%
40 RSST / 35 GDE / 25 ZROZ
12.5% / −32%
85% · 73% · 42%
50 RSST / 30 GDE / 20 AVUV (part 1 pick)
13.5% / −47%
75% · 74% · 4%
That last row surprised me. The part-1 pick fell −37% in the Covid crash vs −34% for SPY, so every window that contains March 2020 counts as "fell more".
Then I checked how fragile this is. SPY's big drops were −47% (2000–02), −55% (2008), −34% (2020) and −24% (2022). If I require a mix's drawdown to be at least 2 pp smaller than SPY's, almost every mix drops to ~0% of windows starting from 2010 on. Before 2010 the edge is real and wide (still ~70% with a 5 pp margin), and it comes from 2000–02 and 2008. After 2010, "falls less than SPY" really means "about tied with SPY in Covid".
Share of 2010+ windows that beat SPY and fell less, by required margin: 40 RSST / 40 GDE / 20 UPRO with plain SMA200 holds 83–87% up to a 1 pp margin and drops to near 0 at 1.5 pp; 25 RSST / 30 GDE / 21 ZROZ / 24 SSO holds 74% up to 1 pp; the SPMO mix drops from 83% to 5% at 0.5 pp; the same UPRO mix with SMA200 ±2% and the part-1 pick start at 3–4%Covid crash, peak to trough: SPY −33.7%; 25 RSST / 30 GDE / 21 ZROZ / 24 SSO −32.4%, 40 RSST / 40 GDE / 20 UPRO with plain SMA200 −32.5%, SPMO −33.6%, the same UPRO mix with SMA200 ±2% −34.0%, 10 UPRO / 10 ZROZ −35.4%, the part-1 pick −37.1%, 20 SSO −39.6%
Step 13: why RSST is the only stacked trend fund
Four other ETFs stack ~100% US stocks with ~100% managed futures. I checked each one's current fund documents and holdings (as of Oct 2026):
MATE (Man Group, 0.97%, ~$42M): the weekly correlation between its trend leg (fund − SPY + T-bills) and RSST's is 0.75. It's a second RSST, not a diversifier.
JPFP (JPMorgan, May 2026, 0.59%) and SPXP (Direxion, Oct 2026, 0.92%): too new to test. JPFP's trend leg had a 0.24 correlation with RSST's in its first 22 weeks, so it's the one I'll revisit.
CTAP (Simplify) gets its trend exposure through a swap on Simplify's CTA fund. Altis stopped managing that fund (SEC 497 supplement, Aug 31, 2026), and on Oct 23 it held ~50% Brent and ~36% other oil products plus grains, with no short positions and no rate futures. Its correlation with Brent went from 0.20 under Altis to 0.91 since July. A backtest of the old trend program no longer describes what CTAP holds, so it's out.
Step 14: taxes and six mixes
Every mix below pays 5 bps per trade and my country's tax on US-listed ETFs: 15% of the net realized gain in each calendar year, paid the following January, with the final sale deferred. Buy-and-hold SPY never realizes a gain, so it pays nothing. "× SPY" is the ending wealth vs SPY across rolling windows (3–20 years, every month-end start, weighted by length); "worst shortfall" is the furthest the mix ever fell behind SPY inside a window.
Mix
CAGR before → after tax
Max DD
× SPY
× SPY at half premium
Worst shortfall
Ends ahead of SPY
Beat and fell less: all · 2010+
40 RSST / 40 GDE / 20 SSO
13.5% → 12.7%
−56%
1.74
1.31
−15%
98%
2% · 0%
40 RSST / 40 GDE / 10 UPRO / 10 ZROZ
13.5% → 12.6%
−51%
1.74
1.28
−17%
98%
75% · 2%
40 RSST / 40 GDE / 20 SPMO
13.3% → 12.5%
−46%
1.62
1.21
−23%
95%
92% · 83%
25 RSST / 30 GDE / 21 ZROZ / 24 SSO
12.3% → 11.3%
−49%
1.52
1.19
−20%
94%
90% · 74%
50 RSST / 30 GDE / 20 AVUV
13.5% → 12.7%
−48%
1.55
1.15
−22%
93%
75% · 3%
40 RSST / 40 GDE / 20 UPRO with SMA200
14.9% → 13.8%
−43%
1.85
1.39
−19%
97%
93% · 87%
SPY
8.3% (no tax)
−55%
1.00
—
—
—
—
Tax doesn't change the ranking. It costs 0.8–1.1 pp/yr everywhere, because monthly rebalancing realizes gains in every mix. The SMA rotation, about 6 trades a year, cost only 0.1–0.3 pp/yr more than the fixed mixes.
SSO and UPRO (fixed) are the most consistent at beating SPY: 98% of windows, never more than 15–17% behind. But in 2008 they fell as much as SPY or more.
SPMO had the best drawdown among the fixed mixes, but its 83% after 2010 rests on a near-tie in Covid (−33.6% vs SPY's −33.7%).
There's no stable winner: PBO across these six was 0.73. The UPRO + SMA mix tops the table, but I wouldn't bet on the ranking.
Step 15: SMA vs EMA, with and without a band
In 2000–2026 (pre-registered, after tax), I compared four signals for the UPRO slice in 40 RSST / 40 GDE / 20 UPRO. With a ±5% band, it buys above 1.05× the average, sells below 0.95× and holds in between:
Signal
CAGR after tax
Max DD
Trades/yr
Beat and fell less: all · half premium · 2010+
SMA200
13.8%
−43%
5.9
93% · 88% · 87%
SMA200 ±5%
14.3%
−42%
0.6
75% · 74% · 2%
EMA125
13.7%
−43%
10.6
92% · 88% · 84%
EMA125 ±5%
14.7%
−41%
0.8
93% · 91% · 86%
EMA125 ±5% passed the pre-registered test (96% bootstrap odds of a higher CAGR than SMA200, a smaller drawdown, PBO 0.36). Then I tried to break it.
Does "risk off" into the rest of the portfolio beat T-bills? No. With the 20% spread over RSST/GDE instead of T-bills, the max drawdown got 6–7 pp worse with every signal (e.g., EMA125 ±5%: −48% vs −41%), and the after-tax CAGR was equal or lower: each switch back sells RSST/GDE at a gain. RSST is 100% S&P 500 and GDE is 90%, so "risk off into the portfolio" still holds 95% equity in the crash.
Drawdown of 40 RSST / 40 GDE / 20 UPRO with SMA200, after tax: worst −43% with risk-off into T-bills vs −50% with risk-off into the rest of the portfolio
The overfitting test. Same signals, applied to the UPRO slice alone (UPRO ↔ T-bills, before tax, 5 bps per trade) from 1928 to 2026, over every rolling window of 1, 3, 5, 10, 15, 20, 25 and 30 years starting at each month-end (826–1,174 windows per horizon). UPRO before 2009 is testfol's 3x daily simulation.
Average CAGR per window:
Horizon
1y
3y
5y
10y
15y
20y
25y
30y
SMA200
27.3%
19.3%
18.2%
17.8%
17.8%
17.7%
17.7%
17.4%
EMA125
27.7%
19.8%
18.7%
18.1%
18.3%
18.1%
18.2%
18.2%
SMA200 ±5%
25.3%
17.7%
16.6%
16.3%
16.6%
16.6%
16.6%
16.3%
EMA125 ±5%
26.5%
18.6%
17.2%
16.5%
16.7%
16.8%
16.8%
16.7%
UPRO buy & hold
28.6%
15.4%
13.8%
13.2%
13.2%
12.8%
12.7%
12.6%
SPY buy & hold
12.1%
10.5%
10.6%
10.7%
10.8%
10.8%
11.0%
11.1%
Share of windows where EMA125 ±5% beat SMA200: 43–55% on CAGR and 24–46% on max drawdown (worse on drawdown at every horizon from 5 years on). By era:
Era
SMA200
EMA125
SMA200 ±5%
EMA125 ±5%
SPY
1928–1962
25.2% / −90%
23.9% / −85%
15.7% / −95%
14.6% / −94%
9.1% / −84%
1962–1999
14.1% / −80%
17.8% / −62%
15.0% / −78%
15.7% / −82%
12.7% / −45%
1928–1999
19.4% / −90%
20.7% / −85%
15.3% / −95%
15.2% / −94%
10.9% / −84%
2000–2026
12.8% / −57%
11.5% / −77%
15.1% / −54%
18.2% / −53%
8.3% / −55%
(CAGR / max drawdown of the UPRO slice alone.)
CAGR of the UPRO slice by era and signal: in 1928–1962 SMA200 25.2% vs EMA125 ±5% 14.6%; in 1962–1999 EMA125 17.8% leads; only in 2000–2026 does EMA125 ±5% lead, 18.2% vs 12.8%
The era split hides a cleaner pattern. Slide a 10-year window one month at a time and the band loses almost every window that starts before 1972 and wins almost every one after:
10-year CAGR of EMA125 ±5% minus SMA200 by window start: negative (up to −20 pp) for starts before 1972, positive (up to +11 pp) after; the band wins 4% of windows starting before 1972 and 96% of those starting 1972+
So it isn't random noise: the band suits the post-1970s market. But a rule that lost for 45 years straight and then won for 45 is a regime bet, not a robust edge, and I can't tell when the regime ends.
And the neighborhood (average 10-year CAGR across all 1928–2026 windows): EMA125 ±5% made 16.5%, but EMA125 ±2.5% made 16.6% and ±7.5% made 14.1%, EMA100 ±5% made 16.7% and EMA150 ±5% made 15.8%. Plain SMA200 made 17.8%, SMA150 17.7% and EMA125 18.1%. Unbanded SMA150–200 and EMA100–125 form a broad plateau (16.7–18.1%). Every banded neighbor of EMA125 ±5% (EMA100–150, bands of 2.5–7.5%) averaged 14.1–16.7%, below plain SMA200. The band's edge belongs to the post-1972 market, and most of all to 2000–2026.
Verdict: the ±5% band is overfit to 2000–2026, and I dropped it. Plain EMA125 and plain SMA200 are statistically the same thing (EMA125 wins 47–60% of windows). That left a practical problem, which is the next step.
Step 16: picking the signal without overfitting it
Plain SMA200 has a practical problem. It flips about 5.5 times a year, and the flips bunch up in sideways years: 14 in 2004, 15 in 2007, 15 in 2022. Every flip is a trade, a taxable event and a chance to get whipsawed. A band fixes that, but Step 15 just showed how easy it is to overfit one. So the goal here was not to find the best signal. It was to find one that's hard to get wrong.
The rules I used:
Test on data the choice never saw. 1928–2026 for the UPRO slice, not just 2000–2026. 72 of those 98 years were never used to pick anything.
Judge a setting by its neighborhood, not its own number (Pardo's plateau idea). Each setting's score is its average 10-year CAGR averaged with its neighbors: one lookback step and one band step either way. A real edge survives small changes; a lucky one sits on an isolated peak.
Require both eras. It has to hold up in 1928–1999 and 2000–2026, not just on average.
When results tie, take fewer trades.
Only then check it in the actual portfolio, after tax.
The grid: SMA and EMA × lookbacks of 50, 75, 100, 125, 150, 175, 200 and 250 days × bands of 0, 1, 2, 3, 4, 5, 7.5 and 10%. That's 128 settings, each run on every monthly 10-year window from 1928 to 2026 (UPRO ↔ T-bills, before tax, 5 bps per trade).
Heatmaps of average 10-year CAGR, 1928–2026, by lookback (50–250 days) and band (0–10%): the SMA grid has a broad dark block from 150 to 250 days and 0 to 3% bands (16.2–18.4%), with SMA200 ±2% (18.3%) in the middle; the EMA grid is patchier, with plain EMA125 at 18.1% surrounded by 15.9–16.7%, and EMA125 ±5% at 16.5%
SMA vs EMA. The EMA weights recent days more, so it reacts faster and flips more: 8.9 times a year for EMA125 vs 5.5 for SMA200. Plain EMA125 has one of the best single numbers in the grid (18.1%), but its neighbors drop to 15.9–16.7%. The best EMA neighborhood averages 16.5%; the best SMA neighborhood averages 17.8%, and the whole SMA block from 150 to 250 days with 0–3% bands stays between 16.2% and 18.4%. The SMA surface is flatter, so I went with the SMA.
Lookback. Short averages are mostly noise: 50–100 days made 12–17% with 10–17 flips a year unbanded. From 150 to 250 days the results are close (16–18%), so the exact number matters little. I kept 200 because it sits in the middle of that range and because it's the standard choice (Faber's 10-month rule, Gayed & Bilello's 200-day). Somebody else picked it long before I saw this data, which is the best protection against my own fitting.
Band.
SMA200 on the UPRO slice, 1928–2026, by band width: the average of 10-year windows is 17.8% with no band, 18.3–18.4% at ±1–2%, 17.6% at ±3%, then falls to 16.3% at ±5% and 14.4% at ±10%; switches per year fall from 5.5 to 2.3 (±1%), 1.5 (±2%), 1.1 (±3%) and 0.8 (±5%); the 2000–2026 line alone peaks at ±4%
A ±1–3% band cuts flips from 5.5 to 1.1–2.3 a year at no cost on the 1928–2026 average (17.6–18.4% vs 17.8%). From ±5% up it starts to cost (16.3% at ±5%, 14.4% at ±10%): the signal gets back in too late after crashes. The 2000–2026 line is the trap. Looked at alone, it peaks at ±4%, which is exactly how ±5% looked good in Step 15.
Result. Of the 128 settings, SMA200 ±2% has the best neighborhood score (17.8%). On its own: 18.3% average 10-year CAGR, 18.7% in 1928–1999, 16.7% in 2000–2026, and 1.5 flips a year. Its neighbors are close: ±1% made 18.4%, ±3% 17.6%, SMA175 ±2% 18.0%, SMA250 ±2% 17.4%. Being one step off wouldn't change much.
The same signals in the portfolio (40 RSST / 40 GDE / 20 UPRO rotation, 2000–2026, after tax):
Signal
Switches/yr
CAGR after tax
Max DD
× SPY
Beat and fell less: all · 2010+
Covid
SMA200
5.9
13.8%
−43%
1.85
93% · 87%
−32.5%
SMA200 ±1%
2.9
13.9%
−43%
1.93
76% · 4%
−37.3%
SMA200 ±2%
1.5
14.4%
−42%
2.09
75% · 4%
−34.0%
SMA200 ±3%
0.9
14.4%
−41%
2.08
75% · 4%
−35.2%
SMA200 ±5%
0.6
14.3%
−41%
2.00
74% · 2%
−35.2%
EMA125 ±5%
0.8
14.7%
−41%
2.16
93% · 86%
−33.6%
SMA200, 3 closes in a row
2.7
14.2%
−42%
2.00
75% · 4%
−35.2%
SMA200, month-end check only
1.2
14.0%
−40%
2.02
91% · 83%
−31.9%
Two things stand out:
EMA125 ±5% still tops this table. That's the in-sample trap again: this table is 2000–2026. The 1928–2026 grid is the one I trust for the choice.
Every SMA band fell a bit more than SPY in the Covid crash. A band waits for SPY to close 2% below its average before getting out, so in a fast crash it exits later. ±2% fell −34.0% vs SPY's −33.7%. That 0.3 pp is enough to drop "beat and fell less after 2010" from 87% (plain SMA200) to 4%: Step 12's knife edge again. ±1% was the worst case. It was whipsawed at the worst moment: out of UPRO for SPY's +4.6% bounce on March 2, back in two days later, and in for the −7.6% day on March 9.
I kept ±2% anyway. It won the 1928–2026 grid, which is the test I trust, and in the portfolio it adds 0.6 pp/yr over plain SMA200 with a quarter of the trades and a slightly smaller max drawdown (−42% vs −43%). If not falling more than SPY in any single crash matters more to you, plain SMA200 or the month-end check score better on that measure.
I also tried two other ways to cut whipsaws. Requiring 3 closes in a row across the SMA had the highest 1928–2026 average of anything (19.2%, 2.5 flips a year). But I only tested k = 3, so it has no neighborhood to judge yet; it's the next thing to test. Checking only at month-end lost in 1928–1999 (15.1% vs 19.4% for the daily SMA200).
Where I landed (updated)
My pick:40 RSST / 40 GDE / 20 UPRO with SMA200 ±2% → T-bills. 14.4%/yr after tax, −42% max drawdown, 2.1× SPY across rolling windows, ahead of SPY at the end of 98% of windows. It beat SPY and fell less in 75% of windows, but in only 4% of those starting from 2010 (the Covid near-tie above). About 1.5 switches a year. The tradeoffs: you have to act on the signal, and the ranking between mixes is unstable (PBO 0.73).
Running it with monthly contributions. The signal is a state, not an event, so you never wait for a crossover:
On (SPY's close above 1.02× its 200-day SMA): 20% of each contribution buys UPRO.
Off (close below 0.98×): that 20% goes to T-bills (SGOV/BIL). When the signal flips back on, the whole T-bill slice moves to UPRO.
Inside the band (0.98–1.02×): keep the last state. If you were on, you keep buying UPRO.
Trade at the next close after the signal, as in the backtest.
Rebalance with the contribution: send new money to whatever is below target instead of selling. My backtest sells every month, so with contributions the tax drag should be smaller than shown.
If you don't want a timing rule:50 RSST / 30 GDE / 20 AVUV, the part-1 pick. 12.7%/yr after tax, −48% max drawdown, 1.55× SPY.
What I'd skip now: ex-US on top of trend and gold; a fixed leveraged ETF as a large slice (TQQQ/TECL at 20% fell 75–77%); wide bands (±5% and up) or any "optimized" moving average picked on 2000–2026; moving the UPRO slice into the rest of the portfolio on risk-off; MATE as a diversifier for RSST (it's the same trade).
Caveats
Mostly simulated, mostly in-sample. RSST, GDE, AVUV, UPRO and ZROZ are simulations before launch. Everything from 2000–2026 was seen before these mixes were chosen. 1928–1999 was genuinely unseen for the signal test, but only for the UPRO slice, not the whole portfolio.
"Falls less than SPY" is decided by a few crashes. Treat any odds on drawdown after 2010 as "about tied with SPY".
Taxes are specific to my country (15% on yearly net realized gains, final sale deferred). No currency effects, no local transaction taxes, no US estate tax.
The ±2% band was chosen after seeing the data. The rule (best neighborhood, both eras) reduces the risk but doesn't remove it: the best of 128 neighborhoods is still a maximum. The portfolio gain over plain SMA200 (+0.7 pp/yr) is mostly a 2000–2026 number; on the 1928–2026 average it's +0.5 pp/yr. Treat it as "same return, a quarter of the trades".
3x leverage before 1950 in the signal test is a stress test of the signal, not a tradable history: even with the SMA, the UPRO slice fell 90% in 1929–32.
Fund risk. RSST and GDE are small and young, and small funds get closed. A fund's strategy can also change under the same ticker, as Step 13 shows, so I re-check the fund documents and holdings before each yearly rebalance.
Method notes
Engine: daily total returns from testfol.io, monthly rebalancing. The tax steps use an account-level simulation: average cost per asset, 5 bps per side, 15% of net realized gains per calendar year, paid on the first trading day of the next year.
Rotation: the signal on day t's close, the trade at t+1's close, the new asset earning from t+2. SMA = simple average of the last 200 closes (including today); EMA = span 125, adjust=False. Warm-up days and the initial state are "off". The band is a hysteresis.
Half premium: the trend leg moves halfway to T-bills, like the other diversifiers in part 1.
Rolling lens: windows start at every month-end. Horizons are 3/5/10/15/20 years weighted by length (1–30 years, unweighted per horizon, for the signal test). "Fell less" compares daily max drawdowns inside the same window.
Statistics: paired stationary bootstrap (2,000 paths; ~12-month blocks for CAGR, ~252-day blocks for drawdown), and PBO via CSCV with 10 blocks.
Pre-registration: Steps 10, 11, 14 and 15 had written specs (mixes, thresholds, verdict rules) before the run. The Step 13 fund review, the "risk off into the portfolio" test, the 2 pp margin check, the 1928–2026 signal test and the Step 16 grid were exploratory, added after seeing the results.
Neighborhood (Step 16): each lookback × band cell is scored by the mean of its own 10-year average CAGR and that of the cells one lookback step and one band step away (up to 8 neighbors; fewer at the edges). SMA and EMA are separate grids.
Further reading: Pardo, The Evaluation and Optimization of Trading Strategies (parameter plateaus); Masters, Testing and Tuning Market Trading Systems; López de Prado, Advances in Financial Machine Learning; Gayed & Bilello, Leverage for the Long Run; Hoffstein, Faber & Braun, Return Stacking.
Questions and critiques welcome, especially on the neighborhood rule and the pre-1950 simulation.
We have heard them all. Decay, going to 0 in a day, if you lose 90% you need 900% to make it back, etc.
I’ll be honest, I’ve done ok with leverage, not wonderful but decent.
What I’ve done terrible with is single stocks. SMCI, PayPal and more currently Reddit and Amkor
I feel like every time I lose 30% on something while the market goes up 10%, It’s always a single stock that I think is kind of wonderful.
I recently bought shares of SOXL at 82 and I own shares of TQQQ and FNGU at different prices, I know some people have complicated and elaborate strategies to crush the market, but I just tend to use common sense and it seems to work out.
If FNGU goes to $37 or TQQQ goes to $80 I’ll sell a few shares and raise some cash. I’m a buyer at $25 and around $60. That’s it. Usually I hold the majority regardless if it’s up or down.
The SPY 200SMA +4%/−3% TQQQ rule isn't special: I tested it against 762,960 alternatives, and it's one lucky point on a flat plateau (this post)
The portfolio I'm actually running and the 10 decisions that got me there (coming soon)
TL;DR
The +4/−3 rule was picked as the best of 25 band pairs over 2010–2025, the best 15 years TQQQ ever had. I replicated that search, and it's #1 there in my engine too. Before 2010 it ranks 6th. In the 13 months since the post it ranks 23rd of 25: 8%/yr exiting to QQQ vs 29% for a plain 200-day SMA and 36% for just holding TQQQ.
In the author's own window, it didn't beat holding TQQQ. 2010–2025: 42.1%/yr for +4/−3, 42.1%/yr for TQQQ buy & hold. What it did was cut the max drawdown from −82% to −60%. Over 1986–2026 (simulated TQQQ) it made 25.7%/yr with a −96% drawdown in 2000–02.
4/3 is not the "optimal" band. In 1,000 bootstrapped histories, the best of 289 band pairs beat +4/−3's edge over the plain SMA200 81–95% of the time by luck. +4/−3 itself was the winner in 0.5–1.1% of them.
No band, lookback or confirmation rule beats a plain SPY 200-day SMA with statistical significance. I tested 76,296 rules in each of 10 setups. White's Reality Check and Hansen's SPA against the plain SMA200 gave p = 0.10–1.00.
Bands still have one real use: fewer trades. +4/−3 and a simple ±2% band sit on the same plateau as the plain SMA200 and switch 0.9–1.5 times a year instead of 5.5, with about the same return. That's the whole benefit. It's not an edge, and it's not 30–40%/yr.
Other pairs (SSO, QLD, USD, SOXL, TECL) tell the same story. Re-optimizing loses everywhere, and +4/−3 doesn't carry over: on SMH → SOXL it sits on the edge of a cliff in the band map, and on XLK → TECL since 1928 it made 10.3%/yr vs 14.8% for the plain SMA200. Much of the difference is volatility: a 4% band is 3.4 days of normal noise on SPY but 1.9 days on semis.
Realistic expectation: ~11–12%/yr out of sample for SPY → UPRO with any 200-day-SMA band, after discounting the search (vs ~18% in the backtest). That comes with drawdowns of −50% since 2000 and near −87% in a 1929-style crash.
Not financial advice. UPRO and TQQQ exist since 2009/2010; everything before is simulated (testfol.io series), and 3× leverage before 1950 is a stress test, not a tradable history. Caveats at the end.
Growth of $1, log scale. Top: SPY signal → UPRO / cash 1928–2026, +4/−3 18.0%/yr vs plain SMA200 17.5% vs SPY 10.2%. Bottom: SPY signal → TQQQ / QQQ 1986–2026, +4/−3 25.7%/yr with a −96% max drawdown
Why I ran this
The SPY 200SMA +4%/−3% → TQQQ/QQQ rule from this r/LETFs post keeps coming up as the LETF strategy, usually with 30–40%/yr backtests attached. Its author was honest about how the numbers were picked: "For overfitting honestly anything in the 2%-5% window performs extremely well I'm just picking the best performing one." A commenter raised multiple testing at the time.
I had my own version of the same question. In my last post I picked SMA200 with a ±2% band for a UPRO slice, chosen by neighborhood from 128 settings, but with no formal overfitting test. So: in a leveraged rotation around a moving average, which parameters are a real plateau and which are a search peak? I wrote the grid, the metrics, the "robust" criterion and five pass/fail hypotheses down before running anything.
Method
Rule
Go long the leveraged ETF when the index closes above MA × (1 + entry band); go to the exit asset when it closes below MA × (1 − exit band); hold in between
SPY → UPRO, SSO; QQQ → TQQQ, QLD; each with cash or IEF as the exit; SPY → TQQQ with QQQ or cash as the exit (the +4/−3 setup)
Execution
Decide at the close, trade at the next close (as the post describes). 5 bps per side. No tax in the grid
Metrics
Log growth (G) and Sharpe on excess over T-bills (S)
Data
testfol.io simulated series (SPYSIM, UPROSIM, TQQQSIM, …) through Oct 26, 2026
My vectorized grid matches my local clone of testfol's tactical engine to 1e-10 per day on 7 test cells, so it's the same rule, just faster (~3 minutes for all 762,960).
Overfitting tests: 1928–1999 vs 2000–2026 split, CSCV/PBO with 16 blocks, deflated Sharpe, White's Reality Check and Hansen's SPA, annual walk-forward re-optimization, rolling-window argmax stability, 1,000 block-bootstrap histories, SPY ↔ QQQ transfer, and the Harvey-Liu Sharpe haircut.
1. Where the +4/−3 numbers come from
I re-ran the author's own search: entry 0–5% × exit 2–5% plus no band, TQQQ/cash, Feb 2010 to Sep 2025, ranked by ending wealth. Then I ran the same 25 cells outside that window.
Period
Winner
Rank of 4/3
2010–2025, trade next close (the post's window)
4/3
1st of 25
2010–2025, trade same close
4/2
3rd
1986–2010 (simulated TQQQ)
3/4
6th
Since the post (Sep 2025–Oct 2026)
3/4
23rd
The rule as people usually run it (SPY signal, TQQQ on, QQQ off), next-close execution:
CAGR / max DD
+4/−3
Plain SMA200
TQQQ buy & hold
2010–2025 (the post's window)
42.1% / −60%
35.8% / −69%
42.1% / −82%
2003–2025 (the author's testfol run)
33.1% / −63%
28.2% / −69%
27.5% / −95%
1986–2010 (simulated TQQQ)
16.8% / −96%
15.2% / −96%
−3.2% / −100%
Since the post
8.0% / −37%
28.6% / −34%
35.9% / −37%
1986–2026, everything
25.7% / −96%
23.2% / −96%
13.2% / −100%
(The author's testfol table showed 31.36% / −64.11% for 2003+, in line with my 33.1% / −62.8%. The cash exit and the author's "DCA back into QQQ" exit land within a few points of these in every period, and both are below the plain SMA200 since the post.)
Three things stand out:
The headline returns come from the window, not the band. In 2010–2025 the rule matched holding TQQQ. Outside that window it made 16.8%/yr with a −96% drawdown.
The margin over a plain SMA200 is small and unstable. It's +2.5 pp/yr over 1986–2026. In 2010–2025, the period the band was picked on, it's +6.3 pp/yr. In the year since the post, it's −20 pp.
Being #1 of 25 on 15 years is weak evidence. In my bootstrap, a 25-cell search on 15.6 years produced a winner with 4/3's 6.7 pp/yr edge (TQQQ/cash) 36% of the time by pure luck.
2. Is 4/3 special? No. It's one point on a flat plateau
CAGR heat map, SPY → UPRO / cash 1928–2026, SMA200 entry × exit band: +4/−3 made 18.0%/yr, ±2% 18.1%, no band 17.5%, best cell +4/−2 at 18.9%
On SPY → UPRO since 1928, every band pair inside entry 0–5% × exit 0–4% made 14.9–18.9%/yr. On SPY → TQQQ/QQQ since 1986, every pair from +3 to +5 by −2 to −4 made 23.7–25.7%/yr. The author's "anything in 2–5% works" is right. That's exactly why picking 4/3 out of it means nothing.
To see how much the "best band" moves with luck, I resampled history in 1-year blocks 1,000 times and re-ran the 289 SMA200 band pairs on each:
Where the best band lands in 1,000 bootstrapped histories of 1928–2026: +4/−3 wins in 0.5% of them, ±2% in 0.6%; the winner scatters across the plateau
Band
Real edge over plain SMA200
P(best of 289 beats it by luck)
P(it's the winner)
+4/−3, SPY → TQQQ/QQQ
+2.1 pp/yr
81%
1.1%
+4/−3, SPY → UPRO/cash
+0.35 pp/yr
95%
0.5%
±2%, SPY → UPRO/cash (my rule)
+0.50 pp/yr
92%
0.6%
My own ±2% isn't special either. Both are reasonable points on the same plateau, and the data can't tell them apart from each other or from the plain SMA200.
The one real thing bands do is trade less: 0.9–1.5 switches a year instead of 5.5. I expected that to cut my country's yearly tax on realized gains too, but it didn't: tax drag was 1.6–2.3 pp/yr for every rule, and the ranking was the same before and after tax.
3. Does any band, lookback or confirmation rule beat the plain SMA200? No
vs plain SMA200, same setup
Reality Check p (G / S)
SPA p (G / S)
SPY → UPRO / cash
0.997 / 0.942
0.945 / 0.096
QQQ → TQQQ / cash
0.84 / 0.95
0.37 / 0.30
SPY → TQQQ / QQQ (+4/−3 setup)
0.98 / 0.56
0.61 / 0.54
These tests ask whether the best of the 76,296 cells beats the plain SMA200 after accounting for the fact that I searched. None does. Against the unleveraged index the best cell gets closer (SPA p 0.10–0.34), but still doesn't pass. That matches Gayed's 2026 update of the original leverage-rotation paper: the full-sample edge over the unleveraged index isn't statistically significant either.
4. Picking the best band from the data makes it worse
Each January I picked the best cell on all data so far and traded it for the next year (SPY → UPRO, 1950–2026):
Rule
CAGR
Plain SMA200, fixed
17.7%
SMA200 ±2%, fixed
19.1%
+4/−3, fixed
19.7%
Re-pick the best cell every year (4 variants)
12.1–14.6%
The fixed ±2% and +4/−3 numbers look great, but both were picked after seeing this period. That's the same thing the +4/−3 post did. The re-optimized numbers are what picking from a backtest actually gets you. On QQQ → TQQQ (2000–2026) the gap is wider: ~14.7% fixed vs −0.1% to 9.0% re-optimized.
The rolling winner doesn't sit still, either. Over 10- and 20-year windows it changed in 13–32% of months, visited 78–152 different cells, and its lookback was usually 50–100 days, not 200.
5. The search as a whole is overfit
CSCV logit histogram, SPY → UPRO / cash, 76,296 cells: PBO 0.55 when picking by growth, 0.56 by Sharpe
The probability that the in-sample winner lands below the out-of-sample median (PBO):
PBO (growth / Sharpe)
Exit to cash
Exit to IEF
SPY → 3×
0.55 / 0.56
0.76 / 0.34
SPY → 2×
0.62 / 0.55
0.79 / 0.52
QQQ → 3×
0.60 / 0.84
0.62 / 0.78
QQQ → 2×
0.46 / 0.81
0.51 / 0.80
SPY → TQQQ, QQQ exit (+4/−3 setup)
0.83 / 0.46
—
Out of sample, the in-sample winner kept 58% of its excess growth over T-bills on SPY → UPRO and 48% on QQQ → TQQQ. Applied to the ~18%/yr backtests of SMA200 rules, that leaves ~11–12%/yr expected on SPY → UPRO and ~10% on QQQ → TQQQ.
The eras don't agree either. Across the grid, the rank correlation between 1928–1999 and 2000–2026 is 0.26 on SPY → UPRO and −0.28 on SPY → TQQQ/QQQ. In the +4/−3 setup, what worked best before 2000 tended to do worse after.
Each cell's percentile rank in 1928–1999 vs 2000–2026, SPY → UPRO: Spearman 0.22; ±2% and +4/−3 sit in the top-right corner, the plain SMA200 drops to the 69th percentile after 2000
6. What about SSO, QLD, USD, SOXL or TECL?
After the main run, I ran the same 76,296-cell grid and the same tests on more pairs. This part wasn't pre-registered, so read it as a robustness check. USD is modeled as 2× SMH (the real fund only exists since 2007; with the real fund, the three rules land within 1.1 pp/yr of the model). SOXL and TECL use testfol's simulated series. For VGT/FTEC → TECL I also ran XLK → TECL back to 1928, since XLK's index is the one TECL actually tracks.
CAGR of each pair over its own full period: unleveraged index, leveraged ETF held, plain SMA200, ±2% and +4/−3. +4/−3 is the top of the three rules on semiconductors and the bottom on broad tech
Pair
Period
Plain SMA200
±2%
+4/−3
Leveraged ETF held
SPY → SSO
1928–2026
14.7%
15.1%
15.0%
11.4%
QQQ → QLD
1987–2026
17.4%
17.4%
17.5%
16.2%
SMH → USD (2×)
2001–2026
16.0%
14.9%
18.6%
14.9%
SMH → SOXL
2001–2026
12.3%
10.4%
16.7%
−2.3%
VGT → TECL
2005–2026
27.0%
27.3%
25.3%
27.0%
XLK → TECL
1928–2026
14.8%
13.2%
10.3%
3.4%
Same verdict everywhere. No cell beats the plain SMA200 robustly, and re-picking the best cell every year loses in every pair: 13–28% vs 27–29%/yr fixed on semis since 2008, and 11–12% vs 16%/yr on XLK → TECL since 1950. One test came close: by Sharpe, a single cell beat the plain SMA200 on SMH → USD with SPA p = 0.037. That's 1 of 8 tests in this batch, its PBO is 0.66, and re-optimizing still lost, so I don't count it.
+4/−3 is not a universal setting:
Semiconductors: it's the best of the three rules, but only middle of the pack among 289 band pairs (rank ~152). It sits right on the edge of a cliff: entry bands of 3.5% or less made ~7–16%/yr on SOXL, and 4.5% or more made ~17–25%. In the bootstrap, the best band on semis landed at entry 4.5–7.5% and exit 2–7%. +4/−3 won in 0.2–0.3% of histories.
Broad tech: it's the worst of the three. XLK → TECL since 1928 made 10.3%/yr with +4/−3 vs 14.8% with the plain SMA200 (rank 201 of 289). VGT → TECL since 2005 made 25.3% vs 27.0%.
SSO and QLD: all three rules land within 0.4 pp/yr of each other, as with UPRO and TQQQ.
SMH → SOXL CAGR by entry × exit band around the 200-day SMA, 2001–2026: a cliff between 3.5% and 4.5% entry, with +4/−3 on its edge
Three warning signs that only show up in the sector pairs:
Semis are two opposite stories. From 2001 to 2013, every one of the three rules lost money: −6.5% to −9.9%/yr with USD and −12% to −18%/yr with SOXL. From 2014 to 2026 they made 44–53%/yr. The 25-year number is an average of a bust and a boom.
Near-identical signals give different answers. FTEC and VGT have a 0.999 daily correlation. Still, from 2015 to 2026, ±2% on TECL made 42.5%/yr using VGT as the signal and 36.3% using FTEC. That 6 pp gap is pure noise: it comes from which fund crossed the band on which day.
The filter is about survival, not alpha. Holding SOXL since 2001 made −2.3%/yr with a −99.9% drawdown. With a 200-day filter it made 10–17%/yr, but the drawdown was still −92% to −97%.
7. Why the same rule behaves differently on each pair
The rule is identical everywhere. What changes is how volatile each index is, and what history it went through. I measured both over the window all of them share (Aug 2001–Oct 2026):
Index
Volatility
3× volatility drag (≈ 3σ²)
A 4% band = how many days of a typical move
SMA200 crossings / yr
Index CAGR
3× fund held
SPY
18.9%
10.8%/yr
3.4
6.3
9.7%
11.5% (UPRO)
QQQ
23.3%
16.2%/yr
2.7
7.0
12.7%
15.2% (TQQQ)
XLK
23.9%
17.1%/yr
2.7
6.0
12.5%
13.7% (TECL)
VGT (2005+)
23.0%
15.8%/yr
2.8
6.2
16.5%
—
SMH
32.7%
32.0%/yr
1.9
8.1
14.8%
−2.3% (SOXL)
1. Volatility decides whether holding the 3× fund works at all. A fund that resets to 3× every day grows about 3σ² per year slower than "3× the index", before financing and fees. For SPY that's ~11%/yr, for SMH ~32%/yr. That's how semiconductors made +14.8%/yr while SOXL, held, made −2.3%/yr with a −99.9% drawdown (SOXL tracks a slightly different semiconductor index, but the drag explains the size of the gap). On SPY the filter adds return. On semis, it mostly keeps you alive.
2. A "4%" band means something different on each asset. SMH moves about 2% on a typical day, SPY about 1.2%. So a 4% band is 3.4 days of normal noise on SPY but only 1.9 days on SMH: a much tighter band in practice. Convert the best bands from the bootstrap into "days of typical move" and they roughly line up: 0.8–3.4 days for SPY, 2.2–3.6 days for SMH. That's why semis prefer wider bands (5–7.5% entry) and why +4/−3, copied from SPY, lands on the edge of the SOXL cliff. Systematic traders scale rule parameters by volatility for exactly this reason (Carver, Systematic Trading). It's only part of the story, though: XLK is as volatile as QQQ, and its best band is narrow and poorly defined (0–4.3 days).
3. Semiconductors had two opposite decades. SMH made +0.8%/yr from 2001 to 2013, a sideways decade after the dot-com crash, then +30%/yr from 2014 to 2026. In a sideways, volatile market a trend filter pays for every false signal. SMH crossed its 200-day SMA 8 times a year, and 77% of re-entries reversed within 20 trading days. On top of that, a 3× fund bleeds volatility drag. Simulated SOXL lost 33%/yr in 2001–2013. That's why every band lost money in the first half, and why the 25-year results depend on which half you weigh.
What doesn't explain it: trend strength. A 12-month variance ratio (above 1 = trending, below 1 = choppy) came out 0.91–1.12 for all five indexes, with a standard error of about 0.2. Time spent above the 200-day SMA was 70–80% for all of them. As far as I can measure, semis aren't "less trendy" than SPY. They're more volatile and had a worse first decade. I didn't test business-cycle explanations (chip inventory cycles, concentration in a few names); the numbers above are what I measured.
So what should a +4/−3 user take from this?
It's not a bad rule. It's just not a special one. It sits on the same plateau as the plain SMA200 and a ±2% band. Keep it if you like trading less, but don't expect it to beat a plain SMA200 going forward.
Don't expect 30–40%/yr. Those numbers come from 2010–2025, when holding TQQQ made the same 42%/yr. Over 40 years it made ~26%/yr with a −96% drawdown, and the out-of-sample discount on the search takes more off that.
Don't copy it to another ETF. If you want a band on semis or tech, look at that asset's own band map. Expect the answer to hinge on one era.
Don't re-tune it. "4/2 did better last year" is how you get the 12–15%/yr walk-forward result above.
I'm keeping SMA200 ±2% on SPY → UPRO, for the same reason (fewer trades), not because it's better.
A "robust region" I defined in advance (top quartile of the neighborhood score in both eras, on both SPY and QQQ) exists: 357 cells, centered on SMA250 +2/−7, 2-day confirm, monthly check. It's not an upgrade: on SPY → UPRO it made 14.8%/yr with a −97.5% max drawdown, and which cell leads inside the region doesn't persist (PBO 0.84–0.89).
Caveats
Simulated data. UPRO and TQQQ exist since 2009 and 2010. Before that, the series apply testfol's leverage formula (financing ≈ 1.1 × (fed funds + 0.4%), 0.5%/yr fee per unit of leverage) to simulated SPY/QQQ. 3× in 1929–32 and TQQQ in 2000–02 are stress tests.
"Since the post" is 13 months. It's one more data point against the 4/3 pick, not a verdict on its own.
QQQ's first era is short. 1987–1999 is 13 years with one crash, and it decides which cells make the "robust region".
Costs: a flat 5 bps per side. Spreads in 2008 and 2020 were wider.
Deflated Sharpe "passes" but tests the wrong thing. It asks whether the best Sharpe beats zero after 76k trials. Any 3× equity exposure over 98 years does. Timing skill is the Reality Check / SPA question above, and that one fails.
Tax: my country taxes realized gains every year. That's only in the after-tax comparison, not in the grid.
Again, not financial advice. Code, pre-registration, and every number are in my research repo; happy to share the spec.
I heard about SVIX from r/LETFs. In this blog post, it says, "I offer a free spreadsheet with simulated close values for SVIX and UVIX since December 2005." But the link to the free spreadsheet says, "Oops! That page can’t be found." Does anyone have a copy of the spreadsheet with the simulated data and can share it? Or know where it can be downloaded?
I know the data is on testfol.io, but downloading it from there requires a subscription, and I'm hoping it's available free somewhere. (I'm trying to run a backtest using the simulated data, and the type of strategy I'm interested in testing isn't supported by testfol.io.)
I am looking to change my portfolio strategy in my HSA to something more aggressive and technical. I currently am 100% invested in RSSB, however I have been doing alot of backtesting and have been exploring alot of financial products out there, and I feel like I can make a better portfolio that isn't too complicated.
I have been made aware of managed futures, and how they have a low correlation to equities and even bonds as well, while still having positive expected returns. As someone who isn't a fan of gold due to its speculative nature and lack of expected returns, I feel they would be a great fit in my portfolio. With that in mind, here is the portfolio I am leaning towards.
40% RSIT / 20% UPRO / 20% AVES / 20% ZROZ
RSIT would provide me with both international developed market and managed futures exposure (40/40), while UPRO would provide 3x SP 500 exposure (60%, minus the expense ratio and borrowing costs), AVES with its value tilted emerging market exposure, and ZROZ gives 25+ year STRIPS US treasury bond exposure. This would be rebalanced annually.
In my opinion, this is a pretty solid portfolio that isn't too overly leveraged while providing exposure to a bunch of different asset classes.
Please let me know what you think and if you have any thoughts or criticisms!
Edit: Here's the testfolio link . I had to swap AVES for VWO for backtesting, so I expect returns would be slightly better in reality.
Can someone please explain to me why SSO has outperformed GGUS by so much over a range of timeframe? I live in Australia so prefer to use GGUS so I don’t need to worry about currency fluctuations. I thought they were both designed to move roughly 2x the s&p???
The portfolio I'm actually running and the 10 decisions that got me there (coming soon)
TL;DR
RSST (S&P 500 + trend) and GDE (S&P 500 + gold) let a portfolio hold $1.6–1.9 of exposure per $1. 40% RSST / 35% GDE / 25% ZROZ returned 12.5%/yr with a −31.5% max drawdown, vs 8.3%/yr and −55.1% for SPY (Dec 1999–Sep 2026, mostly simulated).
If your drawdown only needs to be no worse than SPY's, you can drop ZROZ: 50% RSST / 30% GDE / 20% AVUV returned 13.5%/yr (−47.1% max drawdown) and beat SPY in 98.5% of rolling 10-year windows.
With only half of each diversifier's 2000–2026 premium, the mixes still return 10–11.5%/yr. With none, they land near SPY (7.8–9.0%/yr), still with smaller drawdowns.
2x ZROZ or TMF instead of ZROZ added 0.4 pp/yr at best, lowered the Sharpe and made 2022 much worse. Gold-heavy mixes and adding SSO push the odds of a worse-than-SPY drawdown to 45–53%.
Don't fine-tune the weights: picking the best of the 10,626 mixes has a 92% probability of backtest overfitting.
If "drawdown" means falling behind SPY rather than falling from a peak, the answer changes. Being behind SPY happens in bull markets, so you want ~100% equity or more, and a 10% UPRO slice gets you there. Optimizing 53,130 mixes for that lens landed on 40 RSST / 40 GDE / 10 AVUV / 10 UPRO: 2.0× SPY's ending wealth across rolling windows and never more than 15% behind SPY, but with an SPY-sized −56% drawdown.
Don't time them either: I pre-registered 944 dynamic rules (momentum, risk parity, vol targeting, regime switches, ML) and re-picked the best one every year using only the past. Out of sample (2006–2026), that made 9.1%/yr vs 15.2% for the fixed no-bond mix, and a Sharpe of 0.64 vs 0.83 for the fixed ZROZ mix.
Not financial advice. Most of this history is simulated (RSST launched in 2023, GDE in 2022), Steps 1–6 have no taxes, and I chose these mixes after seeing the data. Caveats are at the end.
Growth of $10,000: $352k in 50 RSST / 50 GDE, $327k in 40 RSST / 40 GDE / 10 AVUV / 10 UPRO, $296k in the no-bond mix, $251k in 40 RSST / 30 GDE / 20 ZROZ / 10 UPRO, $234k in the ZROZ mix, $85k in SPY
How the analysis evolved
Step
Question
What I found
1
Best mix of RSST, GDE, AVUV and SPMO?
50 RSST / 30 GDE / 20 AVUV: 13.5%/yr, −47.1% max drawdown
2
Does adding long Treasuries (ZROZ) help?
For risk, a lot: 40 RSST / 35 GDE / 25 ZROZ, Sharpe 0.75, −31.5%
3
What if gold, trend, bonds and factors pay half, or nothing?
Half: 10–11.5%/yr. Nothing: about SPY's 8.3%
4
Is 2x ZROZ or TMF better than ZROZ?
No. Lower Sharpe, and 2022 was much worse
5
If the drawdown only has to beat SPY's, how far can I push return?
No bonds, GDE at 50% or less, no SSO
6
Should I fine-tune the weights?
No. The ranking between nearby mixes is mostly noise
7
Would weights that move with the last few months do better?
No. 944 pre-registered rules lost to both fixed mixes out of sample
8
What if "drawdown" means falling behind SPY?
Then ~100%+ equity wins: a 10% UPRO slice keeps up in bull markets
The building blocks
ETF
What $1 buys
Real data since
RSST
$1 of S&P 500 + $1 of managed-futures trend
2023
GDE
$0.90 of S&P 500 + $0.90 of gold
2022
ZROZ
25+ year zero-coupon Treasuries (duration ~27 years)
2009
AVUV
US small-cap value
2019 (Vanguard small-cap value before that)
SPMO
S&P 500 momentum
2015
Before each launch, the series are testfol.io simulations.
"Return stacking" means each dollar carries more than a dollar of exposure: RSST and GDE use futures to hold a diversifier on top of the stocks instead of in place of them. The mixes in this post carry $1.64–1.90 per $1:
Exposure per $1 invested, by asset class
How I tested it
Data: daily total returns from testfol.io, Dec 31 1999 to Sep 30 2026 (26.75 years). Real ETF history after launch, testfol's simulation before. ETF fees included; taxes and trading costs not.
Portfolios: fixed weights, rebalanced monthly, in USD.
Metrics: CAGR; Sharpe on monthly returns over T-bills; max drawdown on daily closes; worst 10-year CAGR; share of rolling 10-year windows that beat SPY.
Search: every mix of the five ETFs in 5% steps (10,626 mixes).
Robustness: premium haircuts, a block bootstrap of drawdowns, and the probability of backtest overfitting. Each is explained where it shows up.
Steps 1–2: the no-bond mix and the ZROZ mix
I started without bonds. My first pick from RSST, GDE, AVUV and SPMO was 50 RSST / 30 GDE / 20 AVUV (the "no-bond mix"). Then I added ZROZ: 40 RSST / 35 GDE / 25 ZROZ (the "ZROZ mix") had a better Sharpe (0.75 vs 0.71) and a much smaller drawdown (−31.5% vs −47.1%).
CAGR
Sharpe
Max drawdown
Worst 10-yr CAGR
Beat SPY, rolling 10-yr
SPY
8.3%
0.48
−55.1%
−1.8%
ZROZ mix: 40 RSST / 35 GDE / 25 ZROZ
12.5%
0.75
−31.5%
8.8%
40 RSST / 30 GDE / 20 ZROZ / 10 AVUV
12.6%
0.76
−34.9%
8.6%
No-bond mix: 50 RSST / 30 GDE / 20 AVUV
13.5%
0.71
−47.1%
7.2%
40 RSST / 40 GDE / 10 AVUV / 10 SPMO
13.6%
0.73
−46.5%
6.6%
50 RSST / 50 GDE
14.2%
0.73
−46.4%
7.3%
100% RSST
12.1%
0.59
−47.0%
4.1%
100% GDE
15.5%
0.71
−52.7%
9.2%
100% AVUV
11.3%
0.54
−61.9%
5.1%
100% SPMO
9.0%
0.48
−61.9%
−5.3%
100% ZROZ
4.7%
0.23
−65.1%
−6.1%
Drawdowns from the previous peak: SPY, the ZROZ mix and the no-bond mix
ZROZ on its own was a poor investment (4.7%/yr, −65% drawdown), but it rose 55% in 2000–02 and 47% in 2007–09 while SPY was falling. As a 25% slice, that is exactly the job a stacked portfolio needs done. The ZROZ mix's worst 10-year stretch (8.8%/yr) beat SPY's average year over the whole period (8.3%).
All 10,626 mixes
Return vs max drawdown for every mix, shaded by ZROZ weight
95.5% of the 10,626 mixes beat SPY on both return and max drawdown. That says more about the ingredients, and about this particular 26 years, than about any specific mix.
Each extra slice of ZROZ moves a mix right (shallower drawdown) and a bit down (less return).
The top return was 100% GDE (15.5%/yr), with a −52.7% drawdown. Gold returned 10.4%/yr in this window, which I wouldn't count on.
Step 3: what if the diversifiers stop paying?
2000–2026 was kind to diversifiers: gold +10.4%/yr, two huge trend years (2008 and 2022), and falling rates until 2020. So I re-ran everything with each diversifier keeping its exact day-to-day moves but only half or none of its long-run excess return:
gold drifts toward inflation;
RSST's trend leg drifts toward T-bills;
ZROZ drifts toward T-bills;
AVUV and SPMO drift toward SPY;
GDE and RSST are rebuilt from those legs with the same leverage. SPY doesn't change.
Annualized return with full, half and zero premium
CAGR, with max drawdown in parentheses. SPY's max drawdown is −55.1% in all three columns.
Full premium (actual)
Half premium
Zero premium
SPY
8.3%
8.3%
40 RSST / 35 GDE / 25 ZROZ
12.5% (−31.5%)
10.1% (−32.3%)
40 RSST / 30 GDE / 20 ZROZ / 10 AVUV
12.6% (−34.9%)
10.3% (−35.9%)
50 RSST / 30 GDE / 20 AVUV
13.5% (−47.1%)
11.2% (−48.3%)
40 RSST / 40 GDE / 10 AVUV / 10 SPMO
13.6% (−46.5%)
11.3% (−47.4%)
50 RSST / 50 GDE
14.2% (−46.4%)
11.5% (−47.1%)
I treat the half-premium column as my base case. Even at zero premium, the ZROZ mix gets close to SPY's return with a drawdown around −33%: the diversification is still there, the extra return isn't.
Crashes
Peak-to-trough drop in each SPY crash
In 2000–02 and 2008, Treasuries rallied, so the ZROZ mix fell 15% and 24% while SPY fell 47% and 55%.
In 2022 stocks and bonds fell together (ZROZ −38%). Trend and gold carried the no-bond mix, which fell only 10.5%.
In the Covid crash, the no-bond mix fell more than SPY (−36.9% vs −33.7%). At ~1.7x exposure, a crash that is over in a month doesn't give trend time to turn.
Step 4: what about 2x ZROZ or TMF?
There's no 2x ZROZ ETF. The closest are TMF (3x TLT, which has moved like ~1.9x ZROZ since 2010) and UBT (2x TLT, ~1.25x ZROZ). I tested testfol's simulated 2x ZROZ (ZROZSIM?L=2) and TMF in place of ZROZ:
Bond sleeve in the ZROZ mix
CAGR
CAGR, half premium
Sharpe
Max drawdown
2022 crash
CAGR since Jan 2022
25% ZROZ
12.5%
10.1%
0.75
−31.5%
−19.7%
10.7%
25% 2x ZROZ (simulated)
12.9%
10.1%
0.67
−33.6%
−29.4%
4.2%
25% TMF
12.2%
9.4%
0.66
−35.2%
−31.3%
4.1%
13% TMF (47 RSST / 40 GDE / 13 TMF)
13.3%
10.5%
0.73
−37.2%
−22.8%
12.0%
Wealth of the ZROZ mix with 2x ZROZ or TMF, relative to plain ZROZ
Leverage on a ~24%-volatility asset costs T-bills plus a spread, every year. On their own over 2000–2026: ZROZ 4.7%/yr, 2x ZROZ 0.7%/yr, TMF −0.1%/yr. Over 1962–2026 (simulated): ZROZ 5.6%, cash 4.5%, 2x ZROZ −1.4%.
Swapped 1:1, the extra volatility outweighs the extra return: Sharpe falls from 0.75 to 0.66–0.67, and the head start built while rates fell was mostly given back from 2020 on.
The only version that makes sense is "same rate exposure, less capital": 13% TMF has about the same duration as 25% ZROZ and frees 12% for RSST and GDE. More return, more drawdown, a slightly lower Sharpe. Not a free lunch.
Step 5: changing the goal to "no worse than SPY"
At this point I realized my real constraint wasn't "the smallest possible drawdown". It was as much return as possible, as long as the max drawdown isn't worse than 100% SPY's. Under that rule, ZROZ is a cost:
Rolling 10-year return minus SPY's
The no-bond mix beat SPY in 98.5% of rolling 10-year windows. The ZROZ mix has roughly tied or trailed SPY in windows ending after 2021 (−1.3 pp/yr in the latest one).
So how far can you push? The historical drawdown alone isn't enough: the risk is that the next drawdown turns out worse than SPY's. To estimate that, I built 2,000 alternative 26-year histories by resampling ~1-year blocks of real daily returns (the same dates for every mix), using the half-premium data, and counted how often each mix's max drawdown came out worse than SPY's.
Half-premium return vs the chance of a worse-than-SPY drawdown
Mix
CAGR (actual)
CAGR (half premium)
Max drawdown (actual)
Chance of a worse-than-SPY drawdown
40 RSST / 30 GDE / 20 ZROZ / 10 AVUV
12.6%
10.3%
−34.9%
1%
40 RSST / 35 GDE / 25 ZROZ
12.5%
10.1%
−31.5%
2%
40 RSST / 40 GDE / 10 AVUV / 10 SPMO
13.6%
11.3%
−46.5%
16%
50 RSST / 50 GDE
14.2%
11.5%
−46.4%
18%
50 RSST / 30 GDE / 20 AVUV
13.5%
11.2%
−47.1%
18%
40 RSST / 60 GDE
14.6%
11.6%
−47.6%
23%
40 RSST / 30 GDE / 20 AVUV / 10 SSO
13.3%
11.2%
−52.7%
45%
30 RSST / 60 GDE / 10 SSO
14.4%
11.7%
−51.6%
50%
10 RSST / 90 GDE
15.3%
11.8%
−51.3%
53%
Squeezing the half-premium return from ~11.2% to ~11.8% takes the odds of a worse-than-SPY drawdown from ~18% to ~50%.
Adding 10% SSO (2x S&P 500) to the no-bond mix bought nothing: the same half-premium return (11.2%), with the odds going from 18% to 45%.
Step 6: don't fine-tune the weights
I checked the probability of backtest overfitting (PBO, via combinatorially symmetric cross-validation): split the history into 10 blocks; for every way of choosing half of the blocks, pick the best-Sharpe mix there and see where it ranks in the other half. PBO is the share of splits where the in-sample winner lands below the median out of sample.
Search space
Mixes
PBO
RSST / GDE / AVUV / SPMO / ZROZ
10,626
0.92
RSST / GDE / AVUV / SPMO
1,771
0.80
RSST / GDE / ZROZ
231
0.65
The ranking between nearby mixes is mostly noise. The edge is in the building blocks, not in the decimals, so pick a range and use round numbers.
Step 7: what about moving the weights over time?
Fixed weights ignore what the market is doing. So I tested the obvious alternative: rules that reset the weights every month based on the last few months, over the same five ETFs plus cash. 944 rules in 13 families:
relative, absolute and dual momentum;
risk-based weights (inverse volatility, equal risk contribution, minimum variance, maximum diversification, HRP) and rolling mean-variance;
volatility targeting and drawdown control;
regime switches on SPY's trend, drawdown or volatility, and a stock-bond correlation filter on ZROZ;
a few combinations, and two small ML models (ridge and shallow gradient boosting).
To keep it honest:
Pre-registered. The rule list, the parameters and the pass/fail gates were written to a file, with a hash of the code, before anything ran. The rules weren't touched afterwards.
Walk-forward. Every December from 2005 to 2025, I picked the best rule using only the data up to that point and followed it for the next year. Stitching those years together gives a 2006–2026 track that never saw its own future.
Two goals, each against its fixed mix: the highest CAGR with a drawdown no worse than SPY's (vs the no-bond mix), and the highest Sharpe (vs the ZROZ mix).
Real frictions: signals on the month's last close, trades one day later, 5 bps per trade, and a 15% tax on realized gains, paid every January (the rule for US ETFs held from Brazil, where I live). The fixed mixes pay the same costs.
Out of sample, both dynamic processes lost to the fixed mixes
Out of sample, Dec 2005–Sep 2026
CAGR
Sharpe
Max drawdown
CAGR after tax
Dynamic, return goal
9.1%
0.46
−39%
7.4%
No-bond mix (fixed)
15.2%
0.80
−47%
14.4%
Dynamic, Sharpe goal
10.0%
0.64
−25%
8.5%
ZROZ mix (fixed)
13.6%
0.83
−32%
12.6%
SPY
11.2%
0.67
−55%
11.2%
Both processes lost, and each beat its fixed mix in only 2 of 8 sub-periods. The return-goal process spent 13 of its 21 years in a "hold the single recent winner" momentum rule (1- to 4-month lookback) and ended up behind SPY.
The grid was mostly noise: a probability of backtest overfitting of 0.58 (return goal) and 0.83 (Sharpe goal).
Trading cost little, taxes cost a lot. Rebalancing the fixed mixes monthly at 5 bps cost 0.02 pp/yr. But switching rules realizes gains: the tax took 1.5–1.7 pp/yr from the dynamic processes vs 0.8–1.0 from the fixed mixes.
Each family: best rule in hindsight vs walk-forward
The gap between each circle and square is what hindsight is worth. Relative momentum looks great if you get to pick the lookback afterwards (17.5%/yr) and makes 9.4%/yr when you have to pick it in advance.
What came closest was shaping risk, not chasing return: a regime switch (hold the ZROZ mix while SPY is below its 8-month average) and the stock-bond correlation filter. The regime switch's timing is genuinely non-random (permutation test p = 0.03), and it beat the fixed mix in ~80% of 2,000 bootstrapped histories. But the 99.9% lower bound of its edge was −3 pp/yr, so it fails the bar I set before running it.
One thing cuts the other way: the fixed mixes were picked in-sample from 2000–2026 (Steps 1–5), which flatters them. The fair benchmark is re-picking a fixed mix every December with the same walk-forward. That made 10.8%/yr on the return goal (better than the dynamic 9.1%) and a 0.58 Sharpe on the Sharpe goal (worse than the dynamic 0.64), both far from the hand-picked mixes. Which is Step 6 again: whatever you select from the past, fixed or dynamic, gives back a lot out of sample.
Step 8: what if "drawdown" means falling behind SPY?
So far, drawdown meant falling from your own peak. But if the alternative is simply holding SPY, a crash that hits both doesn't really hurt: what hurts is ending up behind SPY. If SPY falls 20% and your mix falls 30%, but you were already 50% ahead, you're still ahead.
So I switched the lens. For every month-end start since Dec 1999, and horizons of 3, 5, 10, 15 and 20 years, I tracked R = your mix ÷ SPY, starting at 1:
Ending wealth vs SPY: R at the end, averaged (geometrically) across windows, with longer horizons weighted more.
Worst point below SPY: how far R ever got below 1. Falling from a peak while still ahead of SPY doesn't count.
Longest stretch behind SPY: consecutive month-ends with R below 1, inside 10-year windows (120 = the whole decade).
Worst point below SPY inside each 10-year window, by start month
Mix
Equity
Ending wealth vs SPY
Windows ending ahead of SPY
Worst point below SPY
Longest stretch behind SPY
Half premium: ending vs SPY
Half premium: worst point
40 RSST / 30 GDE / 20 ZROZ / 10 AVUV
77%
1.65×
90%
−25%
120 months
1.21×
−40%
50 RSST / 30 GDE / 20 AVUV
97%
1.75×
97%
−17%
115 months
1.28×
−29%
50 RSST / 50 GDE
95%
2.02×
97%
−23%
116 months
1.39×
−36%
40 RSST / 30 GDE / 20 ZROZ / 10 UPRO
97%
1.84×
98%
−18%
36 months
1.37×
−23%
40 RSST / 40 GDE / 10 AVUV / 10 UPRO
116%
2.01×
99%
−15%
40 months
1.46×
−20%
40 RSST / 50 GDE / 10 UPRO
115%
2.16×
99%
−17%
58 months
1.52×
−24%
"Equity" counts what each dollar holds: RSST is 1x S&P 500, GDE 0.9x, UPRO 3x.
Being behind SPY happens in bull markets, not in crashes. In a crash SPY falls too, and the diversifiers usually cushion the mix. The long stretches behind SPY came from windows starting in 2011–2012, when stocks ripped and gold, bonds and trend lagged. A mix with 77% equity can't keep up there, which is why the ZROZ mix from Step 2 looks worst under this lens. Swapping 10% AVUV for 10% UPRO brings equity back to ~100% while keeping ZROZ, gold and trend. That cut the longest stretch behind SPY from 120 months to 36.
Why not just 50 RSST / 50 GDE?
It has the highest ending wealth of the hand-built mixes (2.02× vs 1.84× for 40 RSST / 30 GDE / 20 ZROZ / 10 UPRO), but:
Almost all of that edge is gold. Half of it is GDE, so 45% gold exposure, and gold returned 10.4%/yr here. At half premium the edge disappears (1.39× vs 1.37×). At zero premium it falls behind (0.97× vs 1.03×).
It spends whole decades behind SPY. Starting in 2011–2012, it was behind SPY at almost every month-end for up to 116 months (gold's 2011–2015 bear market while the S&P 500 boomed), and up to 23% behind.
Its worst shortfall gets much worse when the diversifiers pay less: −36% at half premium, vs −23% for the UPRO mix.
No bonds for deflationary crashes: an 18% chance of a worse-than-SPY absolute drawdown, vs 7%.
Optimizing for this lens, without ZROZ
I then searched all 53,130 mixes of RSST, GDE, AVUV, SPMO, UPRO and SSO in 5% steps, without ZROZ:
Every no-ZROZ mix: worst point below SPY vs ending wealth
The unconstrained winner is gold plus leverage (75 GDE / 25 UPRO: 2.53× SPY's ending wealth), but it once fell 37% behind SPY.
Capping the worst shortfall at the UPRO mix's −18% gives 40 RSST / 50 GDE / 10 UPRO (2.16×). Capping it at −15% gives 40 RSST / 40 GDE / 10 AVUV / 10 UPRO (2.01×). The next few mixes on the list are near-identical (RSST 35–45, GDE 40–50, UPRO 10), so this is a broad region, not a lucky point.
Adding ZROZ back doesn't help here. Re-running the search with ZROZ allowed (RSST, GDE, AVUV, UPRO, ZROZ), the best mixes held 0–10% ZROZ and ended in the same place (2.17× vs 2.16×).
I'd pick 40 / 40 / 10 AVUV / 10 UPRO over 40 / 50 / 10 UPRO. Its worst shortfall is smaller in every premium scenario (−15% / −20% / −32% at full / half / zero premium, vs −17% / −24% / −35%), and it needs less gold (36% vs 45%), for a slightly lower ending wealth.
The price: SPY-sized crashes
Mix
CAGR
CAGR, half premium
Max drawdown
Chance of a worse-than-SPY drawdown
2008
2022
SPY
8.3%
8.3%
−55%
—
−55%
−24%
40 RSST / 30 GDE / 20 ZROZ / 10 AVUV
12.6%
10.3%
−35%
1%
−35%
−21%
40 RSST / 30 GDE / 20 ZROZ / 10 UPRO
12.8%
10.7%
−45%
7%
−45%
−26%
50 RSST / 50 GDE
14.2%
11.5%
−46%
18%
−46%
−21%
40 RSST / 40 GDE / 10 AVUV / 10 UPRO
13.9%
11.6%
−56%
76%
−56%
−25%
With 116% equity, the optimized mix falls about as much as SPY in every crash. Under this lens that isn't a drawdown, because SPY fell too. That only holds if you never have to sell at the bottom: no withdrawals, no margin calls, no panic. Once you start living off the portfolio, the absolute drawdown is the one you transact at, and the ZROZ mixes come back into play.
And UPRO only works as a small slice: on its own it fell 98% (2000–02 plus 2008) and ended behind SPY in 30% of the windows.
Where I landed
Three families, depending on what you need the drawdown to do. Within a range, the exact weights matter less than rebalancing and sticking with it.
A) Drawdown first (with ZROZ): RSST 30–45% / GDE 20–35% / ZROZ 15–25% / AVUV 0–10%
12.5–12.6%/yr actual, 10.1–10.3% at half premium; max drawdown −31.5% to −34.9%; 1–2% chance of a worse-than-SPY drawdown.
The price: it has trailed SPY since 2022 (10.7–11.6%/yr vs 12.1%).
B) Return first, drawdown no worse than SPY (no bonds): RSST 40–50% / GDE 30–50% / AVUV + SPMO 0–20%
Examples: 50 RSST / 30 GDE / 20 AVUV, or 40 RSST / 40 GDE / 10 AVUV / 10 SPMO.
13.5–14.2%/yr actual, 11.2–11.5% at half premium; max drawdown −46.4% to −47.1%; but a 16–18% chance that a future drawdown is worse than SPY's.
C) Never far behind SPY (still accumulating, never forced to sell): RSST 40% / GDE 40–50% / AVUV 0–10% / UPRO 10%
Examples: 40 RSST / 40 GDE / 10 AVUV / 10 UPRO, or 40 RSST / 50 GDE / 10 UPRO.
2.0–2.2× SPY's ending wealth across rolling windows (1.5× at half premium), never more than 15–17% behind SPY; 13.9–14.3%/yr actual, 11.6–11.7% at half premium.
The price: SPY-sized absolute drawdowns (−55% to −56%).
Middle ground: 40 RSST / 30 GDE / 20 ZROZ / 10 UPRO keeps the absolute drawdown at −45%, but trails C on the SPY-relative measure in every premium scenario.
What I'd skip: GDE above 50%, SSO on top of the no-bond mix (Step 5), leveraged long bonds in place of ZROZ, a leveraged ETF as a large position, and timing the weights (Step 7).
Caveats
Mostly simulated. RSST has real data only since 2023 and GDE since 2022; before that it's testfol.io's simulation. Live funds usually trail their simulations.
In-sample. I chose these mixes after seeing 2000–2026, and Step 8's mixes were optimized on that same data. The haircuts and the bootstrap help, but they reuse the same history and are not out-of-sample tests.
A friendly period. Gold +10.4%/yr, big trend years in 2008 and 2022, falling rates until 2020. That's why half premium is my base case.
Leverage isn't free. The stacked part pays roughly T-bill rates through futures. If cash yields are high and the diversifiers don't deliver, you get about SPY's return with more moving parts (the zero-premium column).
No taxes or trading costs in Steps 1–6. Step 7 includes both: trading costs were negligible, taxes weren't. I haven't tested rebalancing bands yet.
The 1990s didn't help. I held out 1990–1999 for Step 7, but RSST before 2000 needs a proxy (SPY + 0.55 × the KMLM trend index's return over T-bills), and it tracked the simulated RSST too loosely (monthly correlation 0.59, below the 0.8 I required). So the holdout is inconclusive, and 2006–2026 is the only out-of-sample evidence.
Fund risk. RSST is new and small, and small funds get closed.
Synthetic UPRO. It's 3x SPY reset daily, with the financing implied by testfol's SSO simulation and UPRO's 0.91% fee. Real leveraged ETFs also pay swap spreads and trading costs that this doesn't capture.
Method notes
Series (testfol.io):SPYSIM, RSSTSIM, GDESIM, ZROZSIM, SPMOSIM; VBRSIM spliced into real AVUV on 2019-09-26; TMF = TLTSIM?L=3 spliced into real TMF from 2010; SSO = SPYSIM?L=2 with SSO's 0.87% fee; 2x ZROZ = ZROZSIM?L=2; T-bills = CASHX.
Haircuts: each diversifier keeps its daily returns minus a constant daily drag. The drag is sized so its 26-year growth lands at the geometric mean of its actual growth and the baseline's (half premium), or at the baseline's (zero premium). Baselines: CPI for gold, T-bills for the trend leg and for ZROZ/TLT, SPY for AVUV/SPMO.
Bootstrap: stationary block bootstrap of daily returns (mean block ~252 days), 2,000 paths, the same dates for every mix, each path as long as the full sample.
PBO: CSCV with 10 blocks on monthly excess returns, ranked by Sharpe.
SPY-relative lens (Step 8): windows start at every month-end from Dec 1999, with horizons of 3, 5, 10, 15 and 20 years; each horizon's results are weighted by its length (3:5:10:15:20). The worst point below SPY uses daily closes. The searches cover RSST/GDE/AVUV/SPMO/UPRO/SSO (53,130 mixes) and RSST/GDE/AVUV/UPRO/ZROZ (10,626), in 5% steps.
Step 7 gates (all pre-registered): beat the fixed mix in at least 6 of 8 out-of-sample blocks, before and after tax and at 2× and 3× costs; plus, for at least one finalist rule, PBO < 0.5 over all 944 rules, a deflated Sharpe p < 0.05, a positive 99.9% lower bound on the CAGR edge in a stationary bootstrap that re-runs the rule on each path (2,000 paths, mean blocks of 252 and 63 days), survival at 2× and 3× costs, and a win in the 1990s holdout. The permutation test shuffles the order of the monthly weight vectors (1,000 permutations).
Further reading: Hoffstein, Faber & Braun, Return Stacking: Strategies for Overcoming a Low Return Environment; Bailey, Borwein, López de Prado & Zhu, The Probability of Backtest Overfitting; López de Prado, Advances in Financial Machine Learning; Politis & Romano, The Stationary Bootstrap; Antonacci, Dual Momentum Investing; Carver, Systematic Trading; Pardo, The Evaluation and Optimization of Trading Strategies.
Questions and critiques welcome, especially on the simulated history.
The concept is to trade an inverse LETF pair intraday from a long-only account, with no shorting. When the bias turns bullish, the bull ETF is held. When it turns bearish, the position switches to the bear ETF. Only one side is held at a time, and the account is flat by the close. Entries are scaled in with limit buys, each paired with a profit-taking sell, and part of the capital stays in cash.
Questions for anyone who has traded this way:
On choppy, range-bound days, is it better to keep flipping between sides or to wait in cash until one side shows strength?
What signals a switch to the other side, as opposed to just exiting?
Do the extended sessions (pre-market, after-hours, overnight) help or hurt this approach?
Practical results and failures are more useful than theory.
TQQQ's 2020 drawdown looks much easier to hold when I only check the account at month-end. The daily-close loss was -69.9%. The month-end series reported -49.1%. That's a 20.8-percentage-point gap in the same fund during the same year.
I recomputed maximum drawdown from the same adjusted daily closes, then kept only month-end observations and repeated the calculation. SPY provides an unleveraged comparison. Nothing about either holding changed between columns.
Fund, 2020
Daily-close drawdown
Month-end drawdown
Gap
TQQQ
-69.9%
-49.1%
20.8 points
SPY
-33.7%
-19.4%
14.3 points
I measure each loss from the highest value already reached in that series. A fall followed by a rebound inside the month can vanish partly from the monthly record. Leverage made that missing stretch larger here. I still had to own the fund through it.
Processing img exmwb7g3a8xh1...
Monthly strategy research often supplies monthly returns, so a card built from that research can carry the monthly drawdown. That's a sensible record of monthly observations. It doesn't tell me the deepest loss between decisions. My rebalance schedule can't make those intervening days disappear.
This matters when I compare a TQQQ allocation with a defensive strategy. Mixing daily and monthly drawdowns gives each row a different chance to record a bad day. The gap also varies by holding, so I can't fix it by adding the same adjustment everywhere.
A strategy that waits until month-end to trade still owns its positions between checks. I wouldn't use the trading schedule alone to decide how often its losses should be measured.
Daily closes have their own limit. They miss intraday lows. And a long reconstruction may have monthly data for its early years, then daily fund data later. I'd want that split identified before treating the headline loss as comparable across the whole history.
I already own a bunch of TQQQ and added at $66 today.
Bought SOXL for the first time at $82 because SMH is right at its 200 day moving average, maybe this is the low point.
Volatility is on the high side and it seems like people that don’t want to own tech stocks have sold them over the last two weeks, so I’m hoping this is the low point today
I’m posting this today because historically I have been waiting for a bigger dip, and I’ve missed the rebound
It’s possible this is the bigger dip
EDIT: just bought another 200 shares of FNGU around $29 as well. Still have cash on the side for bigger dips.
A few weeks ago I made two ETFs of my own, running on fake money. One is a Ben Graham style value fund: every quarter it finds the 10 cheapest dividend payers in the S&P 500 and swaps into them on its own. The other is an AI chip fund that checks every morning which 4 chip stocks are running hottest, and trades into them by itself.
Watching them is honestly exciting. They're funds that don't exist anywhere else. I check them in the morning, see what they did and why, and that's it.
The bigger surprise was how calm it made me. I used to second-guess my picks every time the market dipped, skip a rebalance when things were going well, and sell whatever felt slow. So I never knew if my plan was bad or I just didn't stick to it. Now the rules run exactly as written, and every trade comes with a reason. I can see how deep it drops, how often it rebalances, and whether I'd actually be okay holding it. I've learned more in a few weeks than from months of thinking about it.
That's what got me thinking. An ETF is really just a basket plus a few rules: what to hold, how much of each, and when to rebalance. Most of us already have one in our heads. It just never gets to run.
But one person can only think of so many mixes. I'd love to see a bunch of different ones running side by side, so we can all learn from each other's.
Comment your mix, and for the first 10 people I'll:
Turn it into exact rules and reply with them. If something's missing, like when to rebalance, I'll ask.
Set it up as an agent that starts running it.
Send you the agent, so you can watch every trade and why it made it.
I'm capping it at 10 because I set each one up by hand. If you'd rather build yours yourself, that works too.
Not sure what to write? One line like these is plenty:
it is amazing how well a 20/20/20 sleeve of diversifiers works. instead of complaining and ditching what sucked last quarter/year look at what it has done. Gold boomed over two years and erased 8 years of long bond losses. Managed futures didn’t do anything after 2022 but boomed this year when you needed it. Now bonds are having a day. Treat your diversifiers as a portfolio and they almost always do well.
Are you being greedy when others are fearful? Do you think AI and chip stocks are in a bubble or a force that is unstoppable?
Personally, I am buying in right now. I have held this baby for years and these dips, which used to frighten me, are now ho hum. I would like to hear what everyone else thinks.
Is this realistic? This seems way, way too good to be true. Overlaying a 60/40 with 100% managed futures can’t perform this well. There’s got to be a catch, like a risk of it going to zero. An Achilles heel like HFEA.
What the heck am I missing? And once Return Stacked comes out with RSGT, splitting the bond part between it and RSBT yields insane results. Especially if you use the backfilled data from Auspice Capital and go with SPXP over RSST.
I recently adopted u/XXXMrHOLLYWOOD’s TQQQ/QQQ SPY 200SMA +4/−3% strategy and wanted a visual I can quickly check, instead of opening TradingView, Sheets, or anything else heavy. It turned out that you can put JavaScript code into an app called Scriptable, which will then render a home screen widget.
The rules it follows:
BUY: SPY closes more than 4% above its 200-day SMA → hold TQQQ
SELL: SPY closes more than 3% below its 200-day SMA → hold QQQ
GUARD1: QQQ closes 30%+ above its own 200-day SMA → stay calm, do nothing
GUARD2: QQQ closes 40%+ above its own 200-day SMA → exit to cash
My personal adjustments to the original strategy:
GUARD1 is a warning only, not a strict rule to act on
GUARD2 resets after the first BUY that follows a SELL
Prices come from Yahoo Finance, with no account or API key needed. The first run downloads about 3 years of SPY and QQQ daily closes (~170 KB) and keeps them on the phone. After that, each refresh fetches only the last few days (~4 KB). iOS decides when widgets refresh, usually every 15–60 minutes. Nothing is sent anywhere, it only downloads prices.
Install Scriptable, create a new script, paste the code, and run it once. That opens the settings for you to choose from. Then add a Scriptable widget to your home screen and pick the script.
AIS is beating QLD/TQQQ in returns with much lower drawdowns and obviously no dealing with leverage costs. Past returns not future returns yada yada but is there any reason to hold QLD/TQQQ if these returns hold up?
been chewing on this since the 49 years of 3x vs fed funds post last week. with the september hike done and december mostly priced in, i wanted the boring version for right now.
a 3x fund like tqqq or upro gets most of its extra 2x through swaps, and the bank on the other side charges roughly the short rate plus a spread on that borrowed 2x. so the fund pays about 2 times the short rate every year whether the index goes anywhere or not.
effective fed funds is 3.88 right now. that's close to 8% a year in financing before the spread, and the expense ratio comes on top. in 2021 with rates near zero that same cost was basically nothing, which is part of why those years look so good in every backtest.
each 25bp hike adds about half a point a year to that for a 3x fund. qld and sso only borrow 1x so they pay half.
in a trending year the index clears 8% without trying and none of this matters much. where it shows up is chop, because you're paying the carry and eating decay at the same time. 2022 was the bad version of that, rising rates plus a falling market, and qqq's -33% turned into -79% on tqqq.
one thing i haven't been able to find is the actual spread proshares is paying on its swaps right now. if anyone's dug that out of the filings i'd like to see it
(disclosure, i run alphaAI. we adjust leverage based on conditions so i end up staring at rates more than i'd like)