🔧 AI Nachrichten Major AI platforms go down in unprecedented simultaneous outage(03.09.2026 um 17:34 Uhr)
🔧 AI Nachrichten ChatGPT, Claude, and Grok Down? Users Report Widespread Outages(03.09.2026 um 19:14 Uhr)
🔧 AI Nachrichten OpenAI Launches GPT-6 Astra, Says We May Have Entered the AGI Era(03.09.2026 um 22:08 Uhr)
🔧 AI Nachrichten Claude Comes to CarPlay as Fifth Major AI Chatbot App(05.09.2026 um 05:31 Uhr)
🔧 AI Nachrichten OpenAI’s GPT-6 Astra Is AGI, Says NVIDIA CEO Jensen Huang(07.09.2026 um 06:31 Uhr)
🔧 AI Nachrichten Blame AI companies for Mac mini and Mac Studio shortage(31.08.2026 um 10:32 Uhr)
🔧 AI Nachrichten Major AI platforms go down in unprecedented simultaneous outage(03.09.2026 um 17:34 Uhr)
🔧 AI Nachrichten ChatGPT, Claude, and Grok Down? Users Report Widespread Outages(03.09.2026 um 19:14 Uhr)
🔧 AI Nachrichten OpenAI Launches GPT-6 Astra, Says We May Have Entered the AGI Era(03.09.2026 um 22:08 Uhr)
🔧 AI Nachrichten Claude Comes to CarPlay as Fifth Major AI Chatbot App(05.09.2026 um 05:31 Uhr)
🔧 AI Nachrichten OpenAI’s GPT-6 Astra Is AGI, Says NVIDIA CEO Jensen Huang(07.09.2026 um 06:31 Uhr)
🔧 AI Nachrichten Blame AI companies for Mac mini and Mac Studio shortage(31.08.2026 um 10:32 Uhr)

🔧 Programmierung 🕛 kürzlich 4 Min Lesezeit
0

Crypto Regime Detection in Python: Complete Tutorial with Live API

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht




Crypto Regime Detection in Python: Complete Tutorial



Market regime detection is the difference between a profitable trading bot and one that bleeds money in the wrong conditions. In this tutorial, you'll learn how to detect crypto regimes in Python and use them to make better trading decisions.






What You'll Build



By the end of this tutorial, you'll have:




  1. A regime-aware position sizing system

  2. A regime shift alert system (email/Slack notifications)

  3. A simple backtest framework comparing regime-filtered vs unfiltered returns






Setup






CODE
pip install requests






That's it. No complex dependencies.






Step 1: Fetch the Current Regime






CODE
import requests
from datetime import datetime

API_BASE = "https://getregime.com/api/v1"

def get_regime():
"""Fetch current market regime classification."""
resp = requests.get(f"{API_BASE}/market/regime", timeout=10)
resp.raise_for_status()
return resp.json()

# Test it
regime = get_regime()
print(f"Regime: {regime['regime'].upper()}")
print(f"Confidence: {regime['confidence']:.0%}")
print(f"Signals: {regime.get('signalSummary', {})}")






Output:




CODE
Regime: BEAR
Confidence: 71%
Signals: {'bullish': 1, 'bearish': 3, 'neutral': 2}






The API returns one of three regimes:





  • bull — trending up, momentum strategies work


  • bear — trending down, capital preservation mode


  • chop — sideways, mean reversion or sit out






Step 2: Regime-Aware Position Sizing



The simplest and most effective application — scale your position size based on the regime:




CODE
REGIME_MULTIPLIERS = {
"bull": 1.0, # Full size
"chop": 0.4, # 40% — reduced edge
"bear": 0.1, # 10% — capital preservation
}

def calculate_position(capital, base_risk_pct=0.02):
"""Calculate position size adjusted for current regime."""
regime = get_regime()

base_size = capital * base_risk_pct
regime_mult = REGIME_MULTIPLIERS.get(regime["regime"], 0.5)

# Scale by confidence — uncertain regimes get smaller sizes
conf = regime["confidence"]
conf_mult = 1.0 if conf >= 0.6 else conf / 0.6

final_size = base_size * regime_mult * conf_mult

print(f"Regime: {regime['regime'].upper()} ({conf:.0%})")
print(f"Base size: ${base_size:.2f}")
print(f"Regime adjusted: ${final_size:.2f} ({regime_mult * conf_mult:.0%} of base)")

return final_size

# With $10,000 capital
position = calculate_position(10000)









Step 3: Regime Shift Alerts



Get notified when the market regime changes:




CODE
import time
import json

def monitor_regime(check_interval=300, callback=None):
"""Monitor regime and alert on changes."""
last_regime = None

while True:
try:
data = get_regime()
current = data["regime"]

if last_regime is not None and current != last_regime:
msg = (f"REGIME SHIFT: {last_regime.upper()} -> {current.upper()} "
f"(confidence: {data['confidence']:.0%})")
print(f"[{datetime.now():%H:%M:%S}] {msg}")

if callback:
callback(msg, data)

last_regime = current

except Exception as e:
print(f"Error: {e}")

time.sleep(check_interval)

# Simple Slack webhook alert
def slack_alert(msg, data):
webhook_url = "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
requests.post(webhook_url, json={"text": msg})

# Start monitoring (checks every 5 min)
# monitor_regime(callback=slack_alert)









Step 4: Combine with Market Overview



Get full market context alongside the regime:




CODE
def get_market_context():
"""Fetch regime + market overview in parallel."""
regime = get_regime()

overview_resp = requests.get(f"{API_BASE}/market/overview", timeout=10)
overview = overview_resp.json()

return {
"regime": regime["regime"],
"confidence": regime["confidence"],
"btc_price": overview["btc"]["price"],
"btc_change_24h": overview["btc"]["priceChange24hPct"],
"eth_price": overview["eth"]["price"],
"fear_greed": overview["fearGreedIndex"],
"fear_greed_label": overview["fearGreedLabel"],
"btc_dominance": overview["btcDominance"],
}

ctx = get_market_context()
print(json.dumps(ctx, indent=2))









Step 5: Simple Backtest Framework



Compare regime-filtered vs unfiltered returns:




CODE
def backtest_regime_filter(prices, regimes):
"""
Simple backtest: compare buy-and-hold vs regime-filtered holding.

prices: list of daily close prices
regimes: list of regime strings (same length as prices)
"""
# Buy and hold
bnh_return = (prices[-1] / prices[0] - 1) * 100

# Regime-filtered: only hold during bull, half during chop, flat during bear
capital = 1.0
position = 0.0

for i in range(1, len(prices)):
regime = regimes[i-1]
target_exposure = {"bull": 1.0, "chop": 0.4, "bear": 0.0}.get(regime, 0.5)

# Adjust position
daily_return = prices[i] / prices[i-1] - 1
capital += position * daily_return
position = capital * target_exposure

regime_return = (capital - 1.0) * 100

print(f"Buy & Hold: {bnh_return:+.1f}%")
print(f"Regime-Filtered: {regime_return:+.1f}%")
print(f"Alpha: {regime_return - bnh_return:+.1f}%")









Pro Features



The free tier gives you regime classification with a 15-minute delay. For production bots,










  • Try Regime Intelligence



    Regime is a real-time crypto market regime detection API. One endpoint tells you if the market is bull, bear, or chop — so your bot only trades when conditions match your strategy.



    | API docs →

    Vollständiger Original-Bericht
    Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
    ↗ Original-Artikel auf dev.to lesen
    Wie bewertest du diesen Beitrag?
    1 Klick Feedback
    Teilen mit Netzwerk & Team:

    Community-Analysen & Experten-Meinungen 0

    Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
    Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
    Community Pulse: Relevanz-Einschätzung
    1 Klick Experten-Votum
    🔴 Akute Relevanz 0%
    🟡 In Evaluierung 0%
    🟢 Keine Auswirkung 0%
    Spannende Innovation 0%
    Verwandte Story-Cluster & Quellen (Vektor-KI)
    Port 8095 Engine
    3 Quellen
    GPT-6 Astra Release Today? OpenAI’s Next Major AI Model Is Almost Here
    1 Quelle
    Apple accuses OpenAI of destroying evidence as trade-secrets fight intensifies
    1 Quelle
    Major AI platforms go down in unprecedented simultaneous outage
    Ähnliche Beiträge
    🔍 Verwandte News

    Auch interessante Nachrichten Crypto Regime Detection in Python: Complete Tutorial with Live API

    Thematisch verwandte Begriffe: Crypto, Regime, Detection, Python · 6 Treffer

    Laden...

    Videos werden geladen ...

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...