Feature Engineering
Konstruktion aussagekräftiger Eingabevariablen für ML-Modelle.
Feature Engineering ist der Prozess, aus Rohdaten Variablen zu konstruieren, die ein ML-Modell besser lernen lassen. In Finanzdaten: Returns statt Preise, Volatilitäts-Schätzer, technische Indikatoren, Rolling-Statistiken, Volumen-Profile, Calendar Features, Cross-Asset-Signale.
In der Trading-ML gilt: Feature Engineering schlägt oft Modell-Komplexität. Ein einfacher Random Forest mit guten Features übertrifft ein tiefes neuronales Netz auf schlechten Rohdaten. Hüten Sie sich vor Look-Ahead in Features und Stationaritäts-Verletzungen.
Genaue Definition
Ein Feature ist eine Zahl, die für jeden Entscheidungszeitpunkt t aus den Daten berechnet wird, die zu diesem Zeitpunkt tatsächlich vorlagen. Feature Engineering umfasst die Auswahl der Rohdaten, ihre Transformation (etwa Renditen statt Preise), die Aggregation über Zeitfenster, die Normalisierung und die zeitliche Zuordnung. Letztere wird oft unterschätzt: Maßgeblich ist nicht der Zeitraum, auf den sich ein Wert bezieht, sondern der Zeitpunkt, zu dem er veröffentlicht wurde. Quartalszahlen bis Ende März sind erst Wochen später bekannt, Konjunkturdaten werden nachträglich revidiert. Ein Datensatz, der für jeden Zeitpunkt nur den damals bekannten Stand enthält, heißt Point-in-Time-Datensatz.
Formeln und Rechenbeispiel
Zwei Grundbausteine sind die logarithmische Rendite r_t = ln(P_t / P_(t−1)) und der rollende z-Wert z_t = (x_t − Mittelwert) / Standardabweichung, beide Kennzahlen berechnet über die n Werte vor t.
Rechenbeispiel: Ein Kurs steigt von 100 auf 102 und fällt dann auf 99,96. Die einfachen Renditen betragen +2 % und −2 %, ihre Summe 0 %, obwohl der Kurs insgesamt 0,04 % verloren hat. Die Log-Renditen ln(1,02) ≈ 0,019803 und ln(0,98) ≈ −0,020203 ergeben addiert −0,000400, also genau ln(0,9996): Log-Renditen lassen sich über die Zeit addieren. Zum z-Wert: An den letzten fünf Tagen wurden 100, 120, 80, 110 und 90 Tausend Stück gehandelt. Der Mittelwert ist 100, die Stichproben-Standardabweichung √(1.000 / 4) ≈ 15,81. Schließt der heutige Tag mit 140 Tausend, ergibt sich für die Entscheidung nach Handelsschluss z = (140 − 100) / 15,81 ≈ 2,53.
Umsetzung im Code und typischer Fehler
In pandas ist das nachlaufende Fenster die Voreinstellung: x.rolling(20).mean() nutzt den aktuellen und die 19 vorherigen Werte. Soll das Fenster den aktuellen Wert ausschließen, wie im Rechenbeispiel, folgt .shift(1). Fehlerquellen sind rolling(20, center=True), das auch nachfolgende Werte einbezieht, und eine Standardisierung über die gesamte Reihe wie (x - x.mean()) / x.std(), die Mittelwert und Streuung der Testphase ins Training trägt. Daten mit Veröffentlichungsverzögerung werden über den Veröffentlichungszeitpunkt verbunden, etwa mit pd.merge_asof(..., direction="backward"): Jeder Zeitpunkt erhält den letzten bis dahin veröffentlichten Wert. Ein typischer Fehler im Trading-Bot ist ein Feature aus dem Tagesschlusskurs, mit dem schon zur Eröffnung desselben Tages gehandelt wird. Im Backtest sieht das stark aus, live existiert der Wert zu diesem Zeitpunkt noch nicht. Ein einfacher Test: Das Feature für einen Stichtag wird einmal mit allen Daten und einmal nur mit den Daten bis zu diesem Tag berechnet. Weichen die beiden Werte ab, greift die Berechnung in die Zukunft. Mehr im Artikel Feature-Engineering ohne Leakage.
Grenzen und Missverständnisse
Mehr Features sind nicht automatisch besser. Jedes zusätzliche Feature erweitert den Suchraum, und viele technische Indikatoren messen fast dasselbe; stark korrelierte Features machen die Wichtigkeitswerte eines Modells instabil (Artikel: Feature-Selection im Trading). Stationarität ist ein Zielkonflikt: Renditen sind stationärer als Preise, verlieren aber das Gedächtnis der Preisreihe; fraktionale Differenzierung sucht einen Mittelweg. Auch ein sauber gebautes Feature kann an Aussagekraft verlieren, wenn sich Marktstruktur, Handelszeiten oder Datenlieferant ändern; die Verteilung wichtiger Features sollte deshalb im Live-Betrieb überwacht werden. Die Aussage, gute Features seien wichtiger als Modellkomplexität, ist eine Faustregel für tabellarische Daten. Bei Rohdaten mit innerer Struktur wie Text oder langen Orderbuch-Sequenzen können neuronale Netze Merkmale selbst lernen (siehe LSTM und Transformer). Verwandt: Overfitting, Volatilität.
Hinweis: Dieser Glossar-Eintrag ist KI-gestützt entstanden. Marcel Gautsche verantwortet Inhalt und Auswahl redaktionell. Ihnen ist ein Fehler aufgefallen? Schreiben Sie an info@marcelgautsche.de.
Sie wollen das Konzept in der Praxis sehen?
Zu den interaktiven Tools