σμ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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • 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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
scikit-learn スキル›モジュール 3 · 公正な評価›トピック 3.9·~50 分上級

自分を欺かない探索

スキル上の位置モジュール 3/4 · トピック 9/9
3.9 自分を欺かない探索
—ラボスコア— / 100合計XP—連続日数—

多数の中の最良は大半が運

GridSearchCV はグリッド上の各設定を試し、交差検証でスコアを付け、最良のものを残します。金融データでは分割は時間順に進めなければならず、TimeSeriesSplit(5) は過去で学習し、続くブロックで検証することを5回行います。スコアにはAUC(scoring='roc_auc')を使えます。パイプラインでは、設定はステップ名、アンダースコア2つ、パラメータ名で指定します:'logit__C'。探索後、best_params_ が勝者、cv_results_['mean_test_score'] が各グリッド点のスコアを持ち、既定の refit=True では探索オブジェクト自身が、受け取った全データで再学習した最良モデルで予測します。設定が少なくスコアが滑らかなら、最良の検証スコアはわずかな過大評価にとどまります。60列のリターンでは、Cのグリッドは AUC 0.512、0.500、0.504 を与え、見つけるものがないので調整しても何も変わりません。

危険は候補の数とともに大きくなります。真の能力がゼロの n 個のモデルを引くと、検証スコアは標準偏差 σ で平均の周りに散らばり、最良のものは平均より約 σ((1-γ)Φ⁻¹(1-1/n)+γΦ⁻¹(1-1/ne)) 高くなります。γ=0.5772 はオイラー定数、Φ⁻¹ は正規分布の分位点です。60列のうち3列ずつを使う 12 個のランダムなモデルを試すと、最良の検証AUCは 0.523 で、運だけで予測される値は 0.523 です。勝者を学習行で再学習し、見たことのない後半30%の日で採点すると、AUCは 0.478 でコイン以下です。これが勝者の呪いです。防御策は、どの探索も触れない最終ホールドアウト、候補を減らすこと、そして最良スコアのどれだけをこの式がすでに説明するかを冷静に見ることです。

  • 時間順に進める:時系列では探索に TimeSeriesSplit を使い、シャッフルしたフォールドは使わない。
  • n 個の最良は、何も効かなくても平均を約 σ Φ⁻¹(1-1/n) 上回る。
  • どの探索も触れない最終ホールドアウトを取っておき、検証スコアではなくそのスコアを報告する。

ラボ:採点される内容

  • パイプライン5点
  • グリッド探索20点
  • 検証スコア10点
  • 多数の小さなモデル20点
  • 運による期待最良値10点
  • 勝者の呪い15点
  • 研究20点
エクスプローラー · lab-sl-20
▾ lab-sl-20
▾ data
…
bash · ブラウザ内
learner@quantcraft:~/lab-sl-20$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

このトピックをリセットしますか?

lab-sl-20 の内容はすべてスターターファイルに戻り、ターミナルも消去されます。現在の解答は失われ、元に戻せません。

リセットされるもの
  • main.py → スターターコード
  • ターミナル履歴とテスト出力
  • 未提出の変更
保持されるもの
  • ラボの最高スコア
  • XPと連続日数
  • 講義の進捗とメモ

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける