← Alle Insights

VIX Futures Rolling: Contango, Tail, Realität.

Der VIX ist kein Future. Der VIX ist ein Index, der die implizite 30-Tage-Volatilität des S&P 500 misst — und an sich nicht handelbar. Handelbar sind nur Futures auf den VIX und ETFs/ETNs, die diese Futures wiederum rollen. Wer das nicht verstanden hat, kauft ein „Volatilitäts-Hedge", der in 80 % der Zeit Geld verbrennt. Hier ist, was die Term-Structure am VIX wirklich bedeutet und wie sie systematisch handelbar ist.

Warum der Spot-VIX nicht handelbar ist.

Der VIX selbst ist ein Berechnungswert aus den Preisen von S&P-500-Optionen mit unterschiedlichen Strikes. Es gibt keinen „VIX-Bestand", den man halten könnte. Handelbar sind:

Term-Structure: das einzig wichtige Konzept.

Wenn Sie nichts anderes vom VIX mitnehmen: schauen Sie sich die Term-Structure an — die Preise der nächsten 6–8 monatlichen Kontrakte gegeneinander. Sie zeigen, was der Markt für die Volatilität in jedem Monat erwartet.

In Contango verliert ein Long-VIX-Future systematisch Geld, allein durch das Rollen. Ein Future bei 20 läuft auf den Spot-VIX bei z.B. 16 zu — über die Zeit fällt sein Preis Richtung Spot, alles andere gleich. Genau das ist der Grund, warum VXX in normalen Märkten ein langfristiger Geld-Verbrenner ist und in fast jedem Jahr 60–80 % seines Werts verliert.

Roll-Yield als die zentrale Größe.

Die Roll-Yield ist der prozentuale Unterschied zwischen Spot und Front-Month-Future, oder zwischen aufeinanderfolgenden Future-Kontrakten. Wer Long-Vol-Positionen hält, verliert in Contango-Phasen täglich proportional zur Roll-Yield. Wer Short-Vol-Positionen hält, vereinnahmt sie — bis Backwardation einsetzt, dann implodiert die Position innerhalb von Tagen.

import pandas as pd
import numpy as np

def vix_term_structure(
    futures_curve: pd.DataFrame,  # Zeilen = Datum, Spalten = M1, M2, ...
    spot_vix: pd.Series,
) -> pd.DataFrame:
    """
    Liefert pro Tag Contango/Backwardation-Kennzahlen.
    """
    m1 = futures_curve["M1"]
    m2 = futures_curve["M2"]
    contango_m1_spot = (m1 / spot_vix) - 1
    contango_m2_m1 = (m2 / m1) - 1

    regime = pd.cut(
        contango_m1_spot,
        bins=[-np.inf, -0.05, 0.0, 0.05, np.inf],
        labels=["strong_bw", "mild_bw", "mild_contango", "strong_contango"],
    )

    return pd.DataFrame({
        "m1_minus_spot_pct": contango_m1_spot,
        "m2_minus_m1_pct": contango_m2_m1,
        "regime": regime,
    })

Strategie: systematisches Short-Vol mit Tail-Schutz.

Die historisch profitabelste, aber gleichzeitig gefährlichste VIX-Strategie ist systematisches Short-Front-Month, also long SVXY oder gleichwertige Konstruktionen. Sie vereinnahmt die Roll-Yield, performt monatelang reibungslos — und wird in einem Vol-Spike wie Februar 2018 (XIV-Implosion) in einer einzigen Session vernichtet, wenn sie nicht abgesichert ist.

Die einzige verantwortungsvolle Variante: Short-Vol nur bei eindeutigem Contango, mit hartem Stop bei Backwardation-Eintritt, und mit gekauftem OTM-Call-Schutz (entweder auf VIX-Future oder auf eine Long-Vol-Position). Konkret:

def short_vol_signal(
    ts: pd.DataFrame,
    contango_entry: float = 0.05,
    contango_exit: float = 0.0,
) -> pd.Series:
    """
    Long SVXY-aehnliche Position, wenn M1/Spot > 5% Contango.
    Glattstellen, wenn Contango unter 0%.
    """
    signal = pd.Series(0, index=ts.index, dtype=float)
    pos = 0
    for t, row in ts.iterrows():
        if pos == 0 and row["m1_minus_spot_pct"] > contango_entry:
            pos = 1
        elif pos == 1 and row["m1_minus_spot_pct"] < contango_exit:
            pos = 0
        signal.loc[t] = pos
    return signal

Strategie: VIX als Filter für andere Strategien.

Ich nutze die Term-Structure persönlich weniger als eigene Trading-Strategie, sondern primär als Regime-Filter für andere Strategien. Konkret:

Was die ETPs wirklich tun.

Sehr verbreitete Konstruktion: VXX hält täglich eine gewichtete Position aus M1 und M2, gewichtet so, dass die durchschnittliche Laufzeit konstant bei 30 Tagen bleibt. Tag für Tag wird ein Stück M1 verkauft und in M2 umgeschichtet. In Contango bedeutet das: jeden Tag teurer einkaufen, billiger verkaufen. Genau das ist der strukturelle Verlust.

UVXY macht dasselbe, gehebelt 1.5x. SVXY macht das Inverse, entspricht also einer systematischen Short-Vol-Position. VIXY ist funktional fast identisch mit VXX. Wer einen dieser ETPs „kurzfristig" hält, sollte wissen: kurzfristig kann beim VIX bedeuten „ein paar Tage", weil schon innerhalb einer Woche signifikante Roll-Verluste anfallen können.

Tail-Risiken sind keine Theorie.

Februar 2018: XIV-Implosion, das ETN-Pendant zu SVXY, verlor in einer einzigen Session 96 % seines Werts und wurde abgewickelt. März 2020: VIX stieg von 14 auf über 82 in vier Wochen, jede Short-Vol-Position ohne Stops wurde vernichtet. August 2024: Yen-Carry- Unwind ließ den VIX in einer einzigen Sitzung auf über 65 springen.

Niemand, der eine Short-Vol-Strategie ohne Tail-Hedge fährt, hat sein Risiko verstanden. Wenn die letzte XIV-ähnliche Implosion sechs Jahre her ist, ist die nächste ein paar Jahre näher — nicht weiter weg. Mein Rahmen: ich akzeptiere für eine Short-Vol-Position maximal 1 % des Konto-Kapitals als möglichen Tail-Verlust an einem einzigen Tag. Das bedeutet sehr kleine nominale Positionen plus gekaufter OTM-Call-Schutz auf VIX-Futures.

Praktische Notwendigkeiten.

VIX-Futures werden an der CFE (CBOE Futures Exchange) gehandelt. Ein Kontrakt entspricht 1.000 USD pro VIX-Punkt — bei VIX 20 also ein Nominalwert von 20.000 USD. Mini-VIX-Futures (VXM) sind 1/10 dieser Größe. Margins schwanken stark mit dem Spot-VIX: in ruhigen Zeiten 5.000–8.000 USD, in Stress-Phasen schnell 15.000+ USD.

Datenquellen: CBOE veröffentlicht Settlement-Preise täglich, intraday-Daten kommen über die üblichen institutionellen Feeds. Wichtig: historische Term-Structure-Daten saubererweise von CBOE direkt — kostenlose Quellen sind oft inkonsistent oder enthalten Settlement-Errors.

Sie wollen Volatilitäts-Strategien sauber in Ihr Portfolio integrieren, ohne sich an einem Vol-Spike die Finger zu verbrennen? Erstgespräch buchen — wir gehen Tail-Risiko und Sizing gemeinsam durch.