Market Signals

Standalone setups we watch — each card is a specific market condition that has historically preceded above-baseline forward returns. These sit outside the main BATS composite; the BATS gauge is a broad, slow-moving mood ring, while these are single-purpose event triggers. New signals will drop in over time.

Two-Gate Long/Cash QQQ

NFCI regime + RSI dip · daily check

A 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 at nearly double the buy-and-hold rate (18.3% vs 9.9% CAGR since 1999). Drawdowns are still real — max −66% — just meaningfully less painful than buy-and-hold's −83%.

LOADING…
Fetching QQQ and NFCI…
RSI(QQQ, 14)
below 40 → fire
NFCI
below 50d SMA → fire
Rule CAGR
+18.3%
Buy & Hold CAGR
+9.9%
Rule cumulative
Buy & Hold cumulative
Alpha (annualized)
Beta vs QQQ
Sharpe
0.86
Max drawdown
-66.3%
Buy & Hold max DD
-83.0%
Crashes
Range
How to read this chart. Top panel is QQQ's price on a log scale (so the 1999-vs-2026 levels are both visible). Bottom panel is the NFCI (orange) against its 50-day average (dashed teal) — when orange dips below teal, credit is easing and the rule stays long. The vertical marks are the actual trades the rule generated: red = SELL (rule flipped to cash), yellow band = how long it stayed out, and green = BUY back (rule flipped to long). Wide yellow bands during 2001, 2008, 2020, and 2022 are the moments the rule side-stepped major bear markets. Thin yellow strokes are quick 1-3 day cash gaps where the rule sold on a bounce and re-bought on the next dip — each one shaves a small chunk off the drawdown, which is why the green Rule line drops less than the dashed Buy & Hold line even during stretches that look "always long" at a glance. The big red / green vertical marks only fire on regime-level transitions, so short trades won't clutter the chart.

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. During the dot-com bust, $1,000 in the rule fell to about $692 (a 31% loss). Buy & Hold fell to $259 (74% loss). Same shape in 2008: −27% vs −50%. In 2022: −33% vs −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 +8.4% 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. Bear-market side-steps: dot-com bust −19% (vs −83% B&H), 2008 −27% (vs −50%), COVID −14% (vs −28%), 2022 −33% (vs −35%). Same rule on SMH 22.2% CAGR (vs 9.8% B&H). 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 universe

Each 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.

LOADING…
Fetching factor ETF prices…
Lookback
Alpha this window: Rebalances/yr: 3.7

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.

rankings load once prices arrive
Rule CAGR
SPY CAGR
Rule cumulative
SPY cumulative
Alpha (annualized)
Rule max DD
SPY max DD
Rebalances/yr
Crashes
Range
How to read this chart. Top panel: $1,000 invested at the start of 2014 in the rotation strategy (green) vs $1,000 in SPY (dashed cyan). The green line ends higher because of the annualized alpha compounded over years. Bottom panel: the ETF actually held each month, shown as colored horizontal bands — every band change is a rotation trade. Long stretches of one color mean the strategy stayed put; frequent color changes mean the leader kept flipping.

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.

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 EFA

An 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.

LOADING…
Fetching country ETF prices…
rankings load once prices arrive
Rule CAGR
+9.9%
EFA CAGR
+5.7%
Rule cumulative
EFA cumulative
Alpha (annualized)
+4.22%
Rule max DD
-34%
EFA max DD
-30%
Rebalances/yr
~9.6
Crashes
Range
How to read this chart. Top panel: $1,000 invested in the rotation strategy (green) vs $1,000 in EFA (dashed cyan) since 2004. Bottom panel: colored bands show which countries were held each month, one row per rebalance. Long stretches of the same colors mean the same handful of countries kept leading; frequent color changes mean the leadership was shifting.

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 matches SPY roughly (~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.

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.

Breadth Ratio (50MA / 200MA)

Loading… S&P 500 · daily

% of large-caps above their 50-day MA divided by % above their 200-day. A deep dip (≤0.35) that turns up marks a short-term breadth washout followed by an early bounce — historically a good spot to buy. Vertical bars mark past fires.

Current ratio
20-day low
Fires / year
~2.9
60d fwd avg
+2.9%
250d fwd avg
+13.2%
250d hit rate
86%

Backtest 2005–2026 on ~100 S&P constituents. Fires when 20-day min of the ratio hit ≤0.35 and today's ratio ticks up. Baseline 250d return: +10.2% / 80% hit.

Breadth Washout (pct50 ≤ 15%)

Loading… S&P 500 · daily

When the share of large-caps trading above their 50-day MA collapses to ≤15% and then ticks back up, that's a washout bottom being formed. Catches the shock-crash setups the Breadth Ratio misses (Apr 2025 Liberation Day, Mar 2020 COVID, Dec 2018 Powell) plus a wider set of shallower dip-buys. Threshold widened from 10 to 15 to catch nearly 2× the entries with better short-term timing — fires slightly earlier so the market has usually bottomed by the time you'd act, instead of overshooting down for a week.

Current pct50
20-day low
Fires / year
~2.3
20d fwd avg
+1.7%
60d fwd avg
+2.8%
250d fwd avg
+14.2%
250d hit rate
86%

Backtest 2005–2026 on ~100 S&P constituents. Fires when the 20-day minimum of pct50 hit ≤15 and today's pct50 ticks up. Baseline 250d return: +10.2% / 81% hit. Threshold widened from the earlier ≤10 setting after testing showed 15 catches nearly 2× the entries (49 vs 29 over the same window) with better short-term timing — the 5-day post-fire return went from −0.6% (catching a knife) to +0.2% (bottom mostly in). The 60d+ window is still where the edge shows up.