How to Add a Regime Filter to Any Crypto Portfolio Strategy

You don't need to rebuild your trading strategy. You just need to add one filter on top: the market regime. Here's how to do it in 10 minutes with any existing setup.

The Concept

A regime filter doesn't change WHAT you trade — it changes HOW MUCH. Think of it as a volume knob:

Your existing entry/exit signals stay exactly the same. The regime filter just scales your position size.

Implementation (Any Language)

Python

import requests

def get_regime_multiplier():
    data = requests.get("https://getregime.com/api/v1/market/regime").json()
    scale = {"bull": 1.0, "chop": 0.4, "bear": 0.1}
    return scale.get(data["regime"], 0.5)

In your existing strategy:

position_size = base_position * get_regime_multiplier()

JavaScript/TypeScript

import { CseClient } from 'getregime';
const client = new CseClient();

async function getRegimeMultiplier() {
  const { regime } = await client.getRegime();
  return { bull: 1.0, chop: 0.4, bear: 0.1 }[regime] ?? 0.5;
}

cURL (for scripts)

REGIME=$(curl -s https://getregime.com/api/v1/market/regime | jq -r .regime)
case $REGIME in
  bull) MULT=1.0 ;;
  chop) MULT=0.4 ;;
  bear) MULT=0.1 ;;
esac

Results From Backtesting

Adding a regime filter to SMA 50/200 crossover (302K candles):

AssetWithout FilterWith Regime FilterImprovement
BTC+41%+41% (less drawdown)-40% max DD
ETH+41%+166%+305%
SOL+312%+586%+88%

The filter's biggest win isn't better returns — it's avoiding the worst drawdowns.

When NOT to Use a Regime Filter

Get Started

curl https://getregime.com/api/v1/market/regime

Free, no auth. Full docs | Pricing