σμ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
  • 日本語
  • 中文
statsmodels-Skill›Modul 2 · Modelle für Zeitreihen›Thema 2.7·~55 Min.Fortgeschritten

Ein Local-Level-Modell für verrauschte Volatilität

Position in der SkillModul 2 von 3 · Thema 7 von 9
2.7 Ein Local-Level-Modell für verrauschte Volatilität
—Lab-Punkte— / 100XP gesamt—Serie—

Ein verborgenes Niveau hinter verrauschten Messungen

Ein Zustandsraummodell hat einen verborgenen Zustand, der sich in der Zeit entwickelt, und verrauschte Beobachtungen davon. Das einfachste, das Local-Level-Modell, lautet yₜ=μₜ+eₜ mit eₜ (variance σ²ₑ) und μₜ=μₜ₋₁+hₜ mit hₜ (variance σ²ₕ): Das Niveau μₜ ist ein Random Walk, und jede Messung fügt unabhängiges Rauschen hinzu. UnobservedComponents(y, level='llevel').fit(disp=False) schätzt σ²ₑ (sigma2.irregular) und σ²ₕ (sigma2.level) per Maximum Likelihood. Das Verhältnis q=σ²ₕ/σ²ₑ ist das Signal-Rausch-Verhältnis: Ein kleines q bedeutet ein langsames Niveau und viel Rauschen, das herauszumitteln ist. Für die monatliche Log-Volatilität von SPY über 258 Monate ist σ̂²ₑ=0,089 und σ̂²ₕ=0,045, also q=0,50.

Der Kalman-Filter schätzt das Niveau jeden Monat in zwei Schritten: vorhersagen μ̂_(t|t-1)=μ̂_(t-1|t-1), dann mit der Überraschung korrigieren, μ̂_(t|t)=μ̂_(t|t-1)+Kₜ (yₜ-μ̂_(t|t-1)). Nach einer Anlaufphase stabilisiert sich der Gain bei K=P/(P+1) mit P=1/2(q+√(q²+4q)), und der Filter ist dann genau ein exponentiell gewichteter gleitender Durchschnitt mit Gewicht K: Hier ist K=0,502, und pd.Series(y).ewm(alpha=K, adjust=False).mean() stimmt mit dem gefilterten Niveau auf 7×10⁻¹⁰ überein. Dasselbe Modell ist ein ARIMA(0,1,1) mit MA-Koeffizient -(1-K)=-0,498: beide haben ein AIC von 290,526. Das gefilterte Niveau res.filtered_state[0] nutzt nur Daten bis t. Das geglättete Niveau res.smoothed_state[0] nutzt die ganze Stichprobe: Schneidet man die Daten bei Monat 200 mit denselben Parametern ab, ändert sich das gefilterte Niveau gar nicht, das geglättete aber um 0,116. Ein Glätter ist ein Werkzeug zum Zurückblicken, niemals ein Signal. Die Prognose des Niveaus ist flach bei -2,09, ihr 95-%-Intervall weitet sich von ±0,83 auf ±1,61.

  • Rauschen plus Niveau: Das Signal-Rausch-Verhältnis q bestimmt, wie stark jede neue Beobachtung die Schätzung bewegt.
  • Der Filter ist ein EWMA und das Local-Level-Modell ein ARIMA(0,1,1): drei Namen für eine Idee.
  • Gefiltert nutzt die Vergangenheit, geglättet die Zukunft: nie auf einer geglätteten Reihe handeln.

Lab: Was bewertet wird

  • Die Local-Level-Anpassung10 Pkt.
  • Die zwei Varianzen10 Pkt.
  • Gefiltertes und geglättetes Niveau5 Pkt.
  • Der stationäre Gain15 Pkt.
  • Der Filter als EWMA15 Pkt.
  • Schaut es voraus?20 Pkt.
  • Ein ARIMA im Gewand10 Pkt.
  • Die Volatilitätsstudie15 Pkt.
Explorer · lab-sx-18
▾ lab-sx-18
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-sx-18$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

Alles in lab-sx-18 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