KI für Bond-Markets: was bei Anleihen wirklich funktioniert.

Die meisten KI-Trading-Beiträge handeln von Aktien. Bonds bekommen einen Bruchteil der Aufmerksamkeit — und das, obwohl der globale Anleihenmarkt in derselben Größenordnung liegt wie der Aktienmarkt. Ein Grund dafür: Bonds sind technisch unangenehm. Die gute Nachricht ist, dass genau diese Unannehmlichkeiten Machine Learning eine echte Nische bieten, sobald man die Eigenheiten verstanden hat.

Warum Bonds anders sind als Aktien.

Wer aus dem Equity-Trading kommt und denselben Werkzeugkasten auf Anleihen anwendet, scheitert verlässlich. Drei Gründe:

Wer das ignoriert und LSTM auf TLT-Daten wirft, bekommt das übliche Ergebnis: ein Modell, das im Backtest funktioniert, weil es Zinsänderungen einen Tag vorhersagt, die in den Trainingsdaten leicht vorgehen — und live nichts mehr liefert.

Yield-Curve-Forecasting: der dankbarste Use-Case.

Die Zinsstrukturkurve ist gut messbar, täglich verfügbar und hat eine begrenzte Anzahl sinnvoller Treiber. Klassisch: Nelson-Siegel-Svensson zerlegt die Kurve in Level, Slope und Curvature. Diese drei Faktoren erklären in den allermeisten Zeiträumen mehr als 95 % der Varianz. Genau das macht sie zu einer dankbaren ML-Zielgröße — nicht den absoluten Yield, sondern die Faktoren.

Ein typischer Ansatz:

import pandas as pd
import numpy as np
from sklearn.ensemble import GradientBoostingRegressor

# Treasury-Yields aus FRED (DGS1, DGS2, DGS5, DGS10, DGS30)
yields = pd.read_csv("treasury_yields.csv", parse_dates=["date"], index_col="date")

# Nelson-Siegel-Faktoren als Zielgrößen
ns = compute_nelson_siegel(yields)  # Level, Slope, Curvature

# Features: Macro + Marktstress + Fed-Signale
X = pd.concat([
    macro_features(),       # CPI, Unemployment, ISM, etc.
    stress_features(),      # VIX, MOVE, TED-Spread
    fed_text_features(),    # NLP-Embeddings aus FOMC-Minutes
], axis=1).dropna()

y_slope = ns["slope"].shift(-5)  # 5-Tages-Forecast
model = GradientBoostingRegressor(n_estimators=400, max_depth=3)
model.fit(X.loc[:"2023"], y_slope.loc[:"2023"])

Realistische Out-of-Sample-Erwartung für einen 5-Tages-Slope-Forecast: R² zwischen 0,05 und 0,12. Das klingt mager, ist aber in dem Kontext brauchbar. Wenn das Modell nur in den 30 % der Fälle mit höchster Konfidenz traded, bleibt eine echte Information-Ratio übrig. Wer deutlich höhere Werte verspricht, hat irgendwo Look-Ahead.

NLP für Fed- und EZB-Statements.

Hier ist der Aufwand klein, der Nutzen real. Statements und Pressekonferenzen der wichtigsten Notenbanken sind die größten exogenen Treiber von Zinsbewegungen. Ein LLM kann Statement-Veränderungen quartalsweise extrahieren — was wurde gestrichen, was neu hinzugefügt, welcher Tonfall ist die Forward Guidance.

Ein bewährter Aufbau besteht aus zwei Pipelines: eine misst die kosinusähnliche Distanz zwischen aufeinanderfolgenden FOMC-Statements und kürzt den Datensatz auf jene Sitzungen, in denen die Distanz im obersten Dezil lag. In solchen Fällen ist die Marktreaktion in den Folgetagen typischerweise größer — das ist ein klassisches Volatilitäts-Signal, kein Direktions-Signal. Die zweite Pipeline lässt Claude ein strukturiertes JSON über jedes Statement erzeugen: Inflations-Ton (hawkish/neutral/dovish), Arbeitsmarkt-Ton, Forward-Guidance-Festigkeit. Diese drei Skalen gehen als zusätzliche Features in das Yield-Curve-Modell.

Wichtig: ich verwende dafür immer dieselbe Prompt-Vorlage, denselben Modell-Snapshot und speichere jeden Roh-Output. Sonst bekommt man Look-Ahead durch Modell-Updates — der unsichtbarste und teuerste Fehler in NLP-Backtests.

Credit-Spread-Prediction mit Random Forests.

Bei Investment-Grade- und High-Yield-Spreads funktionieren Tree-Modelle besser als neuronale Netze. Der Grund ist banal: die Trainingsdaten sind klein. Selbst mit 25 Jahren täglicher CDX-IG- und CDX-HY-Daten reden wir über etwa 6 000 Datenpunkte. Deep Learning braucht Größenordnungen mehr.

Mein Standard-Setup für 20-Tages-Forecasts von HY-Spreads nutzt diese Features:

Eine Random-Forest-Regression mit rollierender Trainings-Window-Validierung liefert ehrlich gerechnet ein R² um 0,15 bei 20 Tagen Horizont. Das Modell ist nicht für Punkt-Forecasts gut, sondern um Schwellenwert-Signale zu erzeugen: „Wann ist die Wahrscheinlichkeit, dass Spreads in den nächsten 20 Tagen um mehr als 50 bp ausweiten, im obersten Quintil?“ Solche Schwellenwert-Signale eignen sich zum Beispiel als Baustein für ein regelbasiertes Drawdown-Hedging.

Datenquellen — was wirklich brauchbar ist.

Ich nutze für reine Research-Projekte fast ausschließlich FRED plus EZB-Daten. Erst wenn ein Modell live geht, kommt teurer Datenfeed dazu.

Konkretes Python-Setup für den täglichen Lauf.

Eine schlanke Pipeline für tägliche Yield-Curve- und Spread-Forecasts:

# pipeline.py — täglicher Lauf um 23:00 UTC
import pandas as pd
from fredapi import Fred
from joblib import load

fred = Fred(api_key=API_KEY)

def fetch_yields():
    series = ["DGS3MO","DGS2","DGS5","DGS10","DGS30","BAMLH0A0HYM2","VIXCLS"]
    df = pd.concat({s: fred.get_series(s) for s in series}, axis=1)
    return df.ffill().dropna()

def make_features(df):
    f = pd.DataFrame(index=df.index)
    f["slope_2_10"] = df["DGS10"] - df["DGS2"]
    f["hy_spread"] = df["BAMLH0A0HYM2"]
    f["hy_chg_20"] = df["BAMLH0A0HYM2"].diff(20)
    f["vix"] = df["VIXCLS"]
    f["vix_z"] = (df["VIXCLS"] - df["VIXCLS"].rolling(252).mean())
    return f.dropna()

def forecast():
    df = fetch_yields()
    X = make_features(df).iloc[[-1]]
    model = load("models/hy_spread_20d.joblib")
    pred = model.predict(X)[0]
    return {"date": df.index[-1].isoformat(), "pred_hy_chg_20d": float(pred)}

if __name__ == "__main__":
    out = forecast()
    print(out)

Der gesamte Lauf dauert unter 30 Sekunden, schickt das Ergebnis per Mail und schreibt es in eine SQLite-Datei für die Forecast-Historie. Das Modell-Retraining läuft wöchentlich am Sonntag, ebenfalls automatisiert.

Ehrliche Erwartung an die Performance.

Wer hofft, mit ML ein Bond-Trading-System zu bauen, das Sharpe 2 schießt, wird enttäuscht. Bonds sind diversifizierter, langsamer und in vielen Segmenten stärker durch Notenbanken getrieben als durch Marktteilnehmer. Was realistisch geht:

Jede dieser Anwendungen kann für sich genommen einen kleinen Beitrag leisten — nicht spektakulär, und ob er nach Kosten Bestand hat, muss ein sauberer Backtest im Einzelfall zeigen. Garantien gibt es dabei nicht.

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 Bond-Forecasting als Software-Baustein in Ihre Datenpipeline oder Ihr Trading-System einbauen? Unverbindlich anfragen — ich zeige Ihnen, wo sich der Entwicklungsaufwand lohnt und wo nicht. Mehr zu meinem Angebot: Trading-Systeme entwickeln lassen.