σμ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
  • 日本語
  • 中文
scikit-learn-Skill›Modul 3 · Ehrliche Bewertung›Thema 3.5·~1 Std.Fortgeschritten

Ein Splitter mit Purging und Embargo

Position in der SkillModul 3 von 4 · Thema 5 von 9
3.5 Ein Splitter mit Purging und Embargo
—Lab-Punkte— / 100XP gesamt—Serie—

Wenn Nachbarn ein Label teilen

Angenommen, das Label von Tag t ist die Rendite vom Schlusskurs von Tag t bis zum Schlusskurs von Tag t+h, mit h=5. Dann teilen die Labels von Tag t und Tag t+1 vier ihrer fünf Tagesrenditen: Sie sind fast dieselbe Zahl. Ein K-Fold, der Tag t ins Training und Tag t+1 in den Test legt, lässt das Modell die Antwort sehen, mit der es geprüft wird. Ein flexibles Modell wie nächste Nachbarn wirkt dann allein durch Erinnern fähig. Das Leck hat eine genaue Form: Das Label der Zeile i ist erst in Zeile i+h bekannt, also überlappt Zeile i einen Testblock [t₀,t₁], wenn i+h≥t₀ und i≤t₁.

Das Purging entfernt jede Trainingszeile, die den Testblock überlappt. Das Embargo entfernt direkt nach dem Block noch einige Zeilen, weil langsame Merkmale wie eine 20-Tage-Rendite Information nach vorn tragen. Ein Splitter für scikit-learn ist jedes Objekt mit split(X), das (train, test)-Indexarrays liefert, und get_n_splits(); er kann dann als cv= an cross_val_score oder GridSearchCV übergeben werden. Bei 5.340 SPY-Tagen mit vier langsamen Merkmalen und einem Fünf-Tage-Label hat ein Nächste-Nachbarn-Modell ein R-Quadrat von 0,039 mit gemischten Folds und -0,36 mit gepurgten Folds. Das Modell hat keine Fähigkeit, und die gemischte Zahl ist das Leck, das spricht. Ein einfaches ungemischtes K-Fold ist viel besser, hat aber an den vier Grenzen noch 120 überlappende Paare; der gepurgte Splitter hat keines.

  • Überlappende Labels legen Beinahe-Kopien auf beide Seiten der Teilung; gemischtes K-Fold belohnt dann Erinnern.
  • Purgen Sie Zeilen mit i+h≥t₀ und i≤t₁; Embargo für einige Zeilen nach t₁.
  • Ein Splitter ist nur split und get_n_splits: Jedes Objekt mit beiden funktioniert als cv=.

Lab: Was bewertet wird

  • Purging und Embargo25 Pkt.
  • Der Splitter25 Pkt.
  • Der Bewerter10 Pkt.
  • Überlappungen zählen15 Pkt.
  • Die Leckstudie25 Pkt.
Explorer · lab-sl-19
▾ lab-sl-19
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-sl-19$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

Alles in lab-sl-19 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