Microstructure·2026-06-09·11 min read·← all posts

Crypto market regime detection — building a 4-state classifier from public data

Every trading strategy works in some regimes and fails in others. A momentum strategy thrives in trending markets and bleeds in chop. A mean-reversion strategy makes money in range and dies in trends. Most retail traders never explicitly label the regime — so they run the same strategy in every condition, and the long-term result is the mediocre average across regimes. A four-state regime classifier built from free public data takes 30 minutes to set up and improves any strategy's risk-adjusted returns meaningfully.

What "regime" actually means

Regime is the latent state of the market. It's not the price level, it's not the trend, it's the structural mode the market is operating in. A market trending up at 3% per week is in a different regime than a market chopping ±5% per day with no net direction, even if both might end the month with similar absolute moves.

Strategies have implicit regime assumptions baked in. A trend-following strategy assumes the trend will continue. A mean-reverter assumes price will return to a recent average. If you run a trend-follower in a mean-reverting market, you give back your gains on every reversal. If you run a mean-reverter in a trending market, you fade the trend repeatedly and accumulate losses.

The four states

For crypto futures, four regimes capture most of what matters:

State A: Trend-up (bull trending)

BTC making higher highs and higher lows on the daily. Funding consistently positive. OI growing alongside price. Volatility moderate (not extreme either direction).

What works: trend-following longs, momentum continuation plays, basis trades (sell perp / buy spot to harvest funding).

What fails: contrarian shorts, mean-reverters fading rallies, aggressive Kelly-sized bearish plays.

State B: Trend-down (bear trending)

BTC making lower highs and lower lows on the daily. Funding compressing toward zero or negative. OI declining as positions get squeezed out. Volatility elevated.

What works: trend-following shorts, capitulation buys at specific structural levels, defensive yield strategies in stablecoins.

What fails: long-only momentum plays, "buy the dip" assuming bottom is in, mean-reverters fading rallies.

State C: Chop (range-bound)

BTC oscillating within a defined range. Funding alternating. OI roughly flat. Volatility moderate but with clear support and resistance.

What works: range trading (buy support, sell resistance), short-horizon mean reversion, market making with tight inventory.

What fails: trend-following (gets faded on every reversal), longer-horizon directional bets.

State D: Volatile chop (regime transition)

BTC making violent moves in both directions with no clear range or trend. Funding swings widely. OI volatile. Volatility extreme.

What works: very short-horizon strategies (scalping, market making), waiting in cash, defensive positioning.

What fails: all swing strategies, position trades, anything that requires holding through a 5-10% adverse move.

The classifier rules

Four diagnostic inputs, four threshold rules, one composite state output.

Input 1: BTC daily trend score

Calculate the 14-day rate of change on BTC daily close. Positive = uptrend bias. Negative = downtrend bias. Compute the absolute value: high = strong trend, low = no clear trend.

Threshold: |ROC14| > 7% indicates a directional trend regime. |ROC14| < 4% indicates a range/chop regime. In between is ambiguous.

Input 2: BTC realized volatility

Compute the standard deviation of daily returns over the last 14 days, annualized. This is the volatility regime indicator.

Threshold: vol > 80% annualized indicates "volatile" regime. Vol < 50% indicates "calm". Between is ambiguous.

Input 3: Funding rate regime

Compute mean of last 30 funding payments (8-hourly intervals on Binance USDT-M Futures). Sustained positive = bullish positioning. Sustained negative = bearish positioning. Oscillating around zero = no clear consensus.

Threshold: |mean funding| > 0.015% per 8h indicates a directional positioning regime. Below indicates positioning is neutral.

Input 4: Open interest delta

Compute change in BTC futures total open interest over last 14 days as % of starting OI. Growing OI on rising price = trend confirmation. Falling OI on falling price = capitulation/deleveraging.

Threshold: |OI delta| > 20% over 14 days indicates a significant positioning shift.

Combining the inputs into a state

Simple decision tree:

Implementations vary in how they handle edge cases. Some force a state on every observation; others allow "uncertain" labels. For practical use, force a state with reduced sizing during ambiguous periods.

How to actually compute this

All inputs come from free public APIs:

Poll once a day at the daily close. Compute the four inputs. Apply the threshold rules. Output a state label. Total compute time: under 1 second per day.

Store the regime label over time as a separate time series. After 60-90 days of regime labels, you can backtest your strategies separately within each regime and see which strategies are net positive in each state. This per-regime breakdown is one of the most valuable analytics any quant desk has — and it costs nothing to build.

What to do with regime-tagged backtests

Once you have a regime label per day and a backtest of each strategy split by regime, the per-strategy ROI numbers tell you which combinations to run:

This selective deployment dramatically improves risk-adjusted returns compared to running every strategy at all times. The cost: more operational complexity. The benefit: meaningful Sharpe-ratio improvement on the strategy mix you actually run.

Our own implementation

All our internal strategies — NEVA, CATALYST, VENUE, PHOENIX — incorporate regime awareness. The exact thresholds and which states each strategy considers compatible are firm IP and not published, but the framework is exactly what's described above: classify the market state continuously, only fire signals when the strategy is in a regime where it's expected to work, gate aggressive sizing on regime confidence.

This regime gating is one of the structural reasons our strategies are more consistent than gut-feel discretionary trading. The strategy doesn't try to make money in regimes where its edge structurally disappears. It pauses, waits, and resumes when the regime fits.

The honest takeaway

If you trade discretionarily, even a coarse regime label (trending vs chop, calm vs volatile) applied to your strategy choice would materially improve your results. The math is simple, the data is free, the workflow takes 30 minutes to set up. Most retail traders never do this because the daily effort feels like overhead. Traders who do it consistently are systematically more profitable than traders who don't.

Skip the regime modeling, get the signals

Our internal strategies fire only when their compatible regime is active. NEVA + CATALYST + VENUE + PHOENIX all run regime gating automatically. You allocate capital; the strategy decides when to deploy. Trial is free.

Start free trial →