σμ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 1 · Arbeiten mit Estimatoren›Thema 1.3·~50 Min.Mittelstufe

Aufteilungen und Leakage im Finanzbereich

Position in der SkillModul 1 von 4 · Thema 3 von 5
1.3 Aufteilungen und Leakage im Finanzbereich
—Lab-Punkte— / 100XP gesamt—Serie—

Warum die Aufteilung alles entscheidet

Ein Modell wird an Daten beurteilt, die es nicht gesehen hat. Im Finanzbereich gibt es drei Mengen: Trainingsdaten zum Anpassen, Validierungsdaten zum Wählen der Einstellungen und Testdaten, einmal genutzt, zum Berichten des Ergebnisses. Sie müssen der Zeit folgen: auf der Vergangenheit trainieren, auf dem nächsten Abschnitt validieren, auf dem letzten testen. Eine zufällige Aufteilung legt Tage desselben Sturms in beide Mengen, das Modell erkennt dann Nachbarn, statt eine Regel zu lernen. Leakage heißt, dass Informationen aus der Validierungs- oder Testzeit in den Trainingsschritt gelangen. Es gibt vier häufige Formen: einen auf allen Tagen angepassten Scaler, ein Merkmal mit einem künftigen Preis, eine zielähnliche Spalte, die erst später bekannt ist, und sich zeitlich überlappende Labels.

Überlappende Labels verdienen besondere Sorgfalt. Ist das Label die Rendite der nächsten HHH Monate, teilen das Label einer Trainingszeile iii und einer Testzeile jjj Monate, sobald i+H>ji+H>ji+H>j. Die letzten H−1H-1H−1 Trainingszeilen vor dem Testzeitraum kennen also einen Teil des Testergebnisses. Das Heilmittel ist das Purging, das diese Zeilen entfernt, und das Embargo, das einen Sicherheitsabstand hält, wie die nächsten Themen zeigen. Eine kleine Zahl zeigt die Größe: Bei 100010001000 Monatszeilen legt eine 60/20/2060/20/2060/20/20-Aufteilung den Testzeitraum auf Zeile 800800800, und für H=3H=3H=3 überlappen zwei Trainingszeilen an jeder Grenze.

(i, i+H]∩(j, j+H]≠∅  ⟺  i+H>j(i<j)(i,\,i+H]\cap(j,\,j+H]\neq\varnothing\iff i+H>j\qquad(i<j)(i,i+H]∩(j,j+H]=∅⟺i+H>j(i<j)(1)
Zahlen und ein echtes BeispielSind die Trainingswerte 2,4,6,82,4,6,82,4,6,8, lernt der Scaler den Mittelwert 555. Auf allen Tagen angepasst, einschließlich eines Testwerts 202020, würde er den Mittelwert 888 lernen, ein Unterschied von 333 aus der Zukunft. Bei echten Daten nehmen wir den SPY und lassen einen Random Forest die Volatilität der nächsten 202020 Tage aus der jüngsten Volatilität vorhersagen. Eine gemischte 5-fache Aufteilung ergibt R2=0,60R^{2}=0{,}60R2=0,60. Eine zeitlich geordnete Walk-forward-Aufteilung mit 202020 Tagen Purging ergibt R2=−2,10R^{2}=-2{,}10R2=−2,10. Der gemischte Wert ist um 2,702{,}702,70 höher, weil benachbarte Tage 191919 ihrer 202020 Label-Tage teilen und weil ein zeitlich geordneter Test Stürme bewältigen muss, die er nicht gesehen hat.
  • Nach Zeit aufteilen: auf der Vergangenheit trainieren, auf dem nächsten Abschnitt validieren, auf dem letzten testen und den Test nur einmal ansehen.
  • Vier Leaks: angepasste Vorverarbeitung, künftige Merkmale, zielähnliche Spalten und überlappende Labels.
  • Ein gemischter Wert ist ein Warnsignal: Hebt das Mischen der Tage den Wert stark, erkennt das Modell Nachbarn.

Lab: Was bewertet wird

  • Wo der Testzeitraum beginnt10 Pkt.
  • Die Trainingsgröße10 Pkt.
  • Was der Scaler aus der Zukunft lernt10 Pkt.
  • Überlappende Labels15 Pkt.
  • Wie stark ein Mischen schmeichelt10 Pkt.
  • Die richtige Aufteilung für eine Zeitreihe10 Pkt.
  • Ein leckfreier Ablauf10 Pkt.
  • Arten von Leakage10 Pkt.
  • Warum Mischen den Wert aufbläht15 Pkt.
0/ 9 beantwortet
Aufgaben
1Numerische Antwort10 Pkt.Nicht beantwortet

Es gibt 100010001000 Monatszeilen in zeitlicher Reihenfolge, aufgeteilt in 60%60\%60% Training, 20%20\%20% Validierung und 20%20\%20% Test. Bei welchem Zeilenindex (ab 000 gezählt) beginnt der Testzeitraum?

i=i =i=akzeptiert: ± 0.5
2Numerische Antwort10 Pkt.Nicht beantwortet

Wie viele Zeilen enthält bei derselben Aufteilung von 100010001000 Zeilen die Trainingsmenge?

n=n =n=akzeptiert: ± 0.5
3Numerische Antwort10 Pkt.Nicht beantwortet

Die Trainingswerte sind 2,4,6,82,4,6,82,4,6,8 (Mittelwert 555), der Testwert ist 202020. Ein auf allen fünf Werten angepasster Scaler lernt den Mittelwert 888. Um wie viel weicht der Mittelwert vom ehrlichen ab?

d=d =d=akzeptiert: ± 0.01
4Numerische Antwort15 Pkt.Nicht beantwortet

Das Label der Zeile iii ist die Rendite der nächsten H=3H=3H=3 Monate. Eine Trainingszeile iii und die erste Testzeile j=600j=600j=600 teilen Monate, wenn i+H>ji+H>ji+H>j. Wie viele Trainingszeilen i<600i<600i<600 überlappen das Label der Zeile 600600600?

k=k =k=akzeptiert: ± 0.01
5Numerische Antwort10 Pkt.Nicht beantwortet

Beim SPY erreicht ein Random Forest, der die Volatilität der nächsten 202020 Tage vorhersagt, R2=0,60R^{2}=0{,}60R2=0,60 bei gemischter Aufteilung und R2=−2,10R^{2}=-2{,}10R2=−2,10 bei Walk-forward mit Purging. Um wie viel schmeichelt das Mischen? Geben Sie zwei Dezimalstellen an.

g=g =g=akzeptiert: ± 0.02
6Auswahl10 Pkt.Nicht beantwortet

Sie wollen ein Modell für Tagesrenditen ehrlich beurteilen. Welche Aufteilung nutzen Sie?

7Schritte ordnen10 Pkt.Nicht beantwortet

Bringen Sie die Schritte einer leckfreien Bewertung in die richtige Reihenfolge.

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

  1. 1Den Testwert einmal ansehen und berichten
  2. 2Die Zeilen nach Zeit ordnen und in Training, Validierung und Test schneiden
  3. 3Die Einstellungen mit den Validierungsdaten wählen
  4. 4Vorverarbeitung und Modell an die Trainingsdaten anpassen
8Zuordnen10 Pkt.Nicht beantwortet

Ordnen Sie jeder Art von Leakage ihr Beispiel zu.

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

Vorverarbeitungs-Leak
Look-ahead-Merkmal
Ziel-Leak
Label-Überlappung
9In Worten erklären15 Pkt.Nicht beantwortet

Erklären Sie in ein bis zwei Sätzen, warum eine gemischte Aufteilung einen besseren Wert liefert als eine zeitlich geordnete, wenn das Ziel eine Rendite der nächsten 202020 Tage ist.

Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 9 · 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