σμ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.2·~50 Min.Mittelstufe

Einen eigenen Estimator schreiben

Position in der SkillModul 1 von 4 · Thema 2 von 5
1.2 Einen eigenen Estimator schreiben
—Lab-Punkte— / 100XP gesamt—Serie—

Der Estimator-Vertrag

Jedes scikit-learn-Modell folgt einem Vertrag, und dieser Vertrag macht Modelle austauschbar, verkettbar und abstimmbar. __init__ speichert nur die erhaltenen Parameter unter denselben Namen, ohne Prüfungen und Berechnungen: Nur so funktionieren get_params, set_params und clone. fit(X, y) lernt aus den Daten, legt das Gelernte in Attributen ab, die auf einen Unterstrich enden (coef_, intercept_, n_features_in_), und gibt self zurück, damit sich Aufrufe verketten lassen. predict(X) ruft zuerst check_is_fitted auf, das NotFittedError auslöst, wenn fit nicht lief, prüft dann X mit check_array und wendet das Gelernte an. Erben Sie von BaseEstimator für die Parameterverwaltung und von RegressorMixin für eine kostenlose score-Methode (das Mixin zuerst).

Das Modell in diesem Labor ist die Ridge-Regression. Mit zentrierten Daten löst sie (XᵀX+αI) w=Xᵀy, und der Achsenabschnitt ist ȳ-x̄·w. Ein größeres α schrumpft die Koeffizienten gegen null, eine gute Gewohnheit bei verrauschten verzögerten Renditen. Weil Ihre Klasse den Vertrag einhält, akzeptieren make_pipeline(StandardScaler(), ShrinkageRegressor()), cross_val_score und GridSearchCV sie, und clone(model) liefert eine frische, ungefittete Kopie. Das ist bei einer Walk-forward-Auswertung wichtig: Fitten Sie auf jedem Trainingsfenster einen Klon, nie das Modell selbst, sonst sickert Information eines Folds in den nächsten. Die Note einer Renditeprognose ist die Spearman-Rangkorrelation zwischen Prognosen und Ergebnissen auf den Testzeilen, der Information Coefficient.

  • Parameter hinein, gelernte Attribute heraus: __init__ speichert, fit lernt in Namen mit Unterstrich am Ende und gibt self zurück.
  • Vor dem Vorhersagen prüfen: check_is_fitted und check_array liefern die Standardfehler, die Pipelines und Nutzer erwarten.
  • Einen Klon fitten: In einer Walk-forward-Schleife hält clone(model).fit(...) die Folds unabhängig.

Lab: Was bewertet wird

  • Verzögerte Merkmale10 Pkt.
  • Ridge aus den Normalgleichungen15 Pkt.
  • Der Konstruktor10 Pkt.
  • Fitten und vorhersagen20 Pkt.
  • Mit Pipeline und GridSearchCV arbeiten10 Pkt.
  • Eine Walk-forward-Rangkorrelation15 Pkt.
  • Sagt die Vergangenheit von SPY den nächsten Tag voraus?20 Pkt.
Explorer · lab-sl-13
▾ lab-sl-13
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-sl-13$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

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