σμ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 AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • 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 AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours scikit-learn›Module 1 · La façon de travailler avec les estimateurs›Sujet 1.2·~50 minIntermédiaire

Écrire votre propre estimateur

Position dans le parcoursModule 1 sur 4 · Sujet 2 sur 5
1.2 Écrire votre propre estimateur
—Score du lab— / 100XP total—Série—

Le contrat des estimateurs

Tout modèle scikit-learn suit un contrat, et ce contrat permet d'échanger, d'enchaîner et de régler les modèles. __init__ se contente de stocker les paramètres reçus, sous les mêmes noms, sans vérification ni calcul : c'est ce qui fait fonctionner get_params, set_params et clone. fit(X, y) apprend des données, stocke ce qu'il a appris dans des attributs qui finissent par un tiret bas (coef_, intercept_, n_features_in_) et renvoie self, pour pouvoir chaîner les appels. predict(X) appelle d'abord check_is_fitted, qui lève NotFittedError si fit n'a pas été exécuté, puis valide X avec check_array et applique ce qui a été appris. Héritez de BaseEstimator pour la gestion des paramètres et de RegressorMixin pour une méthode score gratuite (mettez le mixin en premier).

Le modèle de ce lab est la régression ridge. Avec des données centrées, elle résout (XᵀX+αI) w=Xᵀy, et l'ordonnée à l'origine vaut ȳ-x̄·w. Un α plus grand ramène les coefficients vers zéro, bonne habitude quand les variables sont des rendements décalés bruités. Comme votre classe respecte le contrat, make_pipeline(StandardScaler(), ShrinkageRegressor()), cross_val_score et GridSearchCV l'acceptent, et clone(model) donne une copie neuve non ajustée. Ce dernier point compte dans une évaluation walk-forward : ajustez un clone sur chaque fenêtre d'entraînement, jamais le modèle lui-même, sinon l'information d'un pli fuit dans le suivant. Le score d'une prévision de rendement est la corrélation de rang de Spearman entre prévisions et résultats sur les lignes de test, le coefficient d'information.

  • Paramètres en entrée, attributs appris en sortie : __init__ stocke, fit apprend dans des noms finissant par un tiret bas et renvoie self.
  • Vérifier avant de prédire : check_is_fitted et check_array donnent les erreurs standard qu'attendent les pipelines et les utilisateurs.
  • Ajuster un clone : dans une boucle walk-forward, clone(model).fit(...) garde les plis indépendants.

Lab : ce qui est noté

  • Variables décalées10 pts
  • Ridge par les équations normales15 pts
  • Le constructeur10 pts
  • Ajuster et prédire20 pts
  • Travailler avec Pipeline et GridSearchCV10 pts
  • Une corrélation de rang walk-forward15 pts
  • Le passé de SPY prédit-il son lendemain ?20 pts
Explorateur · lab-sl-13
▾ lab-sl-13
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-sl-13$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-sl-13 revient aux fichiers de départ et le terminal est vidé. Votre solution actuelle sera perdue : cette action est irréversible.

Sera réinitialisé
  • main.py → code de départ
  • Historique du terminal et sortie des tests
  • Modifications non soumises
Sera conservé
  • Meilleur score du lab
  • Votre XP et votre série
  • Progression du cours et notes

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub