σμ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.5·~1 時間上級

パージとエンバーゴ付きの分割器

スキル上の位置モジュール 3/4 · トピック 5/9
3.5 パージとエンバーゴ付きの分割器
—ラボスコア— / 100合計XP—連続日数—

隣り合う行がラベルを共有するとき

日 t のラベルを、日 t の終値から日 t+h の終値までのリターン(h=5)とします。すると日 t と日 t+1 のラベルは5つの日次リターンのうち4つを共有し、ほぼ同じ数値です。日 t を学習に、日 t+1 をテストに入れるK分割では、モデルはテスト対象の答えを見てしまいます。最近傍法のような柔軟なモデルは、覚えているだけで優秀に見えます。漏れの形は正確に決まります。行 i のラベルは行 i+h で初めて分かるので、i+h≥t₀ かつ i≤t₁ のとき、行 i はテストブロック [t₀,t₁] と重なります。

パージは、テストブロックと重なる学習行をすべて取り除きます。エンバーゴは、ブロックの直後のさらにいくつかの行を取り除きます。20日リターンのようなゆっくり動く特徴量が情報を前へ運び続けるからです。scikit-learnの分割器は、(train, test) のインデックス配列を返す split(X) と get_n_splits() を持つ任意のオブジェクトで、cross_val_score や GridSearchCV に cv= として渡せます。SPYの5,340日、4つの低速な特徴量、5日ラベルでは、最近傍モデルのR2はシャッフルしたフォールドで0.039、パージしたフォールドで-0.36です。モデルに能力はなく、シャッフルの数字は漏れが語っているのです。シャッフルしない普通のK分割ははるかに良いですが、4つの境界に120組の重なりが残ります。パージした分割器には1組もありません。

  • 重なるラベルは分割の両側にほぼ同じ行を置き、シャッフルK分割は記憶を高く評価してしまう。
  • i+h≥t₀ かつ i≤t₁ の行をパージし、t₁ の後の数行をエンバーゴする。
  • 分割器は split と get_n_splits だけ。両方を持つ任意のオブジェクトが cv= として使える。

ラボ:採点される内容

  • パージとエンバーゴ25点
  • 分割器25点
  • スコア関数10点
  • 重なりの数え上げ15点
  • 漏れの研究25点
エクスプローラー · lab-sl-19
▾ lab-sl-19
▾ data
…
bash · ブラウザ内
learner@quantcraft:~/lab-sl-19$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

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

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

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

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

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

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