Hawkes Processes: selbsterregte Trade-Cluster verstehen.
Trades kommen nicht zufällig gleich verteilt. Sie kommen in Clustern: ein Stop-Loss triggert weitere Stop-Losses, eine Liquidation triggert die nächste, ein Nachrichten-Ereignis löst eine Welle korrelierter Orders aus. Genau für solche selbsterregten Prozesse hat Alan Hawkes 1971 ein Punkt-Prozess-Modell entwickelt — und in den letzten zwanzig Jahren ist es in der Hochfrequenz-Finanzwelt zum Standard-Werkzeug geworden.
Was ein Punkt-Prozess ist.
Ein Punkt-Prozess beschreibt zeitliche Ereignisse: Trade-Ankünfte, Order-Submissions, News-Releases. Das einfachste Modell ist der Poisson-Prozess mit konstanter Rate λ: Ereignisse kommen unabhängig, gleichmäßig verteilt. Das Problem: in der Realität sind Trade-Ankünfte alles andere als unabhängig. Auf einem Sub-Minuten-Niveau beobachtet man klare Cluster — Phasen mit 100 Trades pro Sekunde wechseln sich mit ruhigen Phasen ab.
Hawkes' Idee: vergangene Ereignisse erhöhen die aktuelle Rate.
Im Hawkes-Modell ist die Intensitäts-Funktion zeitabhängig und hängt explizit von der gesamten Trade-Historie ab:
λ(t) = μ + Σ_{t_i < t} α · e^(-β(t - t_i))
μ ist die Baseline-Intensität. Jeder vergangene Trade zur Zeit t_i fügt der aktuellen Rate einen exponentiell abklingenden Beitrag hinzu. α ist die Größe des Stoßes, β ist die Geschwindigkeit, mit der dieser Stoß abklingt.
Das ist eine erstaunlich elegante Formulierung: jeder Trade triggert eine kurzzeitige Erhöhung der Wahrscheinlichkeit, dass weitere Trades kommen. Wenn das Verhältnis α/β nahe 1 liegt, hat das System eine starke Selbstanregung und Cluster können sehr lang werden. Über 1 wird das System explosiv (nicht stationär).
Multivariate Hawkes: Spillover zwischen Assets.
Die wirklich interessante Variante ist multivariate. Statt einer Rate hat man mehrere — eine pro Asset oder pro Order-Typ. Die Kernel α werden zur Matrix:
λ_i(t) = μ_i + Σ_j Σ_{t_k^j < t} α_{ij} · e^(-β_{ij}(t - t_k^j))
α_{ij} sagt: wie stark erhöht ein Trade in Asset j die Wahrscheinlichkeit eines Trades in Asset i? Das ist genau die Spillover-Matrix, die man bei Flash-Crashs, Pre-Earnings-Volume-Bursts und Liquidations-Kaskaden sehen möchte. Empirisch findet man asymmetrische Strukturen: große Caps treiben kleine Caps, nicht umgekehrt.
Implementation: die `tick`-Library.
Für Python ist `tick` das mit Abstand ausgereifteste Hawkes-Toolkit. Maximum- Likelihood-Schätzung, Goodness-of-Fit-Tests, Simulationen, alles ordentlich implementiert. Ein Multi-Kernel-Fit auf zwei Asset-Trade-Streams:
from tick.hawkes import HawkesExpKern
import numpy as np
# Trade-Zeitpunkte pro Asset, jeweils 1D-Arrays
events = [trades_spx, trades_qqq]
# Decay-Parameter beta (1.0 = ein Sekunde Halbwertszeit, ungefähr)
decays = np.array([[5.0, 5.0],
[5.0, 5.0]])
learner = HawkesExpKern(decays=decays, penalty="l2", C=1e3)
learner.fit(events)
print("Baselines μ:", learner.baseline)
print("Adjacency α:", learner.adjacency)
print("Spectral radius:", learner.get_kernel_norms().max())
Der spektrale Radius der Adjazenz-Matrix ist die wichtigste Diagnose: ist er < 1, ist das System stationär. Nähert er sich 1, befinden Sie sich in einem instabilen Markt-Regime — exakt das, was Sie als Risiko-Indikator nutzen können.
Konkrete Anwendung 1: Order-Flow-Toxicity.
Eine zentrale Frage für Market-Maker und kurzfristige Strategien: wie „toxisch" ist der aktuelle Order-Flow? Toxischer Flow bedeutet: die Trades sind informiert, der Preis bewegt sich nach Ihrer Ausführung weiter gegen Sie. Hawkes-Modelle erkennen das früher als naive Volume-Indikatoren, weil sie die zeitliche Struktur der Trades messen, nicht nur die Menge.
Praktischer Aufbau: zwei separate Hawkes-Prozesse für Buy- und Sell-initiated Trades. Wenn der Selbst-Exzitations-Term auf einer Seite plötzlich hochschießt — etwa 3 Sigma über dem Tages-Durchschnitt — pausiere ich Market-Making und ziehe Quotes zurück. Das ist seit drei Jahren ein Standard-Filter in einem meiner Mandanten-Setups.
Konkrete Anwendung 2: Liquidations-Erkennung.
In Krypto-Märkten und Futures gibt es ein wiederkehrendes Muster: ein größerer Trader gerät unter Wasser, sein Stop wird getriggert, die resultierende Order bewegt den Preis weiter, was die nächste Liquidation triggert, und so weiter. Das ist Hawkes' selbsterregte Dynamik im Reinformat.
Wenn man die Hawkes-Intensität auf 1-Sekunden-Bars rollend schätzt und nach steilen Anstiegen filtert, bekommt man eine Frühwarn-Signal-Reihe für genau diese Liquidations-Kaskaden. Ich nutze das, um in solchen Phasen Position-Sizes herunterzufahren oder kurzfristig flach zu gehen. Es ist kein Profit-Generator, sondern ein Verlust-Vermeider.
Konkrete Anwendung 3: Pre-/Post-Earnings-Bursts.
Rund um Earnings-Releases ist das Volume-Profil hochgradig clustered. Vor dem Release: nervöses Positions-Trimming, vermehrt Stop-Outs. Nach dem Release: Reaktions-Burst, oft mit Folge-Reaktionen. Multivariate Hawkes-Modelle auf 30- Minuten-Bars rund um Earnings zeigen klare Selbst-Exzitations-Strukturen — und erlauben es, Vol-Bursts früher zu detektieren als IV-basierte Indikatoren.
Bacry, Mastromatteo und Muzy haben darüber 2015 ein ausführliches Übersichts-Paper geschrieben („Hawkes Processes in Finance"), das immer noch der beste Einstieg in die finanzspezifische Anwendung ist.
Was schwierig ist: Kalibrierung.
Hawkes-Modelle sind stark parameter-sensitiv. Schon die Wahl des Decay-Parameters β verändert die geschätzten Adjazenz-Werte dramatisch. Mein pragmatischer Ansatz:
- β nicht aus Daten lernen, sondern aus dem Anwendungs-Kontext setzen (z.B. „ich erwarte Cluster auf 5-Sekunden-Skala" → β ≈ 0.2 pro Sekunde).
- L2-Regularisierung verwenden, um Overfit der α-Matrix zu vermeiden.
- Stationaritäts-Check (spektraler Radius) bei jedem Fit erzwingen.
- Goodness-of-Fit über Time-Rescaling-Theorem prüfen.
Wer das ignoriert, bekommt schöne Zahlen, die nichts bedeuten. Hawkes-Kalibrierung ist mehr Kunst als Wissenschaft, und ich rechne immer mit mindestens drei Sanity-Checks parallel.
Meine Praxis.
Hawkes-Prozesse sind in meiner Toolbox ausschließlich als Risiko-Detektor präsent, nicht als Signal-Generator. Konkret laufen in zwei Mandanten-Setups kontinuierliche Hawkes-Schätzungen auf den eigenen ausgeführten Trades plus den sichtbaren Market-Trades. Wenn der selbsterregte Anteil der Intensität über ein bestimmtes Quantile springt, fährt das System Risk-Limits herunter.
Im Schnitt triggert dieser Filter 2–4 Mal pro Jahr. In etwa der Hälfte der Fälle folgt tatsächlich eine größere Markt-Bewegung. In der anderen Hälfte ist es ein Fehlalarm — wir reduzieren Risk, der Markt bleibt ruhig, wir verlieren ein bisschen Ertrag durch die Pause. Diese Trade-off-Bilanz ist seit der Einführung des Filters klar positiv.
Hawkes ist kein Mainstream-Werkzeug für Retail-Trader, und das ist auch in Ordnung so. Es lohnt sich erst, wenn man auf Sub-Minuten-Daten arbeitet und Risiko- Management ernst nimmt. In dieser Nische gibt es wenige Modelle, die so gut beschreiben, was im Markt tatsächlich passiert.
Sie interessieren sich für quantitative Risk-Detektoren auf Tick-Daten? Erstgespräch buchen — wir prüfen, ob es zu Ihrem Setup passt.