Regime-Methodik: wie das Hidden-Markov-Modell rechnet
Das Hidden-Markov-Modell (HMM) von Portfolio Lab teilt die Wochen- oder Monatsrenditen einer Kursreihe in zwei bis vier Regime mit eigenem Mittel und eigener Volatilität, von „Ruhig“ bis „Turbulent“. Die Seite Regime zeigt damit im Rückblick, wann welches Regime wahrscheinlich war; das Taktik-Modell Regime (HMM) nutzt dieselbe Rechnung ohne Vorgriff als Signal. Diese Methodik beschreibt, was der Code rechnet: Modell, Schätzung, Filter und Glättung, Kennzahlen, Modellwahl, Walk-forward und Grenzen. Idee und Forschung stehen im Artikel Regime-Modelle.
Das Modell: verborgene Regime, normalverteilte Renditen
Das Modell folgt Hamilton (1989) und der Darstellung von Rabiner (1989): Ein verborgenes Regime springt von Periode zu Periode nach einer Markov-Kette. Welches Regime als Nächstes kommt, hängt nur vom heutigen ab. In jedem Regime ist die Rendite normalverteilt, mit eigenem Mittel und eigener Volatilität. Beobachtet wird nur die Rendite; das Regime erschließt das Modell als Wahrscheinlichkeit (Hidden-Markov-Modell).
P(s_t = j | s_t−1 = i) = a_ij; x_t | s_t = k ~ N(μ_k, σ_k²); x_t = 100 × ln(P_t / P_t−1)- s_t
- Regime der Periode t, nummeriert von 0 bis K − 1 nach steigender Volatilität
- a_ij
- Eintrag der Übergangsmatrix A: Wahrscheinlichkeit, von Regime i in Regime j zu wechseln; jede Zeile summiert sich zu 1
- μ_k, σ_k
- Mittel und Volatilität der Log-Rendite im Regime k, in Prozent je Woche bzw. Monat
- P_t
- Schlusskurs der Woche bzw. des Monats t
- π
- Startverteilung: Wahrscheinlichkeiten der Regime in der ersten Periode, mitgeschätzt
- Log-Renditen in Prozent: 100 × ln(P_t / P_t−1). Log-Renditen lassen sich über die Zeit addieren; ein Mittel von 0,25 % je Woche sind 13 % im Jahr.
- Wöchentlich oder monatlich: Wochenschluss ist der letzte Handelstag bis Freitag, Monatsschluss der letzte Handelstag des Monats, jeweils mit seinem tatsächlichen Datum. Wochenrenditen geben in zehn Jahren 520 Beobachtungen, Monatsrenditen nur 120.
- Nur abgeschlossene Perioden: Die laufende Woche bzw. der laufende Monat zählt erst, wenn ihr regulärer letzter Handelstag (Freitag bzw. letzter Werktag des Monats) im Kurs steht oder die Periode vorbei ist, etwa nach einem Feiertag am Freitag. Eine halbe Woche würde sonst wie eine ganze bewertet.
- Eine Reihe: Der Rechenkern kann auch mehrere Reihen mit voller Kovarianzmatrix je Regime schätzen. Beide Seiten nutzen eine Reihe: die gewählte Kursreihe auf der Seite Regime, das Basisportfolio oder einen Ticker in der Taktik.
Schätzung mit dem Baum-Welch-Algorithmus
Die Parameter π, A, μ und σ schätzt der Code nach Maximum Likelihood mit dem Baum-Welch-Algorithmus von Baum u. a. (1970), einem Spezialfall des EM-Algorithmus von Dempster u. a. (1977). Jede Runde hat zwei Schritte:
- E-Schritt: Der Vorwärts-Rückwärts-Algorithmus berechnet mit den aktuellen Parametern für jede Periode die Wahrscheinlichkeit γ_t(k) jedes Regimes und für je zwei aufeinanderfolgende Perioden die Wahrscheinlichkeit ξ_t(i, j) eines Wechsels von i nach j.
- M-Schritt: neue Parameter als gewichtete Mittel, nämlich Startverteilung π = γ_1, Übergänge a_ij = Σ ξ_t(i, j) / Σ γ_t(i), Mittel und Varianz je Regime mit den Gewichten γ_t(k).
μ_k = Σ_t γ_t(k) × x_t / Σ_t γ_t(k); σ_k² = Σ_t γ_t(k) × (x_t − μ_k)² / Σ_t γ_t(k) + 10⁻⁴ × Var(x)- γ_t(k)
- Wahrscheinlichkeit, dass Periode t im Regime k lag, gegeben alle Renditen und die Parameter der Runde
- Var(x)
- Varianz der ganzen Reihe; der Zuschlag ist die Kovarianz-Untergrenze
Damit die Wahrscheinlichkeiten über Tausende Perioden nicht gegen null laufen, rechnet der Algorithmus skaliert wie bei Rabiner (1989): Die Vorwärtsgrößen werden in jeder Periode auf die Summe 1 normiert, und die Logarithmen der Normierungsfaktoren ergeben zusammen die Log-Likelihood. Die Dichten je Periode teilt der Code zusätzlich durch ihr Maximum; auch dieser Faktor geht in log L ein.
α_0 ∝ π ∘ b_0; α_t ∝ (α_t−1 · A) ∘ b_t; c_t = Summe der Einträge von (α_t−1 · A) ∘ b_t; log L = Σ_t ln c_t- b_t
- Dichten der Rendite x_t in den K Regimen
- ∘
- Produkt Eintrag für Eintrag
- α_t
- gefilterte Wahrscheinlichkeiten der Regime nach Periode t (Summe 1)
- c_t
- Normierungsfaktor: Dichte der neuen Rendite, gegeben alle früheren; c_0 ist die Summe von π ∘ b_0
- Abbruch: wenn log L in einer Runde um weniger als 10⁻⁶ steigt, spätestens nach 300 Runden. Ist die gezeigte Schätzung dann nicht konvergiert, sagt die Seite Regime das in einem Hinweis.
- Fünf Startwerte, fester Seed: EM findet nur ein lokales Maximum. Der erste Start teilt die Perioden nach der rollierenden Volatilität ein (zentriertes Fenster von 9 Perioden, nur Daten der Stichprobe): bei zwei Regimen die ruhigere Hälfte in Regime 0, die unruhigere in Regime 1. Die vier weiteren ziehen zufällige Grenzen zwischen dem 15. und 95. Perzentil dieser Volatilität und mischen die Einteilung je zur Hälfte mit zufälligen Gewichten aus einer Dirichlet-Verteilung. Der Zufallsgenerator startet immer mit dem Seed 1989; gleiche Daten ergeben also immer dasselbe Modell.
- Startparameter: ein M-Schritt aus dieser Einteilung. Die Übergänge zählt der Code aus aufeinanderfolgenden Perioden, mit einem Zuschlag von 1 je Feld der Matrix; die Startverteilung ist gleichverteilt.
- Alle Starts zugleich: Die Starts laufen nebeneinander, bis jeder abbricht. Es gewinnt der mit der höchsten Log-Likelihood.
- Untergrenzen: Auf die Varianz jedes Regimes kommen 10⁻⁴ der Gesamtvarianz der Reihe. Die Volatilität eines Regimes ist damit mindestens 1 % der Gesamtvolatilität; ohne diese Grenze könnte ein Regime einen einzelnen Wert mit einer Volatilität nahe null erklären und die Likelihood ins Unendliche treiben. Einträge von π und A hebt der Code auf mindestens 10⁻¹² an.
- Mindestdaten: Die Schätzung braucht mindestens 2K + 2 Renditen, die Seite Regime 100, das Taktik-Modell für die erste Schätzung 260 Wochen- bzw. 120 Monatsrenditen.
Sortierung und Namen der Regime
Für die Likelihood ist gleich, welches Regime welche Nummer trägt (Label Switching). Der Code sortiert deshalb nach jeder Schätzung die Regime nach ihrer Varianz aufsteigend (Regime 0 ist immer das ruhigste) und vergibt die Namen je Zahl der Regime:
| Zahl der Regime | Namen nach steigender Volatilität |
|---|---|
| 1 | Einheitlich |
| 2 | Ruhig, Turbulent |
| 3 | Ruhig, Normal, Turbulent |
| 4 | Ruhig, Normal, Unruhig, Turbulent |
Die Namen beschreiben nur die Rangfolge der Volatilität. „Turbulent“ heißt nicht Krise oder Rezession, und das Mittel eines Regimes kann jedes Vorzeichen haben.
Die Sortierung allein löst das Label Switching nicht immer: Liegen zwei Regime in der Volatilität nah beieinander, kann eine neue Schätzung ihre Reihenfolge vertauschen, obwohl sich die Regime kaum geändert haben. Der Code prüft deshalb drei Dinge und zeigt sie an:
- Abgleich mit der vorigen Schätzung (Taktik): Bei jeder jährlichen Neuschätzung sucht der Code die Zuordnung der neuen zu den alten Regimen mit der kleinsten Summe der Bhattacharyya-Abstände, über alle K! Zuordnungen. Weicht sie von der Sortierung ab, meldet der Reiter Regime einen Rollentausch mit Datum. Die Namen folgen trotzdem der Volatilität: „Turbulent“ bleibt das volatilste Regime, darauf beruht die Handelsregel.
- Abstand der Volatilitäten: Zu jeder Schätzung steht das kleinste Verhältnis der Volatilitäten benachbarter Regime. Unter 1,2 weisen die Seite Regime und die Taktik darauf hin, dass die Zuordnung der Namen unsicher ist.
- Startwerte am gleichen Optimum: Der Code zählt, wie viele Startwerte zur selben Lösung führen, also zu gleichen Regimen (Bhattacharyya-Abstand je Regime höchstens 0,02) und gleichen Verbleibwahrscheinlichkeiten (höchstens 5 Prozentpunkte auseinander); die Startverteilung zählt nicht. Erreicht höchstens die Hälfte die beste Lösung, hat die Likelihood mehrere Gipfel, und die Seite sagt das.
D_B = 1/8 · (μ₁ − μ₂)² / σ̄² + 1/2 · ln(σ̄² / (σ₁ · σ₂)), σ̄² = (σ₁² + σ₂²) / 2- μ, σ
- Mittel und Volatilität zweier Regime (Prozent je Periode)
- D_B
- Bhattacharyya-Abstand: 0 bei gleichen Verteilungen, größer bei unterschiedlichem Mittel oder unterschiedlicher Streuung
Zur Rechentechnik: Die Vorwärts- und die Rückwärtsrekursion rechnet der Code in Blöcken von 32 Perioden als Matrixprodukte, für alle Startwerte zugleich. Mathematisch ist das der gewöhnliche Vorwärts-Rückwärts-Algorithmus; die Tests vergleichen ihn mit einer einfachen Schleife über alle Perioden. Weil die Blockgrenzen nicht von der Länge der Reihe abhängen, ist der Filter für die ersten t Renditen bis auf Rundungsfehler (unter 10⁻¹²) gleich dem Filter der ganzen Reihe an dieser Stelle. Eine spätere Rendite verändert keine frühere gefilterte Wahrscheinlichkeit.
Gefiltert, geglättet, Viterbi: was die Seite zeigt
Aus einer Schätzung folgen drei Sichten auf die Regime. Sie unterscheiden sich darin, welche Renditen sie nutzen:
| Größe | Nutzt Renditen | Auf der Seite Regime | In der Taktik |
|---|---|---|---|
| Gefiltert: P(s_t | x_1 … x_t) | bis zur Periode t | „Aktuelles Regime“, Spalte „Heute“, Diagramm „Gefiltert“ | Signal zu jedem Monatsende |
| Geglättet: P(s_t | x_1 … x_T) | alle bis zum Ende der Reihe | Hintergrund im Kursdiagramm, „Anteil der Zeit“, Diagramm „Geglättet“ (voreingestellt) | nicht genutzt |
| Viterbi-Pfad | alle bis zum Ende der Reihe | „Seit (Viterbi)“: Beginn des letzten Abschnitts | nicht genutzt |
Die gefilterte Wahrscheinlichkeit ist der Hamilton-Filter aus der Formel oben: Vorhersage mit A, Gewichtung mit den Dichten, Normierung. Die geglättete Wahrscheinlichkeit γ_t liefert der Vorwärts-Rückwärts-Algorithmus; für Markov-Switching-Modelle hat sie Kim (1994) beschrieben (Filter- und Glättungswahrscheinlichkeit). Der Viterbi-Algorithmus nach Viterbi (1967) sucht mit dynamischer Programmierung im Log-Raum die eine Folge von Regimen mit der höchsten gemeinsamen Wahrscheinlichkeit.
Glättung enthält Vorgriff: Die Wahrscheinlichkeit für Woche t nutzt auch die Renditen der Wochen danach. Folgt auf eine unauffällige Woche ein Einbruch, färbt die geglättete Kurve schon diese Woche turbulenter, obwohl man es damals nicht wissen konnte. Das Diagramm unten zeigt es. Auf der Seite Regime kommt ein zweiter Vorgriff hinzu: Auch die Parameter stammen aus der ganzen Historie, deshalb ist dort selbst die gefilterte Kurve ein Rückblick. Die Seite sagt das in einem Hinweis; ohne beide Vorgriffe rechnet nur das Taktik-Modell (Look-ahead-Bias).
Im Kursdiagramm auf logarithmischer Achse färbt die Seite jede Periode nach dem Regime mit der größten geglätteten Wahrscheinlichkeit. „Aktuelles Regime“ ist das Regime mit der größten gefilterten Wahrscheinlichkeit in der letzten abgeschlossenen Periode. „Seit (Viterbi)“ nennt das Schlussdatum der ersten Periode im letzten zusammenhängenden Abschnitt des Viterbi-Pfads und seine Länge; endet der Pfad in einem anderen Regime als dem aktuellen, steht statt der Länge der Name dieses Regimes.
Zahlenbeispiel: ein Schritt des Hamilton-Filters
Zwei Regime mit Wochenrenditen, die Zahlen sind frei gewählt. Ruhig (Regime 0): Mittel 0,25 %, Volatilität 1,5 % je Woche, a₀₀ = 0,98. Turbulent (Regime 1): Mittel −0,4 %, Volatilität 4,0 %, a₁₁ = 0,90. Nach der Vorwoche lag die gefilterte Wahrscheinlichkeit für „Turbulent“ bei 10 %. Jetzt bringt eine Woche eine Log-Rendite von −3 %.
Beispielparameter von oben, Startverteilung = stationäre Verteilung. Wochen 1 bis 15 und 26 bis 40 abwechselnd +1 % und −0,5 %, Wochen 16 bis 25 abwechselnd −4 % und +3 %. Der Filter überschreitet 50 % erst in Woche 18 und fällt erst in Woche 27 wieder darunter. Die geglättete Kurve steht schon in Woche 15 (vor dem ersten Einbruch) bei 34,1 % und fällt eine Woche früher unter 50 %; der Viterbi-Pfad trifft die turbulenten Wochen genau, weil er das Ende der Reihe kennt.
Kennzahlen je Regime
Die Tabelle „Regime im Überblick“ rechnet jedes Regime aus seinen geschätzten Parametern auf ein Jahr hoch, mit n = 52 Perioden bei Wochen- und n = 12 bei Monatsrenditen:
Mittel p. a. = μ_k × n; Vola p. a. = σ_k × √n; geometrische Rendite p. a. ≈ exp(μ_k × n / 100) − 1; erwartete Dauer = 1 / (1 − a_kk)- μ_k, σ_k
- Mittel und Volatilität der Log-Renditen im Regime k, in Prozent je Periode
- a_kk
- Wahrscheinlichkeit, im Regime k zu bleiben (Diagonale von A)
- erwartete Dauer
- in Perioden; die Seite zeigt sie in Wochen bzw. Monaten
- Mittel und Vola p. a.: Mittel und Volatilität der Log-Renditen im Regime, mit n bzw. √n hochgerechnet. Die geometrische Rendite ist die Wertentwicklung, die ein ganzes Jahr in diesem Regime ergäbe.
- Anteil der Zeit: Mittel der geglätteten Wahrscheinlichkeiten über alle Perioden der Reihe.
- Erwartete Dauer: Ein Regime endet in jeder Periode mit der Wahrscheinlichkeit 1 − a_kk. Die Dauer ist damit geometrisch verteilt mit dem Mittel 1 / (1 − a_kk) Perioden. Die Kachel „Erwartete Dauer“ zeigt sie für das aktuelle Regime.
- Heute: gefilterte Wahrscheinlichkeit der letzten abgeschlossenen Periode.
- Stationäre Verteilung: der langfristige Anteil jedes Regimes, der aus A allein folgt (π A = π). Der Code rechnet sie mit, die Tabelle zeigt aber den Anteil der Zeit. Beide müssen nicht übereinstimmen: Die stationäre Verteilung kommt aus dem Modell, der Anteil der Zeit aus der tatsächlichen Reihe.
- Übergangsmatrix: Zeile = Regime in dieser Periode, Spalte = Regime in der nächsten, in Prozent.
Modellwahl: log L, AIC, BIC und Auto
Die Seite Regime schätzt für jede Reihe vier Modelle mit einem bis vier Regimen, die mit mehreren Regimen je von fünf Startwerten aus. Mehr Regime erhöhen die Log-Likelihood fast immer; Informationskriterien ziehen dafür eine Strafe je Parameter ab. Gezählt werden K − 1 Startwahrscheinlichkeiten, K(K − 1) Übergangswahrscheinlichkeiten und je Regime d Mittel sowie d(d + 1)/2 Varianzen und Kovarianzen. Bei einer Reihe (d = 1) sind das also 2, 7, 14 und 23 Parameter für ein bis vier Regime.
p = (K − 1) + K(K − 1) + K·d + K·d(d + 1)/2; AIC = 2p − 2 log L; BIC = p × ln n − 2 log L- log L
- maximierte Log-Likelihood der Schätzung
- n
- Zahl der Renditen
- AIC, BIC
- Kriterien nach Akaike (1974) und Schwarz (1978); kleiner ist besser
Ab acht Renditen ist ln n größer als 2: Das BIC bestraft jeden Parameter also stärker als das AIC, bei 1.000 Wochenrenditen mit 6,91 statt 2. Schwarz (1978) leitete es als Näherung der bayesschen Modellwahl für große Stichproben her. Mit Auto zeigt die Seite das Modell mit dem kleinsten BIC unter zwei, drei und vier Regimen; bei Gleichstand gewinnt die kleinere Zahl. Hat dabei das Modell mit nur einem Regime das kleinste BIC, sagt ein Hinweis, dass das BIC ein einziges Regime bevorzugt. Gezeigt wird trotzdem das beste Modell mit mindestens zwei. Die Tabelle „Modellwahl“ markiert das gezeigte Modell und das mit dem kleinsten BIC.
Ein Beispiel mit 1.000 Wochenrenditen (ln 1.000 = 6,908) und frei gewählten Werten für log L:
| Regime K | Parameter p | log L | AIC | BIC |
|---|---|---|---|---|
| 1 | 2 | −2.250,0 | 4.504,0 | 4.513,8 |
| 2 | 7 | −2.180,0 | 4.374,0 | 4.408,4 |
| 3 | 14 | −2.170,0 | 4.368,0 | 4.436,7 |
| 4 | 23 | −2.165,0 | 4.376,0 | 4.488,9 |
Das AIC wäre mit drei Regimen am kleinsten, das BIC mit zwei. Das dritte Regime verbessert log L um 10, also −2 log L um 20; dafür kommen 7 Parameter hinzu, die das AIC mit 14 und das BIC mit 7 × 6,908 = 48,4 bestraft. Auto zeigt deshalb zwei Regime. Der übliche Likelihood-Quotiententest hilft bei dieser Wahl nicht, weil die Parameter eines zusätzlichen Regimes unter der Nullhypothese gar nicht bestimmt sind (Regime-Modelle).
Taktik: das Regime-Modell ohne Vorgriff
Das Taktik-Modell Regime (HMM) rechnet dieselbe Schätzung im Walk-forward: Zu jedem Monatsende nutzt es nur Renditen bis zu diesem Datum und Parameter aus einer Schätzung, die höchstens bis zu diesem Datum reicht.
- Signal: die Rendite des Basisportfolios (mit den Basisgewichten, an jedem Monatsende auf die Gewichte zurückgesetzt, aus Tageskursen in der Basiswährung) oder eines eigenen Tickers, der nur das Signal liefert und nicht gehalten wird. Dessen Kurse lädt die Seite zusätzlich; beginnen sie später als die des Portfolios, verkürzt sich der Zeitraum.
- Erste Schätzung am ersten Monatsende mit mindestens 260 Wochenrenditen (fünf Jahre) bzw. 120 Monatsrenditen (zehn Jahre) seit Beginn der gemeinsamen Kurse im gewählten Zeitraum, mit fünf Startwerten.
- Neuschätzung an jedem 12. Monatsende danach, also jährlich, mit allen Renditen bis dahin (erweiterndes Fenster). Startwerte sind die Parameter der letzten Schätzung (Warmstart) und ein frischer Start nach der rollierenden Volatilität; es gewinnt die höhere Likelihood.
- Dazwischen nur filtern: Die Wahrscheinlichkeit zum Monatsende t ist der Hamilton-Filter über alle Renditen bis t mit den Parametern der letzten Schätzung bis t. Zum Monatsende zählt die letzte abgeschlossene Woche; die Tage zwischen ihr und dem Monatsende gehen erst in den Folgemonat ein.
- P(Turbulent) ist die gefilterte Wahrscheinlichkeit des Regimes mit der höchsten Volatilität. Bei drei Regimen zählt „Normal“ wie „Ruhig“.
- Regel: Bei Schwelle (Voreinstellung) geht das ganze Basisportfolio ins Ausweich-Asset, wenn P(Turbulent) über der Schwelle liegt (Voreinstellung 50 %, wählbar 30 bis 90 %); sonst gelten die Basisgewichte. Bei Anteil nach Wahrscheinlichkeit liegen 1 − P(Turbulent) im Basisportfolio, der Rest im Ausweich-Asset.
- Umsetzung, Kosten und Vergleich wie bei allen Taktik-Modellen: zum Schlusskurs desselben Monatsendes oder einen Monat später, wahlweise mit Handelskosten je Order, verglichen mit Kaufen und Halten der Basisgewichte ab der ersten Umsetzung, also erst ab der ersten Schätzung (Methodik Taktik).
- Nur Monatskurse: Liegen im Median mehr als 20 Tage zwischen zwei Kursen, etwa bei Anlageklassen mit Monatswerten, rechnet das Modell mit Monatsrenditen statt Wochenrenditen und sagt es in einem Hinweis.
| Einstellung | Voreinstellung | Wählbar |
|---|---|---|
| Zahl der Regime | 2 (Ruhig, Turbulent) | 2 oder 3 (mit Normal) |
| Renditen | wöchentlich | wöchentlich oder monatlich |
| Regel | Schwelle | Schwelle oder Anteil nach Wahrscheinlichkeit |
| Schwelle für P(Turbulent) | 50 % | 30 bis 90 % |
| Signal aus | Basisportfolio | Basisportfolio oder eigener Ticker (nur Signal) |
| Erste Schätzung | nach 260 Wochen- bzw. 120 Monatsrenditen | – |
| Neuschätzung | an jedem 12. Monatsende | – |
Der Reiter Regime im Ergebnis zeigt P(Turbulent) je Monatsende, bei der Regel Schwelle mit der Schwellenlinie, die Regime zum letzten Monatsende mit Mittel, Volatilität, erwarteter Dauer und Wahrscheinlichkeit aus der dann gültigen Schätzung, die Übergangsmatrix sowie Zahl und Datum der Schätzungen. Hinweise nennen die Quelle des Signals und die erste Schätzung mit der Zahl ihrer Renditen.
Daten und Einstellungen der Seite Regime
| Einstellung | Voreinstellung | Wählbar |
|---|---|---|
| Reihe | S&P 500 (^GSPC) | die 30 Märkte der Seite Blasen in vier Gruppen oder ein eigenes Symbol |
| Zahl der Regime | 2 | 2, 3, 4 oder Auto (BIC) |
| Renditen | wöchentlich | wöchentlich oder monatlich |
| Start | ganze Historie | ein Jahr von 1900 bis zum laufenden Jahr |
- Kurse aus dem Kurs-Cache der App in Handelswährung bzw. Indexpunkten, ohne Umrechnung (anders als die Taktik, die in der Basiswährung rechnet).
- Mindestens 100 Renditen; sonst nennt die Seite die vorhandene Zahl und das Minimum.
- Nur Monatswerte: Liegen bei den letzten 260 Kursen im Median mehr als 20 Tage zwischen zwei Kursen, rechnet die Seite mit Monatsrenditen und sagt es.
- Zwischenspeicher: die vier Schätzungen je Reihe, Frequenz und Startjahr und die Antwort je Zahl der Regime, höchstens 12 Stunden und nur bis Mitternacht, denn am nächsten Tag gibt es neue Schlusskurse.
Grenzen
- Normalverteilung je Regime: Innerhalb eines Regimes hat die Rendite keine Fat Tails, keine Schiefe und keine eigene Dynamik der Volatilität; schwere Ränder entstehen nur aus der Mischung der Regime. Rydén u. a. (1998) zeigen an zehn Teilreihen von rund 17.000 Tagesrenditen des S&P 500, dass ein HMM aus Normalverteilungen die meisten stilisierten Fakten gut nachbildet. Die geschätzten Parameter schwankten aber von Teilreihe zu Teilreihe teils erheblich.
- Feste Parameter: Innerhalb einer Schätzung gelten μ, σ und A für die ganze Reihe. Nystrup u. a. (2017) lassen die Parameter mit der Zeit wandern; so bildet schon ein Modell mit zwei Regimen das lange Gedächtnis quadrierter Tagesrenditen nach, das mit einem HMM bis dahin am schwersten zu treffen war. Portfolio Lab passt die Parameter nur über die jährliche Neuschätzung in der Taktik an.
- Parameterunsicherheit: Die Seiten zeigen Punktschätzungen ohne Standardfehler. Bei wenigen Wechseln sind vor allem die Übergangswahrscheinlichkeiten und damit die erwarteten Dauern unsicher.
- Zahl der Regime: Die Zahl der Parameter wächst quadratisch mit K; deshalb haben solche Modelle für Finanzrenditen laut Nystrup, Madsen und Lindström (2015) selten mehr als zwei Zustände. AIC und BIC können sich widersprechen, und die Taktik erlaubt nur zwei oder drei Regime.
- Label Switching: Die Sortierung nach Volatilität legt fest, welches Regime „Turbulent“ heißt. Liegen zwei Regime in der Volatilität nah beieinander, kann eine Neuschätzung ihre Rollen tauschen; die Seiten melden das (Abgleich, Abstand, Startwerte), beheben lässt es sich nicht. Stephens (2000) zeigt für bayessche Mischmodelle, dass solche künstlichen Ordnungsbedingungen das Problem im Allgemeinen nicht lösen. Wer häufige Wechsel oder knappe Abstände sieht, wählt besser weniger Regime.
- Lokale Maxima: Fünf Startwerte senken das Risiko, ein schlechtes lokales Maximum zu erwischen, schließen es aber nicht aus.
- Viele Wechsel bei der anteiligen Regel: 1 − P(Turbulent) ändert sich jeden Monat, also wird jeden Monat umgeschichtet, mit Kosten und im echten Depot mit Steuern. Die Schwelle handelt seltener, dafür ganz oder gar nicht. Bei Nystrup u. a. (2018) machte eine Strafe für häufiges Handeln das Verfahren robuster, und eine Optimierung mit Prognosen aus dem HMM schlug eine feste Entscheidungsregel wie diese.
- Statistische, nicht ökonomische Regime: Ruhig und Turbulent sind Ränge der Volatilität einer Reihe, keine Konjunkturphasen. Regelbasierte Makro-Regime beschreibt die Methodik Makro.
- Rückblick auf der Seite Regime: Geglättete Wahrscheinlichkeiten, Viterbi-Pfad und Parameter aus der ganzen Historie ändern sich mit jeder neuen Periode, auch für weit zurückliegende Wochen. Die Seite ist ein Werkzeug zur Analyse, keine Anlageberatung.
Häufige Fragen
Warum sieht die Seite Regime Krisen früher als das Taktik-Modell?
Weil sie im Rückblick rechnet: Die geglätteten Wahrscheinlichkeiten nutzen auch spätere Renditen, und die Parameter stammen aus der ganzen Historie. Das Taktik-Modell nutzt nur den Filter mit Parametern, die bis zum jeweiligen Monatsende geschätzt wurden. Es erkennt ein turbulentes Regime deshalb erst nach einigen schwachen oder stark schwankenden Wochen.
Was bedeutet „Turbulent“?
Das Regime mit der höchsten Volatilität der geschätzten Reihe. Die Namen folgen nur der Rangfolge der Volatilität; ein turbulentes Regime muss weder eine Krise noch eine negative Rendite bedeuten.
Wie viele Regime soll ich wählen?
Für eine einzelne Kursreihe sind zwei oder drei verbreitet; jedes weitere Regime kostet deutlich mehr Parameter. Auto wählt unter zwei bis vier Regimen das kleinste BIC; die Tabelle Modellwahl zeigt auch, ob schon ein einziges Regime das kleinste BIC hätte. Die Taktik bietet zwei oder drei Regime.
Warum ändern sich frühere Regime, wenn neue Kurse dazukommen?
Auf der Seite Regime werden die Parameter mit jeder neuen Periode neu geschätzt, und die geglätteten Wahrscheinlichkeiten nutzen alle Renditen bis zum Ende. Gleich bleiben nur gefilterte Werte mit festen Parametern. So rechnet das Taktik-Modell zwischen zwei Schätzungen.
Hängt das Ergebnis vom Zufall ab?
Nein. Die Startwerte nutzen einen festen Seed (1989); gleiche Daten und Einstellungen ergeben immer dasselbe Modell.
Wie lange dauert ein Regime im Mittel?
1 / (1 − a_kk) Perioden, wobei a_kk die Wahrscheinlichkeit ist, im Regime zu bleiben. Bei a_kk = 0,98 sind das 50 Wochen, bei 0,90 zehn Wochen.
Literatur
- Akaike, H. (1974): A new look at the statistical model identification. IEEE Transactions on Automatic Control 19 (6), S. 716–723. doi:10.1109/tac.1974.1100705
- Baum, Leonard E.; Petrie, Ted; Soules, George; Weiss, Norman (1970): A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains. The Annals of Mathematical Statistics 41 (1), S. 164–171. doi:10.1214/aoms/1177697196
- Dempster, A. P.; Laird, N. M.; Rubin, D. B. (1977): Maximum Likelihood from Incomplete Data Via the EM Algorithm. Journal of the Royal Statistical Society Series B: Statistical Methodology 39 (1), S. 1–22. doi:10.1111/j.2517-6161.1977.tb01600.x
- Hamilton, James D. (1989): A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle. Econometrica 57 (2), S. 357–384. doi:10.2307/1912559
- Kim, Chang-Jin (1994): Dynamic linear models with Markov-switching. Journal of Econometrics 60 (1–2), S. 1–22. doi:10.1016/0304-4076(94)90036-1
- Nystrup, Peter; Madsen, Henrik; Lindström, Erik (2015): Stylised facts of financial time series and hidden Markov models in continuous time. Quantitative Finance 15 (9), S. 1531–1541. doi:10.1080/14697688.2015.1004801
- Nystrup, Peter; Madsen, Henrik; Lindström, Erik (2017): Long Memory of Financial Time Series and Hidden Markov Models with Time-Varying Parameters. Journal of Forecasting 36 (8), S. 989–1002. doi:10.1002/for.2447
- Nystrup, Peter; Madsen, Henrik; Lindström, Erik (2018): Dynamic portfolio optimization across hidden market regimes. Quantitative Finance 18 (1), S. 83–95. doi:10.1080/14697688.2017.1342857
- Rabiner, L. R. (1989): A tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of the IEEE 77 (2), S. 257–286. doi:10.1109/5.18626
- Rydén, Tobias; Teräsvirta, Timo; Åsbrink, Stefan (1998): Stylized facts of daily return series and the hidden Markov model. Journal of Applied Econometrics 13 (3), S. 217–244. doi:10.1002/(sici)1099-1255(199805/06)13:3<217::aid-jae476>3.0.co;2-v
- Schwarz, Gideon (1978): Estimating the Dimension of a Model. The Annals of Statistics 6 (2), S. 461–464. doi:10.1214/aos/1176344136
- Stephens, Matthew (2000): Dealing With Label Switching in Mixture Models. Journal of the Royal Statistical Society Series B: Statistical Methodology 62 (4), S. 795–809. doi:10.1111/1467-9868.00265
- Viterbi, A. (1967): Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Transactions on Information Theory 13 (2), S. 260–269. doi:10.1109/tit.1967.1054010
Diese Seite beschreibt, wie Portfolio Lab rechnet; Ergebnisse aus der Vergangenheit sind keine Prognose. Alle Begriffe im Glossar.