Graph Neural Networks im Trading: Asset-Beziehungen lernen.

Klassische ML-Modelle behandeln Aktien wie unabhängige Zeitreihen. Aber Märkte sind ein Netz — Apple und Foxconn hängen zusammen, Banken-Aktien teilen sich Zinsrisiko, Auto-Hersteller einen Halbleitermarkt. Graph Neural Networks modellieren diese Topologie direkt.

Wer ein Cross-Asset-Setup baut, steht vor der naheliegenden Frage: wie modelliere ich, dass Asset A Asset B beeinflusst? Korrelationen helfen, sind aber statisch und übersehen kausale Strukturen. Graph Neural Networks (GNNs) sind die ML-Antwort auf dieses Problem — und sie haben in den letzten Jahren erstaunlich brauchbare Ergebnisse geliefert.

Die Idee: Aktien als Knoten.

In einem Aktien-Graph sind die Knoten einzelne Wertpapiere und die Kanten Beziehungen zwischen ihnen. Welche Beziehungen sinnvoll sind, ist die zentrale Design-Entscheidung — dazu gleich mehr. Jeder Knoten hat einen Feature-Vektor (z. B. die letzten 30 Returns, Volumen, Volatilität). Jede Kante hat optional Gewichte (z. B. Korrelations­stärke).

Ein GNN lernt, wie Information entlang dieser Kanten fließt. Bei jedem Layer aggregiert ein Knoten Information von seinen Nachbarn — und nach mehreren Layern enthält die Repräsentation eines Knotens Information aus dem gesamten Sub-Graph in seiner k-Nachbarschaft.

Welche Kanten?

Die Kunst ist die Graph-Konstruktion. Vier gängige Ansätze:

Ich kombiniere in der Regel zwei oder drei Quellen. Sektor + Supply-Chain + dynamische Korrelation gibt einen hybriden Graph, der robust gegen Daten-Rausch ist und trotzdem aktuelle Marktstruktur erfasst.

GCN vs. GAT.

Zwei Hauptarchitekturen:

Graph Convolutional Network (GCN)

Aggregiert die Nachbar-Features als gewichteter Mittelwert (Gewichte aus der Adjazenz-Matrix). Einfach, schnell, aber alle Nachbarn werden gleich behandelt (modulo statischer Kantengewichte). Gut als Baseline.

Graph Attention Network (GAT)

Lernt für jede Kante eine Attention-Gewichtung — wie wichtig ist Nachbar B für Knoten A? Das ist flexibler und in den meisten Trading-Anwendungen besser, weil die Beziehungsstärke zwischen Aktien je nach Marktphase variiert. Apple und Nvidia sind in Bull-Phasen stark gekoppelt, in Bear-Phasen weniger.

Studie: Feng et al. 2019.

Eine der zitierten Arbeiten im Bereich ist Feng et al., „Temporal Relational Ranking for Stock Prediction“ (2019). Sie kombinieren ein LSTM für die Zeitserien-Komponente mit einer Graph-Layer für Cross-Asset-Beziehungen. Auf NYSE- und NASDAQ-Daten berichten sie bessere Ranking- und Renditekennzahlen als LSTM-only Baselines.

Das ist nicht spektakulär, aber messbar, und es ist auf realen Daten. Nachfolgearbeiten (z. B. Kim et al. 2019, Sawhney et al. 2020) weisen in eine ähnliche Richtung — sofern der Graph sinnvoll konstruiert ist.

Implementation mit PyTorch Geometric.

# Einfaches GAT-Modell für Stock-Forecasting
import torch
import torch.nn as nn
from torch_geometric.nn import GATConv

class StockGAT(nn.Module):
    def __init__(self, in_features, hidden=64, heads=4, out_features=1):
        super().__init__()
        self.lstm = nn.LSTM(input_size=in_features, hidden_size=hidden,
                            batch_first=True, num_layers=2)
        self.gat1 = GATConv(hidden, hidden, heads=heads, dropout=0.2)
        self.gat2 = GATConv(hidden * heads, hidden, heads=1,
                            concat=False, dropout=0.2)
        self.head = nn.Linear(hidden, out_features)

    def forward(self, x_seq, edge_index, edge_attr=None):
        # x_seq: [N_assets, seq_len, in_features]
        _, (h, _) = self.lstm(x_seq)
        h = h[-1]                            # [N_assets, hidden]
        h = torch.relu(self.gat1(h, edge_index, edge_attr))
        h = self.gat2(h, edge_index, edge_attr)
        return self.head(h).squeeze(-1)      # Return-Forecast pro Asset

# Training-Loop
model = StockGAT(in_features=8)
optim = torch.optim.AdamW(model.parameters(), lr=1e-3)
for X, edges, y in train_loader:
    pred = model(X, edges)
    loss = nn.functional.mse_loss(pred, y)
    loss.backward()
    optim.step()
    optim.zero_grad()

Dynamische Graphs.

Statische Graphs sind ein guter Startpunkt, aber Beziehungen ändern sich. Tesla war früher mit Auto-Herstellern korreliert — heute mehr mit Tech-Wachstumsaktien. Ein moderner Ansatz: Temporal Graph Networks (TGN), die für jeden Zeitpunkt einen eigenen Graph nutzen.

Pragmatisch: ich aktualisiere Korrelations­kanten alle 20 Tage neu (rolling 60-Tage-Korrelation, Schwelle 0.4). Sektor- und Supply-Chain-Kanten sind statisch oder werden quartalsweise aktualisiert. Das ist nicht „state of the art“, aber es funktioniert in der Praxis und ist erklärbar.

Anwendungen.

Caveat: Graph-Konstruktion ist Kunst.

Der schwierigste Teil ist nicht die GNN-Architektur — die ist mit PyTorch Geometric in 50 Zeilen Code. Der schwierigste Teil ist die Graph-Konstruktion. Falsche Kanten verschmieren Signal, fehlende Kanten ignorieren echte Information. Es gibt keine etablierte „richtige“ Methode, und jede Universums-/Marktphasen-Kombination braucht eigene Validierung.

Mein pragmatischer Test: ablation. Ich trainiere das GNN mit unterschiedlichen Graph-Konstruktionen und vergleiche die OOS-Performance. Wenn ein „random graph“ (zufällige Kanten gleicher Dichte) ähnlich gut performt wie der hand-gebaute, ist die Graph-Information wertlos und das GNN ist ein verkappter MLP mit Extra-Schritten.

Meine Praxis.

Ich nutze GNNs nicht als Stand-Alone-Strategie. Ich nutze sie als Feature-Extractor: das GNN erzeugt für jede Aktie ein 32- oder 64-dimensionales Embedding, das die aktuelle Marktstruktur kondensiert. Diese Embeddings landen dann als Features in einem klassischen Klassifizierer (LightGBM, eventuell mit Triple-Barrier-Labels und Meta-Labeling-Architektur).

Der Vorteil dieser Architektur: das GNN liefert die Cross-Asset-Information, die klassische Modelle nicht haben. Die finale Entscheidungs-Schicht bleibt aber interpretierbar — ich kann mit SHAP-Werten zeigen, welche Embedding-Dimensionen einen Trade auslösen. Reines End-to-End-GNN- Trading habe ich noch nicht in Produktion gesehen, das nicht von gravierenden Overfitting- Problemen geplagt war.

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 haben ein Cross-Asset-Universum und vermuten, dass Strukturen Mehrwert bringen könnten? Unverbindlich anfragen — wir prüfen, ob ein GNN-Ansatz tragfähig ist. Mehr zu meinem Angebot: Trading-Systeme entwickeln lassen.