Strategies
Rules-based strategies — each card is a complete set of buy and sell rules, with today's signal and a full backtest.
Two-Gate Long/Cash QQQ
NFCI regime + RSI dip · daily checkA rules-only strategy: stay long QQQ whenever (a) credit conditions are easing — NFCI sits below its 50-day average, the main regime filter that keeps you fully invested through most bull markets — or (b) QQQ's 14-day RSI has dropped below 40, which catches pullback bounces (including the sharp rallies you get inside bear markets). Sit in cash only when both fail — credit is tightening and nothing is oversold enough for a mean-reversion bounce. Historically that combination side-steps the worst legs of every major bear, compounding about 6 points a year faster than buy-and-hold (16.1% vs 10.1% CAGR since 1999). Drawdowns are still real — max −72% — just meaningfully less painful than buy-and-hold's −83%.
What to expect if you follow this signal
Bad-looking individual trades are normal. The rule sells right before some rallies. It buys right before some drops. Any single trade you point at can look like a mistake. That is by design — mean reversion is not about being right on each trade, it is about being less wrong on average across hundreds of them.
The rule still loses money in bear markets — just less. From QQQ's dot-com peak to its bottom, $1,000 in the rule fell to about $455 (a 55% loss). Buy & Hold fell to $175 (an 82% loss). Same shape in 2008: −34% vs −52%. In 2022 the rule was roughly flat (−0.5%) while QQQ fell 35%. It is not a shield; it is a smaller loss.
The outperformance comes from two places:
- Crises where NFCI spikes — the rule sits in cash for months (dot-com, 2008, COVID) while Buy & Hold gets cut in half. This is where the biggest dollar-gap opens up.
- Choppy markets — small daily edges compound: catch most up-days, dodge enough down-days, and Rule wealth outpaces Buy & Hold even in flat or slightly-down stretches.
When it will feel worst: long steady bull runs like 2013–2019 and 2023–2024, where the rule is in cash during rallies and lags Buy & Hold by a few percent per year. That is the cost of being ready for the next crash. If your emotional reaction to that lag is to override the rule, you will kill the edge before you ever collect it.
How to actually use it: if you cannot hold through the whipsaws, do not trade this rule live. Treat the action pill as a second opinion — an unemotional gut-check against your own instincts. The +6.0% annualized alpha only exists for someone who follows every signal, including the ones that feel wrong the moment they fire. Paper-trade it through a full up-and-down cycle before committing real money.
When the signal fires — and how to actually trade it
The signal settles at market close, 4:00 PM ET. RSI(QQQ, 14) needs QQQ's closing price to compute; NFCI is a weekly series released by the Chicago Fed on Wednesday afternoons for the previous Friday's data. Both inputs are stable once the market closes, so the pill above is your call for that day — not something you should watch tick by tick during trading hours.
How this card behaves through the day: during market hours (9:30 AM–4:00 PM ET)
the card polls QQQ's live price every 60 seconds and rebuilds today's provisional signal on the
fly — the pill is tagged INTRADAY · settles at 4:00 PM ET and reflects
what the rule is saying right now, not what it said yesterday. From 4:00 PM to 7:30 PM the
tag becomes Today's close and the pill locks to today's confirmed value. The
nightly workflow refreshes data/qqq.csv around 7:30 PM ET, after which the pill switches
to the standard "As of <date>" line.
Three ways to execute if you follow the rule:
- Market-on-close (textbook, matches the backtest exactly). At 3:45 PM ET, open this card and look at the pill — it's already computed live off QQQ's current price, so whatever it says IS your MOC decision. If it says BUY NOW or SELL NOW, submit a market-on-close order in your broker; it fills at 4:00 PM at the settlement price. If it says HOLD or STAY OUT, do nothing.
- Next open (practical for most people). Check the pill any time after 7:30 PM ET. If the confirmed-close signal changed from yesterday, place a market order for tomorrow's open. Fills drift a bit from the backtest each trade, but the drift averages toward zero over 27 years.
- Once-a-day check (no intraday attention). Same as above with zero daytime looking. If the pill is unchanged, do nothing.
Wednesday evening is the wildcard. The Chicago Fed publishes a fresh NFCI reading Wednesday afternoons; that's the one day a week the signal can flip on macro news alone, even if QQQ hasn't moved. Give the card a second look Wednesday nights.
About "missing a day": the strategy trades roughly once every 2–3 weeks on average. Any single missed transition costs at most a few percent on that trade, so no one miss destroys the edge. What does destroy the edge is skipping trades because you dislike them — that's how you filter out the mean-reversion signal.
Backtest 1999–2026 (~27 yrs) on QQQ closes + FRED NFCI weekly. Each NFCI reading is used only
from its publish date, about 5 days after the week it covers (without that delay the backtest
overstates the rule: 18.2% vs 16.1% CAGR). The signal at each close sets the next day's position;
cash earns 0%. Bear markets, QQQ peak to bottom: dot-com −55% (vs −82% B&H),
2008 −34% (vs −52%), COVID −10% (vs −28%), 2022 −0.5% (vs −35%).
Same rule on SMH 20.2% CAGR (vs 9.8% B&H). Reproduce with
scripts/backtest-two-gate-nfci.py. Systematic long/cash rule shown for reference only
— not investment advice; results ignore trading costs and taxes.
Factor ETF Momentum Rotation
Monthly rotation · 9-ETF universeEach month-end, rank 9 factor ETFs (momentum, quality, value, low-vol, growth, free-cash-flow) by their trailing 6-month total return. Buy the top one at the next market open, hold for the full month, then re-rank and rotate if the leader changed. Historically the strategy has beaten SPY by — CAGR since 2014 with lower drawdown (— vs —). Fewer than 12 trades a year on average — often the same ETF stays on top for months.
★ is the strategy default. The other lookbacks are shown for comparison only — the strategy is "buy the top ETF by trailing 6-month return, hold one month, rebalance." Flipping between lookbacks each month is not the strategy and will produce worse results than sticking with 6M.
What to expect if you follow this signal
You'll hold the same ETF for months at a time. The 6-month lookback is deliberately slow to avoid whipsaw. Since 2014 the strategy has averaged — rebalances per year. That means low trading friction and low tax churn — but you'll also spend long stretches watching a single ETF outperform or lag the broader market.
The strategy WILL underperform SPY in some years. Any single factor can lag broad-market cap-weighting for a stretch (value lagged growth from 2015-2020; growth lagged value 2021-2023). The alpha comes from riding whichever factor is leading, not from being smarter than SPY every calendar year.
Drawdowns are still real. Max — since 2014 — better than SPY's —, but you will absolutely watch the pill say HOLD while your ETF drops 15% in a correction. That's the deal.
Prices only, no dividends. Every figure on this card — the rule, SPY and the chart — is built from closing prices and leaves dividends out. SPY pays a bit over 1% a year and the factor ETFs pay too (the value and low-volatility funds more than the growth and momentum ones), so real total returns on both sides run higher than the CAGRs shown, and the gap is roughly fair but not exact.
Why this works: cross-sectional momentum (buy the strongest, hold, re-rank) is one of the most-tested effects in academic finance. Doing it across factor ETFs instead of individual stocks means zero survivorship bias (ETFs are their own index) and one-click execution. The — figure is honest — it's within the 3-6% "genuine alpha" range that survivorship-free literature suggests.
When to trade and how
Rebalance once a month, at the close of the last trading day. The pill above reflects the current month's holding. On the last trading day of each month, check the pill:
- If it says HOLD [TICKER], do nothing.
- If it says ROTATE: [OLD] → [NEW], sell the old ETF and buy the new one at market open the next trading day.
Any brokerage works. All 9 ETFs trade heavily — MTUM alone does >$100M/day. Bid-ask spread is 1-2 cents. You could even set calendar alerts for the last trading day of each month.
The pill updates once a day. Unlike the Two-Gate signal above, this strategy doesn't need intraday polling because rebalance decisions only happen at month-end. The current pick can shift a few days before month-end if a factor's trailing return changes rank — check the day before the last trading day if you want zero surprises.
Backtest 2014-01 – latest month-end (— yrs), Yahoo monthly-close data. Universe: MTUM, QUAL, USMV, VLUE, IWD, IWY, SPHQ, COWZ, SPMO. Each ETF joins the ranking once it has enough history for the lookback (COWZ from 2017, SPMO from 2016). Zero survivorship bias — factor ETFs are indexes themselves. Top-1 by trailing 6-month return, held for the next month. Results ignore trading costs and taxes; realistic drag for retail execution is <0.3% per year at these turnover levels. Systematic rotation shown for reference only — not investment advice.
International Country Rotation
Monthly rotation · 13-country universe · vs EFAAn international-only strategy for people who want overseas exposure done well. Each month-end, look at 13 iShares country ETFs. Filter to those trading above their 10-month moving average (the monthly-bar equivalent of the classic 200-day trend filter). Rank the survivors by trailing 6-month return and hold the top 3 equal-weighted. Rebalance monthly. Historically this has beaten the EFA developed-international benchmark by +4.22% CAGR over ~19.5 years, at a max drawdown roughly in line with EFA itself.
What to expect if you follow this signal
This is an international-exposure strategy, not a US-beater. The alpha is measured vs EFA (developed international). Over the last 20 years EFA has returned ~5.7% CAGR while SPY has done ~9.4%. The rotation has done ~9.9%, but its purpose is diversification: if you want US exposure, buy SPY. This card exists for the slice of a portfolio dedicated to international.
Country ETFs are volatile. Max drawdown -34% vs EFA's -30%. That's the cost of concentrating in just 3 countries at a time. If EM or a single country cracks hard (2008, 2015 China, 2020, 2022) you'll feel it more than a diversified basket.
Prices only, no dividends. Every figure on this card — the rule, EFA and the chart — is built from closing prices and leaves dividends out. EFA pays roughly 3% a year and the country ETFs pay too, so real total returns on both sides run higher than the CAGRs shown; the gap between them is roughly fair, but neither number is what an investor would actually have earned.
What the rule does mechanically: two gates, applied to each country ETF at month-end. Gate 1 (trend): the ETF has to be above its 10-month moving average, which is the monthly-bar approximation of the classic 200-day rule. Gate 2 (momentum): rank the survivors by trailing 6-month total return; take the top 3. If fewer than 3 pass Gate 1, hold only what survived. If none pass, hold cash (rare — usually happens only during severe global sell-offs).
Why 10-month MA + 6-month momentum works: country markets trend more persistently than sectors within a single country. The trend filter keeps you out of markets in structural downtrends (Russia 2014, Turkey 2018, China 2021-24), and the momentum rank picks up sustained leadership cycles (Latin America commodity booms, India since 2014, Japan since 2023).
When to trade and how
Rebalance once a month, at the close of the last trading day. The pill above reflects the current month's holding. If it says HOLD, do nothing. If it says ROTATE, sell whatever fell out of the top 3 and buy what came in, equal-weighted.
Turnover is moderate. ~9.6 rebalances/year historically. Not every rebalance is a full swap — usually just one of the three positions rotates, meaning ~3-6 trades/year per name.
Any brokerage works. The iShares country ETFs all trade at reasonable volume — even the smaller ones (EWL, EWH) do >$10M/day. Bid-ask spreads are 1-3 cents. Watch for currency effects: these are USD-priced but the underlying markets trade in local currency, so returns bake in FX moves.
Backtest 2004-2026 (~19.5 yrs), Yahoo monthly-close data. Universe: EWJ (Japan), EWG (Germany), EWU (UK), EWZ (Brazil), EWC (Canada), EWA (Australia), EWY (Korea), EWT (Taiwan), INDA (India), MCHI (China), EWH (Hong Kong), EWL (Switzerland), EWW (Mexico). Some markets enter the universe later (INDA in 2012, MCHI in 2011). Rule: hold top 3 by trailing 6-month return among ETFs above their 10-month moving average. Benchmark: EFA (iShares MSCI EAFE developed international). Results ignore trading costs and taxes — realistic drag for retail execution is <0.5% per year at this turnover. Systematic rotation shown for reference only — not investment advice.
Sector Rotation: Smoother Ride
Monthly · 11 SPDR sector funds · top 4 by 12-month returnOn the first trading day of each month, rank the 11 SPDR sector funds by their total return over the past 12 months and hold the top four in equal parts. Any of the four that is down over 12 months is left out; if all four are down, the money sits in short-term Treasuries (SHY). Since 2000 this has earned about the same as the S&P 500 (— a year vs —) with a much shallower worst drop (— vs —). A smoother ride, not a bigger return.
Year by year
What to expect if you follow this rule
About the same return as the index, with smaller drops. Over — years the rule made — a year against — for SPY, and its worst peak-to-trough drop was — against SPY's —. The point of this rule is the second number, not the first.
Most of its lead came from the two big crashes. — In a long bull run led by one sector it tends to run a step behind the index.
Year to year it is close to a coin flip. It beat SPY in — of — calendar years and in — of rolling 3-year windows; its worst 3-year stretch against SPY was — points behind.
About — trades a year. Most months one or two of the four funds change. Every figure here already includes 0.10% of each dollar traded; in the research run, 0.5% per trade cut the return to about 8.5% a year, so commissions and sloppy fills matter more here than for the buy-and-hold side.
When to trade and how
Once a month, on the first trading day. Using the previous day's close, rank the 11 funds by their 12-month total return. The ranking table above is that list, refreshed nightly.
- Buy the top four in equal parts, 25% each.
- Skip any of the four that is down over 12 months and split the money over the rest. If none of the four is up, buy SHY (1-3 year Treasuries) instead.
- Trade at the close of that first trading day. The backtest assumes the close; the next morning's open is close enough.
The pill shows what the rule holds now; the ranking table shows what it would pick if the month ended today. The two can differ late in a month, and nothing needs doing until the first trading day.
Backtest from February 2000, the first month in which the nine original SPDR sector funds (launched December 1998) had 12 months of history; XLRE joins in October 2016 and XLC in June 2019, each after its own first 12 months. Yahoo dividend-adjusted daily closes, so dividends count on both sides. Signals use the previous close; trades fill at the rebalance day's close with 0.10% of each dollar traded as cost. Rebuilt nightly. Systematic rotation shown for reference only — not investment advice.
All-Asset Trend Rotation
Monthly · 23 funds, every asset class · top 7 in uptrendsOn the first trading day of each month, score 23 funds spanning stocks, bonds, commodities, a bitcoin trust and currencies by their 6-month return. A fund counts as risk on only while that return is positive and its price is above its 10-month average. Hold the 7 strongest risk-on funds in equal parts; any slot that cannot be filled sits in short-term Treasuries (SHY). Since 2008 this has made — a year against — for the S&P 500, with about half the worst drop (— vs —). It still has losing years. It is not a no-loss strategy.
Show the rest of the universe
Year by year
What to expect if you follow this rule
About the S&P's return with half the drop. Over — years the rule made — a year against — for SPY, with a worst peak-to-trough drop of — against SPY's —. — It beat SPY in — of rolling 3-year windows and in — of — calendar years, so most of its lead over the index came in a few bursts.
It has losing years. — Claims that a rule like this never has a down year come from backtests tuned after the fact; a rule set in advance does not behave that way.
One fund carries a lot of it. —
About — trades a year. Most months one to three of the seven slots change. Every figure here already includes 0.10% of each dollar traded. On average the rule held — of its seven slots in funds and the rest in cash; it was fully invested in — of months.
When to trade and how
Once a month, on the first trading day. Using the previous day's close, score the 23 funds by 6-month total return and check each against its 10-month average. The ranking table above is that list, refreshed nightly.
- Buy the 7 strongest funds that are risk on (6-month return above zero and price above the 10-month average), one seventh each.
- If fewer than seven qualify, put each empty slot in SHY (1-3 year Treasuries).
- Trade at the close of that first trading day. The backtest assumes the close; the next morning's open is close enough.
The pill shows what the rule holds now; the ranking table shows what it would pick if the month ended today. The two can differ late in a month, and nothing needs doing until the first trading day.
Universe: emerging markets (EEM), Asia ex-Japan (AAXJ), Europe (VGK), Latin America (ILF), Nasdaq 100 (QQQ), S&P 400 (MDY), S&P 500 equal weight (RSP), S&P 600 (IJR), Treasuries 7-10, 10-20 and 20+ years (IEF, TLH, TLT), investment-grade and high-yield corporates (LQD, HYG), international bonds (BWX, IGOV, BNDX), crude oil (USO), gasoline (UGA), gold (GLD), silver (SLV), a bitcoin trust (GBTC), the Swiss franc (FXF) and the US dollar (UUP). Backtest from January 2008, the first month most of these existed; later funds join once they have 10 months of history (international bonds through 2013, the bitcoin trust in 2016). Yahoo dividend-adjusted daily closes, so dividends count on both sides. Signals use the previous close; trades fill at the rebalance day's close with 0.10% of each dollar traded as cost. Rebuilt nightly. Systematic rotation shown for reference only — not investment advice.