σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Time Series-Skill›Modul 5 · Bewertung und Praxis›Thema 5.3·~1 Std. 40 Min.Fortgeschritten

Abschlussprojekt: ein Volatilitätsprognose-Wettbewerb mit echten Daten

Position in der SkillModul 5 von 5 · Thema 3 von 3
5.3 Abschlussprojekt: ein Volatilitätsprognose-Wettbewerb mit echten Daten
—Lab-Punkte— / 100XP gesamt—Serie—

Von vier Modellen zu einem fairen Wettbewerb

Jedes Werkzeug dieser Fähigkeit beantwortet eine Frage: Wie groß wird die Bewegung von morgen? Eine konstante Varianz, ein exponentiell gewichteter Durchschnitt, ein GARCH(1,1) und eine HAR-Regression auf die tägliche Hoch-Tief-Spanne geben vier Antworten, und der einzige ehrliche Weg zur Auswahl ist ein Wettbewerb mit fairen Regeln. Jede Prognose für Tag t darf nur Daten vor Tag t nutzen. GARCH wird einmal auf den ersten 1000 Tagen angepasst und nie neu. Alle vier werden auf den folgenden Tagen gegen die quadrierte Rendite bewertet, mit einem Verlust, der das Unterschätzen der Varianz stärker bestraft als das Überschätzen. Es genügt NumPy.

hₜ=λhₜ₋₁+(1-λ)rₜ₋₁², hₜ=ω+αrₜ₋₁²+βhₜ₋₁, ω=(1-α-β)σ²

EWMA und GARCH aktualisieren beide einen Varianzzustand mit der gestrigen quadrierten Rendite. GARCH hat mehr Spielraum: Seine Parameter werden durch Maximieren einer Gauß-Likelihood gewählt, hier auf einem kleinen Raster, mit der langfristigen Varianz σ² fest auf dem Stichprobenwert (Variance Targeting). Das HAR-Modell liest stattdessen die Spanne. Sein Merkmal für Tag t entsteht aus der Parkinson-Varianz der Vortage: der gestrige Wert, der Mittelwert der letzten 5 Tage und der der letzten 22. Sein Ziel ist die quadrierte Rendite, verrauscht, aber auf dem richtigen Niveau, und es wird alle 21 Tage auf den vorherigen 750 Tagen neu angepasst. Bewertet wird mit der mittleren QLIKE, y/h-ln(y/h)-1 mit y dem Näherungswert und h der Prognose, und die Diebold-Mariano-Statistik zeigt, ob ein Unterschied zweier Prognostiker über den Zufall hinausgeht.

QLIKE=y/h-ln(y/h)-1, DM=(mean(d))/(std(d)/√n), d=L₁-L₂
Was die echten Daten sagenBeim SPY, bewertet auf den 4404 Tagen nach den ersten 1000, beträgt die mittlere QLIKE gegen die quadrierte Rendite etwa 2,03 für die konstante Prognose, 1,63 für den EWMA, 1,59 für das GARCH (Rasterwahl α=0,11, β=0,88, also Persistenz 0,99) und 1,56 für das HAR-Modell auf der Spanne. Jede Stufe nach unten ist eine bessere Prognose. Die Diebold-Mariano-Statistik beträgt etwa 3,5 für EWMA gegen GARCH und 3,6 für EWMA gegen HAR, weit über 1,96. GARCH gegen HAR ergibt etwa 1,9, knapp unter der Signifikanz bei 5 %. Bei einem so verrauschten Näherungswert wie einer einzelnen quadrierten Rendite bleiben die Abstände bescheiden, auch wenn die Reihenfolge klar ist.
  • Faire Regeln: Eine Prognose für Tag t nutzt nur frühere Daten, das GARCH wird vor der Bewertungsperiode angepasst und mit festen Parametern vorwärts gefiltert.
  • QLIKE ist der Verlust, die quadrierte Rendite der Näherungswert, und Diebold-Mariano zeigt, ob sich zwei Prognostiker wirklich unterscheiden.
  • Leiter: konstant, EWMA, GARCH, HAR auf der Spanne; jede Stufe senkt den Verlust beim SPY, aber der letzte Abstand liegt im Rauschen.
Vier Vereinfachungen, die man kennen sollteDer Näherungswert ist eine einzelne quadrierte Rendite, daher sind alle Verluste hoch und die Unterschiede klein; eine realisierte Varianz würde sie schärfen. Das GARCH wird einmal auf einem groben Raster angepasst und nie aktualisiert, ein Live-System würde es neu anpassen. Die Likelihood ist gaußsch, obwohl Renditen dicke Ränder haben. Und die Bewertung gilt für einen Wert in einem Zeitraum mit einer Krise: Ein Sieger hier ist kein Versprechen für das nächste Jahrzehnt.

Lab: Was bewertet wird

  • Eine Spannenvarianz10 Pkt.
  • Ein EWMA-Prognostiker15 Pkt.
  • Ein GARCH-Filter15 Pkt.
  • Ein GARCH auf einem Raster anpassen15 Pkt.
  • Ein HAR-Prognostiker20 Pkt.
  • Der QLIKE-Verlust10 Pkt.
  • Die Diebold-Mariano-Statistik5 Pkt.
  • Der Wettbewerb10 Pkt.
Explorer · lab-tz-12
▾ lab-tz-12
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-tz-12$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

Alles in lab-tz-12 wird auf die Startdateien zurückgesetzt und das Terminal geleert. Ihre aktuelle Lösung geht verloren – das lässt sich nicht rückgängig machen.

Wird zurückgesetzt
  • main.py → Startcode
  • Terminal-Verlauf und Testausgabe
  • Nicht eingereichte Änderungen
Bleibt erhalten
  • Beste Lab-Punktzahl
  • Ihre XP und Ihre Serie
  • Vorlesungsfortschritt und Notizen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub