Range-Day-Identification: erkennen, wann der Markt seitwärts läuft.

Ein großer Teil aller Handelstage sind Range-Tage — also Tage, an denen sich der Preis den ganzen Tag in einer relativ engen Spanne bewegt, ohne klare Richtung. Wer das in Echtzeit erkennt, kann die richtige Strategie-Klasse wählen: Mean-Reversion an Range-Grenzen statt Trendfolge, kurze Ziele statt Trail-Stops, niedrige Frequenz statt aggressivem Add-on. Wer es nicht erkennt, verliert systematisch — entweder durch Trend-Setups, die nie laufen, oder durch Whipsaw, wenn der Markt doch plötzlich bricht.

Range-Day vs. Trend-Day — was unterscheidet sie strukturell.

Ein klassischer Trend-Day hat folgende Signatur: Open am einen Tagesextrem, Close am anderen, kontinuierliche Bewegung mit kurzen Pullbacks, Volume konzentriert in Trend-Richtung. Ein Range-Day umgekehrt: Open und Close nahe der Tagesmitte, mehrfache Tests von Range-High und Range-Low, gleichmäßiges Volumen, keine echten Breakouts.

Die saubere Klassifikation am Ende des Tages ist trivial. Die schwere Aufgabe ist die Echtzeit-Klassifikation: nach 60 Minuten zu wissen, ob heute ein Range-Day wird, ist 10x wertvoller als nach 360 Minuten. Genau hier hilft eine systematische Indikator-Kombination.

Klassische Indikatoren.

Drei Indikatoren bilden in meiner Praxis die Grundlage:

Opening-Range-Identifikation.

Eine extrem nützliche Heuristik aus den ersten 30 Minuten nach Open (09:30–10:00 ET): die Opening-Range (OR) — also High und Low der ersten 30 Minuten. Statistisch zeigt sich: wenn der Preis bis 11:00 ET die Opening-Range weder nach oben noch nach unten signifikant durchbrochen hat (Mehr als 0,5 x OR-Höhe darüber oder darunter), steigt die Wahrscheinlichkeit eines Range-Days deutlich.

Umgekehrt: ein sauberer Opening-Range-Breakout in der Stunde nach OR-Ende mit erhöhtem Volumen ist eines der stärksten Trend-Day-Signale. Das ist nicht neu — seit Toby Crabel in den 90ern bekannt — aber empirisch stabil.

Python-Implementierung des Range-Day-Detectors.

Ein Echtzeit-Detektor, den ich produktiv einsetze. Vereinfacht:

import pandas as pd
import numpy as np

def range_day_score(bars_1min: pd.DataFrame, daily_atr_20: float) -> dict:
    """
    bars_1min: 1-Minuten-Bars seit 09:30 ET, Columns: open, high, low, close, volume
    daily_atr_20: 20-Tage-ATR der Aktie (in absoluten Preis-Einheiten)
    """
    if len(bars_1min) < 30:
        return {'classification': 'undetermined', 'score': None}

    # Opening-Range (erste 30 Minuten)
    or_bars = bars_1min.iloc[:30]
    or_high = or_bars['high'].max()
    or_low  = or_bars['low'].min()
    or_height = or_high - or_low

    # Aktueller Stand
    last_close = bars_1min['close'].iloc[-1]
    day_high   = bars_1min['high'].max()
    day_low    = bars_1min['low'].min()
    day_range  = day_high - day_low

    # Indikatoren
    range_vs_atr = day_range / daily_atr_20            # < 0.5 spricht fuer Range
    or_break_up   = (day_high - or_high) / or_height   # 0 = kein Breakout
    or_break_dn   = (or_low - day_low) / or_height
    close_in_or   = or_low <= last_close <= or_high
    midpoint_dist = abs(last_close - (or_high + or_low) / 2) / or_height

    score = 0
    if range_vs_atr < 0.5: score += 2
    if max(or_break_up, or_break_dn) < 0.3: score += 2
    if close_in_or: score += 1
    if midpoint_dist < 0.5: score += 1

    if score >= 4:
        classification = 'range_day'
    elif score <= 1:
        classification = 'trend_day'
    else:
        classification = 'mixed'

    return {
        'classification': classification,
        'score': score,
        'range_vs_atr': range_vs_atr,
        'or_high': or_high,
        'or_low': or_low,
        'or_break_up': or_break_up,
        'or_break_dn': or_break_dn,
    }

Der Detector läuft bei mir minütlich ab 10:30 ET auf den Tickern meiner Watchlist und liefert ab ca. 11:00 ET stabile Klassifikationen. Wie gut die Klassifikation zur finalen Tages-Klassifikation (am Close gemessen) passt, sollte für jedes Universum eigens gemessen werden. Mixed-Tage sind genau das: nicht eindeutig — und sollten entsprechend defensiv behandelt werden.

Range-Trading-Strategien.

Sobald ein Range-Day mit hoher Wahrscheinlichkeit identifiziert ist, öffnet sich ein robustes Setup-Universum:

Statistische Performance je nach Range-Stärke.

Wie sich die Trefferquote je nach Range-Score verändert, sollte vor dem Live-Einsatz für das eigene Universum mit einem sauberen Backtest geprüft werden — inklusive Kosten, Slippage und Worst-Case-Tagen bei Range-Bruch.

Übergänge: Range-Day, der zu Trend-Day wird.

Das größte Risiko der Range-Day-Strategie ist nicht eine falsche Klassifikation am Morgen — es ist der Range-Day, der nachmittags doch noch bricht. Ein klassisches Whipsaw-Setup: 75 % des Tages bewegt sich der Preis seitwärts, ein Mean-Reversion- Trader stockt nach jeder Range-Berührung auf, und dann bricht der Preis am Nachmittag mit FOMC-News oder einem großen Block-Trade aus.

Schutzmechanismen, die ich nutze:

Ehrliche Bewertung.

Range-Trading eignet sich gut als Einstieg in systematisches Trading. Drei Gründe:

Was nicht funktioniert: Range-Trading auf zu kleinen Tickern (zu wenig Volumen für zuverlässige Range-Berührungen), an FOMC-Tagen (zu viel News-Whipsaw), an Earnings-Tagen (zu viel idiosynkratische Bewegung) und in extrem niedrigen Volatilitätsregimes (Range zu eng, Stop-zu-Ziel-Verhältnis zu schlecht).

Einsatz in der Praxis.

Range-Trading auf liquiden S&P-500-Werten lässt sich gut als eine Komponente eines systematischen Strategie-Portfolios einsetzen. Ein typischer Ablauf: Der Range-Day-Detector läuft ab 10:30 ET, generiert ab 11:00 ET die Watchlist der wahrscheinlichen Range-Tickers, und ab 11:30 ET beginnt die eigentliche Trade-Ausführung an den Range-Grenzen.

Operativ ist das eine angenehme Strategie: 20–40 Minuten aktive Marktbeobachtung mittags, klare Regeln, klare Stops. Kein Adrenalin, keine spektakulären Gewinne — dafür ein nüchternes, regelbasiertes Setup — mit klar begrenztem Risiko pro Trade, aber ohne Erfolgsgarantie.

Stand: Mai 2026, überarbeitet Oktober 2026. Angaben zu Produkten, Preisen, Gesetzen und Fristen können sich seitdem geändert haben; maßgeblich sind die aktuellen Angaben der Anbieter und Behörden.

Sie wollen einen Range-Day-Detector sauber in Python aufsetzen — mit Live-Klassifikation und integriertem Risikomanagement? Unverbindlich anfragen — wir bauen den Detektor samt Risikomanagement und testen ihn sauber gegen Ihre Daten. Mehr zu meinem Angebot: Trading-Systeme entwickeln lassen.