← Alle Insights

Index-Arbitrage und ETFs: NAV-Spreads, Rebalancings, Basis-Trades.

ETFs sind heute der Klebstoff der globalen Aktienmärkte — und genau deshalb sind sie für Statistical-Arbitrage-Strategien so interessant. Wo Indexgewichte mechanisch umverteilt werden, wo NAVs minutenscharf von Markt-Preisen abweichen, entstehen wiederkehrende Mikro-Ineffizienzen, die sich systematisch ausnutzen lassen.

Drei Hebel der Index-Arbitrage.

Der Begriff „Index-Arbitrage" wird inflationär gebraucht. Tatsächlich sind es drei ziemlich verschiedene Strategieklassen mit unterschiedlichen Risiko-Profilen und Kapazitäten:

Für den Mittelständler-Quant ist Punkt 2 der profitabelste, weil die Edge nicht in Mikrosekunden, sondern in Tagen liegt — und weil das Kapital eines $100M-Funds dort sehr wohl noch eine Rolle spielt.

NAV-Premium-Trading: die Mikro-Mechanik.

Jeder ETF hat einen indikativen NAV (iNAV), der alle 15 Sekunden veröffentlicht wird und den theoretischen Fair Value pro Anteil darstellt. Marktpreise weichen davon ab — mal nur Basispunkte, mal mehrere Prozent. Authorized Participants (APs) sorgen über Creation/Redemption für Mean Reversion, brauchen dafür aber Mindest-Spreads, die ihre Kosten decken.

Die handelbare Edge liegt in der Lücke zwischen „NAV-Abweichung groß genug, um zu traden" und „NAV-Abweichung groß genug, dass APs eingreifen". Bei US-Equity-ETFs sind das oft 5–15 bps. Bei internationalen oder Emerging-Market-ETFs, deren Underlyings während US-Handelszeit geschlossen sind, sind es 50–200 bps.

import pandas as pd

def nav_premium_signals(etf_price, inav, entry_bps=15, exit_bps=3):
    """
    Long-Short-Signale auf NAV-Premium.
    Long ETF wenn Discount > entry_bps (ETF unter NAV).
    Short ETF wenn Premium > entry_bps.
    """
    premium_bps = (etf_price / inav - 1) * 1e4

    pos = pd.Series(0, index=etf_price.index)
    pos[premium_bps > entry_bps] = -1
    pos[premium_bps < -entry_bps] = 1

    # Position halten bis Annäherung an Null
    pos = pos.replace(0, pd.NA).ffill().fillna(0)
    pos[premium_bps.abs() < exit_bps] = 0
    return pos, premium_bps

Wichtig: Der iNAV ist nicht perfekt — er kann selbst stale sein, vor allem bei internationalen Baskets. Robuste Setups konstruieren den eigenen Fair-Value aus den Underlying-Preisen plus FX-Korrektur, statt sich auf den offiziellen iNAV zu verlassen.

Rebalancing-Arbitrage: der vorhersehbare Flow.

Indexanbieter veröffentlichen Aufnahmen und Löschungen Tage bis Wochen vor dem effektiven Datum. Wenn eine Aktie in den S&P 500 aufgenommen wird, müssen sämtliche Index-Tracker sie kaufen — am Schlusskurs des Effektivdatums. Das ist mechanischer, vorhersehbarer Kaufdruck mit einer typischen Magnitude von 5–15 % des durchschnittlichen Tagesvolumens, in manchen Fällen weit mehr.

Die klassische Strategie: zwischen Ankündigung und Effektivdatum die Aktie long (gegen einen Hedge wie SPY oder Sektor-ETF short) — und am Effektivdatum auf den Mass-on-Close auflösen. Akademische Studien (z. B. Chen, Noronha, Singal 2004) dokumentieren historisch durchschnittliche Outperformance von 5–9 % zwischen Ankündigung und Effektivdatum.

Heute ist die Edge deutlich kleiner — alle wissen es, alle handeln es. Aber sie ist nicht weg. Subtilere Varianten:

Basket-Replication: warum es schwer geworden ist.

Klassisch: ETF wird zu teuer relativ zum Basket aus Underlyings → ETF short, Basket long. Sobald die Differenz konvergiert, beide Seiten schließen. Klingt einfach, ist es aber operativ nicht: 500 Underlyings gleichzeitig handeln, FX-Hedge, Dividenden- Antizipation, Stock-Lend für die Short-Seite.

Heute sind die Spreads bei großen liquiden ETFs (SPY, IWM, EEM) so eng, dass das nur mit Co-Location und sub-Millisekunden-Execution Geld macht. Für mittelgroße europäische, asiatische oder Sektor-ETFs gibt es noch Restspreads — aber selbst dort hat sich die Edge in den letzten fünf Jahren um Faktor 3–5 reduziert.

Sinnvoller für nicht-HFT-Setups: keine perfekte Replication, sondern Proxy-Hedge. Sie shorten einen Sektor-ETF und longen 5–10 sorgfältig gewählte Hauptkomponenten — der Tracking-Error ist höher, aber die Implementierung machbar, und die Kapazität ist deutlich größer als bei reinem Speed-Trading.

Implementierungs-Skizze.

import numpy as np
import pandas as pd

def rebalancing_trade(announcement_date, effective_date, ticker,
                      prices, hedge_etf, capital, alpha_target=0.02):
    """
    Vereinfachte Rebalancing-Strategie.
    - Entry am Tag nach Announcement
    - Exit am Schlusskurs Effective Date
    """
    entry = announcement_date + pd.Timedelta(days=1)
    exit_ = effective_date

    p_entry = prices.loc[entry, ticker]
    p_exit = prices.loc[exit_, ticker]
    h_entry = prices.loc[entry, hedge_etf]
    h_exit = prices.loc[exit_, hedge_etf]

    # Dollar-Neutral Position
    shares_long = capital / p_entry
    shares_short = capital / h_entry

    pnl_long = shares_long * (p_exit - p_entry)
    pnl_short = -shares_short * (h_exit - h_entry)
    total_pnl = pnl_long + pnl_short

    # Kosten (Beispiel: 8 bps Round-Trip pro Seite)
    cost = 2 * capital * 0.0008
    return total_pnl - cost, (total_pnl - cost) / capital

Die Strategie sieht trivial aus — der Aufwand liegt im Datenmanagement: rechtzeitig an die Ankündigung kommen, Index-Methodologie verstehen, Borrow-Verfügbarkeit für die Short-Seite des Hedge sicherstellen, Order-Execution am Volume-Day glatt durch den Markt bekommen.

Risiken und realistische Renditen.

Index-Arbitrage gilt als „risikoarm" — bis sie es nicht ist. Drei Risiken, die selten adressiert werden:

Realistische Renditen für ein gut gemachtes Setup mit moderatem Kapital (10–50 Mio USD): 8–14 % p. a. mit Sharpe um 1,5 und max. Drawdown unter 5 %. Das ist unspektakulär, aber wenig korreliert mit Equity-Markt und Equity-Long-Strategien — genau der Diversifikationswert, den Stat-Arb in einem Portfolio liefern soll.

Was Sie konkret tun können.

Wenn Sie Index-Arbitrage testen wollen, starten Sie mit Rebalancing — nicht mit NAV-Premium oder Basket-Replication. Datenbasis: historische S&P-500-Inclusions der letzten 10 Jahre (etwa 250 Events) sind ein guter Backtest-Pool. Hedge gegen SPY, Equal-Weight-Sizing, einfache Entry/Exit-Regeln. Lassen Sie Kosten und Slippage realistisch — mindestens 15 bps Round-Trip.

Wenn die Backtest-Statistik gut aussieht, validieren Sie out-of-sample auf Russell-Rebals und MSCI-Reviews. Erst dann skalieren Sie auf weitere Index-Familien. Bei uns hat sich gezeigt: ein gut gepflegtes Universum von 8–12 unterschiedlichen Index-Events pro Jahr liefert über die Zeit deutlich konsistentere Returns als jeder Pairs-Trading-Versuch.

Sie wollen ein Index-Arbitrage-Setup aufbauen oder ein bestehendes ETF-basiertes Stat-Arb-Setup überprüfen? Erstgespräch buchen — wir bauen die Datenpipeline, das Event-Universum und die Live-Execution.