σμ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
  • 日本語
  • 中文
Particle filtering and non-stationary time series-Skill›Modul 2 · Partikelfilter›Thema 2.2·~1 Std. 5 Min.Fortgeschritten

Der Bootstrap-Partikelfilter

Position in der SkillModul 2 von 3 · Thema 2 von 5
2.2 Der Bootstrap-Partikelfilter
—Lab-Punkte— / 100XP gesamt—Serie—

Eine Wolke, die dem Zustand folgt

Ein Partikelfilter hält die Überzeugung über den verborgenen Zustand als Wolke aus NNN Partikeln. Jedes Partikel ist ein möglicher Wert des Zustands und trägt ein Gewicht, das seine Plausibilität angibt. Es wird keine Glockenkurve angenommen, die Wolke kann also jede Form haben. Jeder Tag durchläuft denselben Zyklus. Propagieren: Jedes Partikel mit der eigenen Zufallsbewegung des Modells weiterbewegen. Gewichten: Jedem Partikel ein Gewicht geben, das der Likelihood der heutigen Beobachtung bei diesem Partikel entspricht. Schätzen: Der gefilterte Mittelwert ist der gewichtete Durchschnitt der Partikel. Neu ziehen: Eine frische Wolke ziehen, in der gute Partikel kopiert werden und schlechte verschwinden.

xt(i)=xt−1(i)+q z(i),w(i)=p(yt∣xt(i)),m^t=∑iw~(i)xt(i),p^(yt)=1N∑iw(i)x_t^{(i)}=x_{t-1}^{(i)}+\sqrt q\,z^{(i)},\quad w^{(i)}=p(y_t\mid x_t^{(i)}),\quad \hat m_t=\sum_i\tilde w^{(i)}x_t^{(i)},\quad \hat p(y_t)=\frac1N\sum_i w^{(i)}xt(i)​=xt−1(i)​+q​z(i),w(i)=p(yt​∣xt(i)​),m^t​=i∑​w~(i)xt(i)​,p^​(yt​)=N1​i∑​w(i)(1)

Er heißt Bootstrap-Filter, weil der Vorschlag der einfachste ist: der Übergang des Modells selbst. Damit ist das Gewicht eines Partikels genau die Likelihood. Das Rezept funktioniert für jedes Modell, das man vorwärts simulieren kann und dessen Beobachtungs-Likelihood man auswerten kann: nichtlineare Zustände, dicke Ränder, verborgene Volatilität, wo das Kalman-Filter keine exakte Antwort hat. Der Preis ist der Zufall. Zwei Läufe mit verschiedenen Zufallszahlen geben leicht verschiedene Antworten, und der Fehler schrumpft wie 1/N1/\sqrt N1/N​. In der Praxis fixiert man den Zufalls-Seed, damit ein Lauf reproduzierbar ist.

Ein Zyklus mit vier PartikelnNach dem Propagieren liegen die vier Partikel bei −1,0,1,2-1,0,1,2−1,0,1,2, und man beobachtet y=1y=1y=1 mit r=1r=1r=1. Die Likelihoods sind 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242 (die Normaldichte mit dem Faktor 1/2π1/\sqrt{2\pi}1/2π​) und die Gewichte 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. Der gefilterte Mittelwert ist 0,8850{,}8850,885. Die mittlere Likelihood, 0,2340{,}2340,234, schätzt, wie wahrscheinlich die Beobachtung war, und die Summe der Logarithmen dieser Mittel über alle Tage ist die Log-Likelihood des Modells. Zum Neuziehen nimmt man Gleichverteilte 0,05, 0,5, 0,6, 0,90{,}05,\ 0{,}5,\ 0{,}6,\ 0{,}90,05, 0,5, 0,6, 0,9 und sucht sie in den kumulierten Gewichten 0,058, 0,316, 0,742, 10{,}058,\ 0{,}316,\ 0{,}742,\ 10,058, 0,316, 0,742, 1. Sie wählen die Partikel 1,3,3,41,3,3,41,3,3,4, die neue Wolke ist also −1,1,1,2-1,1,1,2−1,1,1,2 mit gleichen Gewichten 0,250{,}250,25 und Mittelwert 0,750{,}750,75.
  • Vier Schritte pro Tag: propagieren, gewichten, schätzen, neu ziehen.
  • Gewicht = Likelihood: Nur der Gewichtungsschritt schaut auf die heutige Beobachtung.
  • Jedes Modell, das man simulieren kann: Es bewältigt nichtlineare und nicht-gaußsche Fälle zum Preis eines Zufallsfehlers der Ordnung 1/N1/\sqrt N1/N​.
Wie nah am Kalman-Filter?Beim Apple-Beta-Modell, wo Kalman exakt ist, weicht ein Bootstrap-Filter mit 500500500 Partikeln im Mittel um 0,0160{,}0160,016 davon ab, mit 200020002000 Partikeln um 0,00650{,}00650,0065. Vervierfachen der Partikel halbierte den Fehler ungefähr, wie 1/N1/\sqrt N1/N​ es vorhersagt.

Lab: Was bewertet wird

  • Das Gewicht eines Partikels15 Pkt.
  • Der gefilterte Mittelwert15 Pkt.
  • Likelihood der Beobachtung15 Pkt.
  • Nach dem Neuziehen10 Pkt.
  • Welcher Schritt die Daten nutzt10 Pkt.
  • Der Tageszyklus10 Pkt.
  • Begriffe zuordnen10 Pkt.
  • Warum Partikel hier Kalman schlagen15 Pkt.
0/ 8 beantwortet
Aufgaben
1Numerische Antwort15 Pkt.Nicht beantwortet

Die vier Partikel bei −1,0,1,2-1,0,1,2−1,0,1,2 haben die Likelihoods 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242 mit der Summe 0,9370{,}9370,937. Wie groß ist das normierte Gewicht des Partikels bei 111? Geben Sie drei Dezimalstellen an.

w=w =w=akzeptiert: ± 0.002
2Numerische Antwort15 Pkt.Nicht beantwortet

Die Partikel −1,0,1,2-1,0,1,2−1,0,1,2 haben die Gewichte 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. Wie groß ist der gefilterte Mittelwert, der gewichtete Durchschnitt der Partikel? Geben Sie drei Dezimalstellen an.

m=m =m=akzeptiert: ± 0.003
3Numerische Antwort15 Pkt.Nicht beantwortet

Die Likelihoods der vier Partikel summieren sich zu 0,9370{,}9370,937. Das Filter schätzt die Wahrscheinlichkeit der Beobachtung als ihren Durchschnitt. Wie groß ist sie? Geben Sie drei Dezimalstellen an.

p=p =p=akzeptiert: ± 0.002
4Numerische Antwort10 Pkt.Nicht beantwortet

Das Neuziehen wählte die Partikel −1, 1, 1, 2-1,\ 1,\ 1,\ 2−1, 1, 1, 2, jedes mit dem Gewicht 0,250{,}250,25. Wie groß ist der Mittelwert der neuen Wolke?

m=m =m=akzeptiert: ± 0.005
5Auswahl10 Pkt.Nicht beantwortet

Welcher Schritt des Bootstrap-Filters schaut auf die heutige Beobachtung?

6Schritte ordnen10 Pkt.Nicht beantwortet

Bringen Sie die Schritte eines Tages des Bootstrap-Filters in die richtige Reihenfolge.

Zum Umsortieren ziehen, oder ein Element fokussieren, mit Leertaste anheben, mit Pfeiltasten bewegen und mit Leertaste ablegen.

  1. 1Die Wolke neu ziehen
  2. 2Jedes Partikel mit der Zufallsbewegung des Modells bewegen
  3. 3Den gewichteten Durchschnitt als Schätzung nehmen
  4. 4Jedes Partikel mit der Likelihood der Beobachtung gewichten
7Zuordnen10 Pkt.Nicht beantwortet

Ordnen Sie jedem Begriff seine Bedeutung zu.

Wähle den Partner für jedes Element links.

Partikel
Gewicht
Propagieren
Neu ziehen
8In Worten erklären15 Pkt.Nicht beantwortet

Erklären Sie in ein bis zwei Sätzen, warum man einen Partikelfilter bei nichtlinearen oder nicht-gaußschen Modellen einsetzen kann, das Kalman-Filter aber nicht.

Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 8 · Strg ⏎ zum Prüfen

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