← Alle Insights

Embeddings im Trading: Asset-Similarity ohne Korrelationen.

Korrelation ist seit Jahrzehnten das Standard-Werkzeug, um Ähnlichkeit zwischen Assets zu messen. Sie ist linear, oft instabil und blind für alles, was in qualitativen Daten steckt. Embeddings sind das, was zwischen Sprachmodellen und Quant-Welt liegt — Vektor-Repräsentationen, die Ähnlichkeit über Eigenschaften abbilden, die in Renditen-Zeitreihen nicht stehen.

Was Embeddings eigentlich sind.

Ein Embedding ist nichts anderes als ein dichter Vektor — typischerweise 256 bis 1.536 Dimensionen — der ein Objekt (ein Wort, einen Satz, ein Unternehmen, einen Markt-Tag) so kodiert, dass semantisch ähnliche Objekte im Vektor-Raum nah beieinander liegen. Die „Nähe" wird üblicherweise über Cosine-Similarity gemessen, also über den Winkel zwischen den Vektoren, nicht über deren Länge.

Im Trading interessiert nicht das Wort-Embedding, sondern: Wie kann ich ein Asset, eine Strategie oder einen Markt-Zustand als Vektor darstellen, sodass „ähnlich" eine sinnvolle Operation wird? Die Antwort hängt davon ab, was Sie als „ähnlich" definieren wollen.

Drei Wege, ein Asset zu embedden.

In der Praxis nutze ich drei Quellen für Asset-Embeddings, abhängig vom Use-Case:

  1. Text-basiert: Geschäftsberichte, 10-K-Filings, Earnings-Calls werden durch ein Pre-Trained-Modell wie FinBERT, OpenAI text-embedding-3-large oder Voyage finance-2 geschickt. Das resultierende Embedding kodiert, worüber das Unternehmen spricht. NVDA und AMD landen nahe, auch wenn ihre Kurse vorübergehend dekorrelieren.
  2. Return-basiert: Eine Zeitreihe von Tages-Renditen wird über ein Auto-Encoder-Netz auf z. B. 64 Dimensionen reduziert. Das Embedding kodiert das Verhaltensprofil — Volatilität, Schiefe, Tail-Frequenz, Mean-Reversion-Charakter. Ähnliche Vektoren = Assets, die sich strukturell ähnlich verhalten, auch wenn die direkte Korrelation niedrig ist.
  3. Hybrid: Text- und Return-Embedding werden konkateniert oder über ein zweites Netz fusioniert. Das ist der teuerste, aber auch reichhaltigste Ansatz.

Pre-Trained vs. eigene Trainierung.

Die ehrliche Antwort: in 95 % der Fälle reicht ein Pre-Trained-Modell. FinBERT, finance-2 oder ein gutes generisches Modell wie text-embedding-3-large liefern für Asset-Klassifikation und Sektor-Similarity sehr robuste Ergebnisse. Die Trainings-Daten dieser Modelle umfassen mehr Finanz-Text, als Sie selbst je sammeln würden.

Eigenes Fine-Tuning lohnt sich, wenn Sie ein sehr spezifisches Konzept lernen wollen, das in generischen Modellen schwach repräsentiert ist — z. B. Embeddings, die explizit auf „reagiert ähnlich auf Zinsänderungen" trainiert sind. Setup-Aufwand: hoch. Datenbedarf: ein paar tausend gelabelte Paare. Realistisch nur, wenn Sie ein internes ML-Team haben.

Vier konkrete Anwendungs-Beispiele.

1. Asset-Similarity-Suche.

„Finde mir 20 Aktien, die NVDA ähnlich sind, aber nicht im selben SIC-Sektor liegen." Klassische Korrelation liefert dafür meist nur „andere Halbleiter". Ein Text-Embedding über 10-K-Filings liefert auch ASML, Synopsys, Cadence — Firmen, die NVDA strukturell ähneln, aber in einer anderen Klassifikation stecken.

2. Sektor-Klassifikation jenseits von GICS.

GICS und SIC sind statisch und politisch. Wer hätte 2015 Tesla in „Automobil" sortiert, wenn die Energie-Speicher-Sparte schon damals 20 % des Umsatzes ausmachte? Embeddings erlauben Clustering, das sich an den realen Geschäftsmodellen orientiert — und sich mit der Zeit anpasst.

3. Style-Drift-Detection.

Ein Fonds wird als „Value Small-Cap" beschrieben. Tatsächlich sind die Holdings über drei Jahre Richtung Mid-Cap-Growth gedriftet. Wenn Sie das aktuelle Portfolio embedden und mit dem historischen Embedding vergleichen, sehen Sie den Drift quantitativ — bevor er in Quartalsberichten auffällt.

4. Ähnliche historische Marktphasen.

Sie embedden jeden Handelstag über Features wie Vola-Term-Structure, Sektor-Spreads, Credit-Spreads, Yield-Curve und Sentiment. Dann fragen Sie: „Welche 10 Tage in den letzten 20 Jahren sehen am ähnlichsten aus wie heute?" Die historische Folge-Performance dieser Tage ist kein Glaskugel-Signal, aber eine deutlich bessere Referenz als „im Schnitt geht es nach oben".

Stack: Vector-Datenbanken.

Sobald Sie mehr als ein paar hundert Embeddings haben, brauchen Sie eine Vector-DB. Die drei Optionen, die ich in Mandaten sehe:

Konkretes Setup in Python.

Ein minimaler Workflow für Text-basierte Asset-Similarity mit OpenAI-Embeddings und pgvector:

import openai, psycopg
from pgvector.psycopg import register_vector

client = openai.OpenAI()
conn = psycopg.connect("postgresql://...")
register_vector(conn)

# 1. Embedding berechnen (z. B. fuer Business-Description aus 10-K)
def embed(text: str) -> list[float]:
    r = client.embeddings.create(
        model="text-embedding-3-large",
        input=text,
        dimensions=1024,
    )
    return r.data[0].embedding

# 2. Asset-Embedding speichern
with conn.cursor() as cur:
    cur.execute("""
        CREATE TABLE IF NOT EXISTS asset_embeddings (
            ticker TEXT PRIMARY KEY,
            as_of  DATE NOT NULL,
            embed  VECTOR(1024) NOT NULL
        );
    """)
    cur.execute(
        "INSERT INTO asset_embeddings VALUES (%s, %s, %s) "
        "ON CONFLICT (ticker) DO UPDATE SET embed = EXCLUDED.embed",
        ("NVDA", "2029-12-15", embed(nvda_10k_business_section)),
    )

# 3. Top-20 aehnliche Assets finden
with conn.cursor() as cur:
    cur.execute("""
        SELECT ticker, 1 - (embed <=> %s) AS cosine_sim
        FROM   asset_embeddings
        WHERE  ticker != 'NVDA'
        ORDER  BY embed <=> %s
        LIMIT  20
    """, (nvda_vec, nvda_vec))
    for row in cur.fetchall():
        print(row)

Das ist absichtlich nackt gehalten. In Produktion kommen dazu: Versionierung der Embeddings (Modelle ändern sich, alte Vektoren sind nicht mit neuen kompatibel), Refresh-Intervalle (Geschäftsberichte ändern sich jährlich, Return-Embeddings öfter), Filter über Marktkapitalisierung und Liquidität, sowie eine IVFFlat- oder HNSW-Index-Strategie.

Was Sie ehrlich erwarten sollten.

Embeddings sind ein Werkzeug, kein Edge. Sie machen bestimmte Analysen — Sektor-Klassifikation, Similarity-Suche, regime-Erkennung — schneller, robuster und reichhaltiger. Sie ersetzen keine ökonomische Hypothese.

Konkrete Erwartungen, basierend auf Mandanten-Implementierungen:

Die häufigste Falle, die ich sehe: Leute embedden Returns, finden Cluster, und behandeln die Cluster, als wären sie kausal. Embeddings sagen nichts über Ursache. Sie sagen nur, dass Dinge im hochdimensionalen Raum nah beieinander liegen. Was Sie aus dieser Nähe ableiten, ist Ihre Hypothese, nicht die der Mathematik.

Sie wollen Asset-Similarity oder Sektor-Klassifikation über Embeddings in Ihre Pipeline integrieren? Erstgespräch buchen — wir definieren den Use-Case und den Stack, der zu Ihrer Datenlage passt.