Beide basieren auf der Transformer-Architektur (Google, 2017), nutzen sie aber grundlegend anders:
BERT liest Text in beide Richtungen gleichzeitig und versteht dadurch den Kontext eines Wortes aus seiner gesamten Umgebung. Es ist spezialisiert auf Verstehen und Klassifizieren — z.B. „Ist dieser Satz positiv oder negativ?“
LLMs wie GPT-4 oder Claude lesen Text nur von links nach rechts und erzeugen Token für Token neue Sprache. Sie können alles: Übersetzen, Programmieren, Analysieren — sind aber Generalisten.
| Eigenschaft | BERT / FinBERT | LLM (GPT, Claude) |
|---|---|---|
| Aufgabe | Klassifikation | Textgenerierung |
| Richtung | Bidirektional | Links → Rechts |
| Größe | 110 Mio. Parameter | 100+ Mrd. Parameter |
| Latenz | ~100ms | ~5.000ms |
| Infrastruktur | CPU / Lambda | GPU-Cluster / API |
| Kosten pro 1k | ~$0,001 | ~$1–15 |
| Fine-Tuning | Einfach, Stunden | Komplex, Tage/Wochen |
Für unseren Anwendungsfall — tausende Nachrichtenartikel pro Tag schnell klassifizieren — ist BERT die klar bessere Wahl: 50x schneller, 1.000x günstiger, und für Sentiment-Analyse genauso präzise.
Unser Modell (scherrmann/GermanFinBert_SC_Sentiment) entstand in drei Stufen:
Das Original-BERT wurde auf dem gesamten englischen Wikipedia und BookCorpus trainiert. Es lernt allgemeines Sprachverständnis durch zwei Aufgaben:
Das Basis-BERT wurde weiter trainiert auf deutschen Finanztexten: Geschäftsberichte, Ad-hoc-Mitteilungen, Wirtschaftsnachrichten. Das Modell lernt dabei Fachbegriffe wie „EBITDA“, „Dividendenrendite“ oder „Gewinnwarnung“.
Im letzten Schritt wurde eine Klassifikationsschicht hinzugefügt und auf manuell gelabelten deutschen Finanznachrichten trainiert. Jeder Text wurde als positiv, negativ oder neutral markiert.
Unser System füttert stündlich ~180 deutsche Nachrichtenartikel durch das Modell. Für jeden Artikel liefert es drei Wahrscheinlichkeiten:
Diese Sentiment-Scores fließen als 2 von 16 Features in den PPO Trading Agent ein (Sentiment-Score + Sentiment-Trend), zusammen mit Kursdaten, Bollinger Bands, DAX-Korrelation u.a.
Reinforcement Learning (RL) ist ein Lernprinzip aus der KI: Ein Agent interagiert mit einer Umgebung, beobachtet Zustände, führt Aktionen aus und erhält Belohnungen. Durch Versuch und Irrtum lernt er eine Policy (Strategie), die den langfristigen Gewinn maximiert.
Proximal Policy Optimization (Schulman et al., 2017 — OpenAI) ist einer der zuverlässigsten RL-Algorithmen. Er wurde auch zum Training von ChatGPT eingesetzt (RLHF). PPO hat zwei entscheidende Vorteile gegenüber älteren Methoden:
Jedes Aktienmodell trainiert in einer eigenen Gym-Umgebung, die den XETRA-Handel simuliert:
BUY_SMALL = 25% des Cash investieren
BUY_FULL = Gesamtes Cash investieren
SELL_HALF = 50% der Position verkaufen
SELL_ALL = Gesamte Position verkaufen
reward = step*0.4 + sharpe*0.25 + sentiment*0.25 + hold_cost*0.1
Jeden Morgen um 6:00 Uhr (vor Börseneröffnung) läuft automatisch. Zusätzlich wird ein Retraining getriggert wenn der Tagesverlust ≥ 2% erreicht:
| Parameter | Wert | Bedeutung |
|---|---|---|
| Timesteps | 25.000 | Handelsentscheidungen pro Trainingsrunde |
| Learning Rate | 0,0003 | Schrittweite beim Policy-Update |
| Batch Size | 64 | Erfahrungen pro Gradient-Schritt |
| N Steps (Rollout) | ~2.048 | Gesammelte Schritte vor jedem Update |
| Gamma | 0,97 | Gewichtung zukünftiger Belohnungen (kürzerer Horizont) |
| GAE Lambda | 0,95 | Glättung der Advantage-Schätzung |
| Clip Range | 0,2 | Max. Policy-Änderung pro Update (±20%) |
| Entropy Coefficient | 0,01 | Erkundungsanreiz (verhindert zu frühe Festlegung) |
| Epochen pro Batch | 10 | Wie oft jede Erfahrung wiederverwendet wird |
| Walk-Forward Folds | 3 | Rollierende Train/Test-Fenster, bestes Modell wird gespeichert |
| Parallelität | 40 gleichzeitig | Lambda-Trainings parallel via Step Functions |
| Daten-Zeitraum | 120 Tage | 15-Min-Kerzen + Sentiment + DAX-Index |
| Observation Space | 16 Features | Kurs, Sentiment, Bollinger, DAX, Volumen u.a. |
| Action Space | 5 Aktionen | HOLD, BUY_SMALL, BUY_FULL, SELL_HALF, SELL_ALL |
Für jedes der 40 DAX-Symbole werden täglich 120 Tage XETRA-Kursdaten in 15-Minuten-Auflösung von Yahoo Finance geladen. Zusätzlich wird der DAX-Index (^GDAXI) als Markt-Referenz abgerufen. Das Sentiment wird ticker-spezifisch zugeordnet (min. 10 Artikel pro Symbol, sonst Fallback auf Markt-Aggregat). Alle Daten werden mit folgenden Features angereichert:
34 Bars = 1 XETRA-Handelstag (8,5h × 4 Kerzen/h). Das Sentiment wird stündlich aus dem DynamoDB-Cache aggregiert und auf die 15-Min-Kerzen forward-filled. Die DAX-Korrelation wird als Rolling Correlation über 5 Handelstage berechnet. Bollinger Bands nutzen ein 20-Bar-Fenster mit 2σ.
Das Training nutzt Walk-Forward Validation mit 3 rollierenden Folds —
das beste Modell über alle Folds wird als .zip in S3 gespeichert.
Während der XETRA-Handelszeiten (9:00–17:30) lädt der Paper-Trading-Agent alle 5 Minuten
die aktuellen Modelle, berechnet Live-Indikatoren (RSI, MACD, Bollinger, Volume Ratio)
und holt DAX-Index-Daten für den 16-dimensionalen Observation-Vektor.
Der Agent wählt aus 5 Aktionen (HOLD, BUY_SMALL 25%, BUY_FULL 100%, SELL_HALF 50%, SELL_ALL 100%)
— mit echten Kursen, aber simuliertem Kapital (100.000€).
Zusätzlich greifen Risikomanagement-Regeln: Stop-Loss, Take-Profit, Sektor-Limits und ein
Drawdown-Stop, der den Handel bei zu hohen Verlusten pausiert.
Der Paper-Trading-Agent speichert nach jedem 5-Minuten-Zyklus alle Observations, Actions und Rewards als Experience Buffer in S3 (TTL: 5 Tage). Diese realen Erfahrungen fließen als Experience Replay (2x gewichtet) ins nächste Training ein — das Modell lernt dadurch schneller aus echten Marktsituationen.
Zusätzlich wird bei ≥ 5% Tagesverlust automatisch ein Retraining der gesamten Pipeline getriggert (sofern nicht bereits eines läuft). Das ermöglicht schnelle Adaption an veränderte Marktbedingungen, ohne die Stabilität des täglichen Trainings zu gefährden.