Optimal Execution: Almgren-Chriss und seine Nachfolger.

Eine große Order in den Markt zu legen, ist kein triviales Problem. Zu schnell — man bewegt den Preis gegen sich selbst. Zu langsam — man trägt das Risiko, dass sich der Markt während der Ausführung wegbewegt. Almgren und Chriss haben im Jahr 2000 dafür ein analytisch lösbares Framework geliefert, das bis heute der Maßstab ist.

Das eigentliche Problem.

Stellen Sie sich vor, Sie wollen 500.000 Aktien eines Mid-Caps verkaufen. Das tägliche Volumen liegt bei 2 Millionen. Wenn Sie als Marktauftrag in einer Sekunde ausführen, bewegen Sie den Preis um vielleicht 1–2 % gegen sich. Wenn Sie über zwei Tage ausführen, ist der Preis-Impact kleiner — aber Sie tragen das Risiko, dass der Markt in dieser Zeit um 3 % fällt. Beides ist Kosten. Welche Strategie minimiert beide gemeinsam?

Almgren und Chriss haben dieses Problem als Optimierung formuliert: minimiere die erwartete Ausführungskosten plus einen risikoaversen Term über die Varianz der Ausführungskosten. Heraus kommt ein analytischer Trade-Schedule — eine Volumen- Über-Zeit-Kurve, die Sie über die Ausführungs-Periode legen.

Permanent vs. Temporary Impact.

Das Modell unterscheidet zwei Arten von Market-Impact, die im realen Markt empirisch separierbar sind:

Der temporary Impact ist der eigentliche Hebel: er hängt von der Geschwindigkeit ab, mit der gehandelt wird. Wer langsamer handelt, zahlt weniger temporary Impact — aber mehr Timing-Risiko.

Die analytische Lösung.

Im linearen Almgren-Chriss-Setup mit konstanter Volatilität ist die optimale Trade- Trajektorie ein hyperbolischer Sinus:

import numpy as np

def almgren_schedule(X, T, n_steps, sigma, eta, lambda_risk):
    """
    X: Gesamtmenge
    T: Gesamtzeit
    n_steps: Anzahl Diskretisierungs-Schritte
    sigma: Volatilität
    eta: Temporary-Impact-Parameter
    lambda_risk: Risiko-Aversion
    """
    kappa = np.sqrt(lambda_risk * sigma ** 2 / eta)
    t = np.linspace(0, T, n_steps + 1)
    # Restbestand zur Zeit t
    holdings = X * np.sinh(kappa * (T - t)) / np.sinh(kappa * T)
    # Trade pro Step
    trades = -np.diff(holdings)
    return t, holdings, trades

Der Parameter κ steuert die Form der Kurve. Bei niedrigem Risiko (lambda_risk → 0) wird die Kurve linear — Sie handeln gleichmäßig über die Zeit (TWAP). Bei hohem Risiko (lambda_risk → ∞) wird die Kurve steil — Sie handeln früh, um das Timing-Risiko zu reduzieren.

VWAP und TWAP als Spezialfälle.

TWAP (Time-Weighted Average Price) ist der Almgren-Schedule für den Spezialfall: lineare Kosten, kein Risikoterm. Sie handeln pro Zeitintervall gleich viel. Sehr einfach, sehr robust, aber ignoriert das Volumen-Profil des Marktes.

VWAP (Volume-Weighted Average Price) gewichtet den Trade-Schedule mit dem historischen Intraday-Volumen-Profil. In den meisten Märkten gibt es einen U-förmigen Volumen-Tag: viel Volumen morgens und abends, weniger mittags. VWAP folgt diesem Profil, damit Ihre Trades immer einen ähnlichen Anteil am Volumen haben. VWAP ist nicht Almgren-optimal — er minimiert nicht die Kosten, sondern misst den eigenen Trade gegen einen Benchmark.

In der Praxis: TWAP für kleine Orders ohne Impact-Sorge, VWAP für mittlere Orders mit Benchmark-Anforderung, Almgren für große Orders, wo Kostenminimierung das primäre Ziel ist.

Implementation Shortfall: der eigentliche Benchmark.

Implementation Shortfall (Perold, 1988) misst die Differenz zwischen dem Preis im Moment der Entscheidung (Arrival-Price) und dem tatsächlich realisierten Ausführungspreis. Das ist die Metrik, die für die meisten Buy-Side-Manager zählt — denn der Arrival-Price ist der Preis, zu dem das Signal generiert wurde, und alles danach ist Ausführungskosten.

Almgren-Chriss minimiert IS-Erwartung + risikoaversen IS-Varianz-Term. Wer stattdessen gegen VWAP gemessen wird, optimiert ein anderes Problem — und kann (siehe VWAP-Gaming) beides nicht gleichzeitig gewinnen.

Limit-Order-Placement: Cont-Stoikov und Avellaneda-Stoikov.

Almgren-Chriss sagt Ihnen wie viel Sie pro Zeitintervall handeln sollen. Es sagt Ihnen nicht, wie Sie diese Tranche platzieren. Hier kommt die zweite Generation: Avellaneda-Stoikov (2008) für Market-Making und Cont-Stoikov-Modelle für aggressives vs. passives Routing.

Avellaneda-Stoikov: ein Market-Maker setzt Quotes asymmetrisch um den Mid-Price, abhängig von eigener Inventur und Restzeit. Mathematisch eine Stochastic-Control-Lösung mit explizitem Optimal-Spread und Inventory-Skew. Für Execution-Optimierung lassen sich daraus Regeln ableiten: wenn die Restzeit knapp wird, aggressiv übers Mid hinaus tradern; wenn Restzeit reicht, passiv platzieren.

Das ist mathematisch elegant, in der Realität aber stark broker- und venue-abhängig. In den meisten Setups ist es sinnvoller, das Routing dem Broker zu überlassen und nur den makro-Schedule (Almgren) selbst zu berechnen.

Konkrete Umsetzung mit IBKR Algo-API.

Interactive Brokers bietet eine Reihe vorgefertigter Execution-Algos (TWAP, VWAP, Adaptive, etc.) über die Algo-API. Für einen Almgren-ähnlichen Schedule können Sie die Adaptive Algo nutzen, die intern eine ähnliche Optimierung durchführt, oder Sie schicken Ihren eigenen Schedule als Sequenz von Child-Orders. Letzteres gibt Ihnen volle Kontrolle, aber Sie tragen die Verantwortung für sauberes Routing.

Praxis: Bei Orders über 10 % ADV (Average Daily Volume) lohnt sich ein eigener Almgren-Schedule, das Sub-Second-Routing pro Tranche bleibt beim Broker. Unter 10 % ADV genügt meist der Standard-Adaptive-Algo des Brokers — der Mehrwert eigener Optimierung ist dort gering, das Fehlerrisiko aber real.

Erweiterungen jenseits Almgren.

Das Original-Almgren-Chriss-Modell hat klare Grenzen: lineare Impact-Funktionen, konstante Volatilität, ein Asset. Spätere Arbeiten haben das in mehreren Richtungen erweitert:

Für die meisten Setups reicht das lineare Modell mit empirisch kalibrierten Parametern. Komplexere Erweiterungen lohnen sich erst, wenn die einfache Variante saubere Implementation Shortfall-Statistiken liefert.

In der Praxis.

Bei Orders über 10 % des täglichen Volumens lohnt ein eigener Almgren-Schedule. Inputs: realisierte Volatilität der letzten 20 Tage, geschätztes η aus historischen eigenen Trades, Risiko-Aversion entsprechend dem Strategie- Horizont. Output: eine 20–30-Punkt-Schedule, die als Sequenz von Child-Orders an den Broker geht.

Unter 10 % ADV reichen Broker-Algos. Über 30 % ADV ist es sinnvoll, Trades über mehrere Tage zu verteilen oder die Position-Size der Strategie zu reduzieren. Als Größenordnung: konsistent Almgren zu fahren kann bei großen Trades 5–15 Basispunkte Implementation Shortfall gegenüber naivem VWAP sparen — bei einem 100-Millionen-Portfolio mit mittlerem Turnover sind das keine Peanuts.

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 führen regelmäßig große Orders aus und wollen wissen, wie viel Sie aktuell an Slippage verlieren? Unverbindlich anfragen — wir messen es konkret. Mehr zu meinem Angebot: Trading-Systeme entwickeln lassen.