Regime-Aware Investing: Detecting Bull, Bear, and Crisis Markets with Breadth
Most models assume the market has one mode. It doesn't. Here's the breadth-based regime detector Tessera uses to decide when to lean in, pull back, or step aside.
title: "Regime-Aware Investing: Detecting Bull, Bear, and Crisis Markets with Breadth" description: "Most models assume the market has one mode. It doesn't. Here's the breadth-based regime detector Tessera uses to decide when to lean in, pull back, or step aside." publishedAt: "2026-03-05" updatedAt: "2026-03-05" keywords: ["market regime detection", "market breadth", "bear market indicator", "risk management", "position sizing"]
TL;DR — A regime is the market's current personality: the backdrop that decides whether your thesis gets rewarded or mugged. Most investors read that backdrop off the VIX or the SPY chart, and both can lie. Tessera uses breadth — the percentage of stocks with positive 3-month momentum — because it measures what's happening across thousands of tickers instead of the seven that carry the index. We bucket breadth into five regimes (CRISIS, BEAR, NEUTRAL, BULL, STRONG_BULL) and scale exposure, stops, and rotation from there.
What "regime" actually means
When people say "market regime," they usually mean one of two things, and conflating them causes bad decisions.
Volatility regime is what the VIX measures: how violently prices are moving. A low-VIX market can be slowly melting up or slowly grinding down; the VIX only tells you the magnitude of moves, not their direction. High VIX means the tape is jumpy. It does not mean bearish.
Trend regime is whether the average stock is participating. This is what breadth measures, and it's what we care about for position sizing. A market can be calm and dying at the same time. You see this every late cycle: SPY makes a new all-time high, the VIX is at 13, and when you pull up a breadth chart 60% of stocks are trading below their 200-day moving average. The cap-weighted index is being carried by a handful of mega-caps while the average stock is already in a bear market. If you size positions based on SPY and the VIX in that environment, you are going to own a portfolio of names that are individually rolling over while you feel calm.
Breadth catches that divergence. The VIX does not.
Why breadth over price
SPY is cap-weighted. As of recent years, roughly seven names have represented an outsized share of the index's market cap, and on any given day they can move the index 0.5% while the median stock is flat or red. This is not a conspiracy — it's just math. But it makes SPY a noisy proxy for "how is the equity market doing."
The lived experience of 2023 and 2024 made this impossible to ignore. The index posted double-digit returns in stretches where the equal-weighted version was flat, and where meaningful chunks of the Russell 2000 were 30% off their highs. If your regime model was "SPY is up, risk-on," you were levering into a market where most stocks were already in bear territory. When the mega-caps eventually corrected, the damage was compounded by the fact that everything else had no cushion.
Breadth — specifically, the percentage of stocks with positive trailing 3-month price momentum — sidesteps this. Every stock votes equally. If breadth is 60%, most of the market is participating in the advance. If breadth is 30% while SPY is flat, something is wrong underneath, and you want to know before you lever into it.
Breadth is also slower than price. Individual stocks can whipsaw; the fraction of stocks with positive momentum changes more gradually. That's a feature for regime detection, where you want a signal that's stable enough to act on without flipping every week.
Tessera's 5-regime classifier
We classify breadth into five buckets. Each one implies a different portfolio posture.
| Regime | Breadth | Implication |
| ------------ | ------- | ----------------------------------------------------- |
| CRISIS | <25% | Max positions cut; rotation frozen; tight stops |
| BEAR | <35% | Reduced exposure; tighter stops; quality-only buys |
| NEUTRAL | 35–55% | Baseline portfolio |
| BULL | >55% | Full exposure; wider stops |
| STRONG_BULL | >70% | Let winners run; loosest stops |
CRISIS is where more than three quarters of stocks have negative 3-month momentum. This is rare and it's serious. In CRISIS we stop rotating entirely — the competitive rotation logic that normally swaps weaker holdings for stronger candidates is frozen, because in a broad-based downdraft "stronger candidate" is often an illusion that will reverse within weeks. We also tighten stops and reduce the maximum number of positions, which pulls cash out of the market mechanically.
BEAR is the pre-crisis or post-crisis zone. The majority of stocks are in downtrends but not catastrophically so. We keep stops tight and raise the quality bar on new buys: lower-ranked names on the Tessera Rating don't get into the portfolio in BEAR, even if their sector P/E discount looks attractive. Cheap-and-deteriorating is a classic value trap in this regime.
NEUTRAL is the baseline. Roughly half the market is participating, roughly half isn't. We run the default portfolio: normal position count, normal stops, normal rotation cadence. Most of the time, the market is here.
BULL is broad participation. We take full exposure and widen trailing stops, because the statistical cost of getting shaken out of a winner during a benign pullback is higher than the cost of giving back a few percent on a name that eventually rolls over.
STRONG_BULL — more than 70% of stocks in uptrends — is a "let it run" regime. Trailing stops are at their loosest setting, rotation is at full capacity, and we lean toward holding existing winners rather than churning into the next name with a 0.21 score gap. Strong broad trends are where portfolio concentration is rewarded; it's the wrong time to be trading around the edges.
What changes between regimes (the practical part)
The regime signal is only useful if it actually moves something. Here's what moves.
Position count. In STRONG_BULL we run up to 20 names. In CRISIS that can drop to 10. Fewer names in a drawdown means more cash, shorter watch list, and less surface area for the screens to fail on.
Per-position stops. Our baseline is a regime-adjusted trailing stop. In CRISIS, stops compress to around 8% from the recent high watermark. In STRONG_BULL, trailing stops widen toward 20%. The logic is straightforward: in crisis regimes the expected drawdown of a name that's breaking down is larger, and small bounces are more often bull traps, so we'd rather be stopped out early. In strong bull regimes, most 10% pullbacks resolve higher, so a tight stop just taxes compounding.
Competitive rotation. Normally we replace a holding when a candidate beats it by ≥0.20 on our composite score, subject to a 30-day minimum hold. In CRISIS we freeze rotation entirely. In BEAR we keep it on but raise the quality floor for the incoming name. See Competitive Rotation for how the scoring works.
Max position size. The 7% per-name cap is constant, but in CRISIS and BEAR new positions start smaller — closer to 3–4% — and only scale up if the thesis continues to work. That half-size-on-entry rule is the single biggest behavioral difference between our BULL and BEAR portfolios. See Position Sizing and Stop Losses for the full logic.
Everything else — the 24-factor Tessera Rating, the RELATIVE P/E sector comparison, the quality screens — runs identically across regimes. Regime only changes how much and how tightly, not what we buy.
Failure modes (honest caveats)
A model that never mentions how it breaks is a marketing document, not a method. Here's how ours breaks.
Whipsaw in choppy markets. Breadth can oscillate around a threshold — say 34–36% — and flip BEAR to NEUTRAL and back across consecutive weeks. Each flip would, naively, trigger re-sizing and stop adjustments. We smooth with a lookback window so the regime only changes when the signal has been stable for multiple sessions. That reduces whipsaw but also means the regime label lags by several days.
It's trailing, not leading. Breadth describes what has already happened. In March 2020, the regime went CRISIS a few days after the actual bottom. That's uncomfortable, but the alternative — a leading indicator — doesn't exist in any form we trust. Any model that claims to call tops and bottoms in advance is either overfit, lucky, or both. We'd rather be a week late and right than a week early and wrong.
It doesn't predict black swans. Breadth responds to crashes; it doesn't foresee them. The COVID drawdown happened over a handful of days — the regime shifted, but not before material losses. Regime awareness reduces the duration of damage, not the initial shock.
Breadth is a U.S. equity concept as implemented here. Our detector is built on a U.S.-listed universe. It doesn't help if you're running a global book, a bond portfolio, or crypto. The idea generalizes, but the specific thresholds don't port.
Why not a 20-input model
We could add yield curve slope, credit spreads, new highs minus new lows, put/call ratios, sentiment surveys, and a dozen other inputs. The backtest would look better. This is exactly the problem.
Every additional parameter is another thing that could be overfit to the last ten years of data and fail in the next regime the market invents. A signal with one input and a clear economic meaning can be trusted in a drawdown; a signal with twenty inputs and a neural network cannot. When the portfolio is down 15% and the model is flashing a rare BUY, you have to decide whether to believe it. Good luck believing a model you can't even explain to yourself.
Simplicity also keeps us honest. If the regime signal fails, we know exactly why — breadth was misleading during that period — and we can reason about when it's likely to mislead again. That diagnostic clarity is worth more than a few basis points of backtest improvement.
Let Tessera do this automatically
Tessera scores every US stock weekly on 24 quality factors and ranks them against their sector. Get the top picks in your inbox — no credit card.
Try the free screener →