σμ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 スキル›モジュール 2 · 中核となるモデル›トピック 2.2·~50 分中級

リッジ・ラッソ・エラスティックネットのパスをコードで

スキル上の位置モジュール 2/4 · トピック 2/6
2.2 リッジ・ラッソ・エラスティックネットのパスをコードで
—ラボスコア— / 100合計XP—連続日数—

ペナルティ、パス、正直なチューニング

ノイズの多い説明変数が60あると、通常の最小二乗法はノイズに当てはまってしまいます。ペナルティは大きな係数に代償を課します。Ridge(alpha) は二乗和に課金し、すべての係数が縮みますがゼロには届きません。Lasso(alpha) は絶対値の和に課金し、alpha を上げると係数が次々と厳密にゼロになるので、変数選択も行います。ElasticNet(alpha, l1_ratio) は両者の混合で、相関する説明変数のうちラッソが偶然1つを選んでしまうときに役立ちます。ペナルティが係数を公平に扱うのは列のスケールが揃っているときだけなので、先に標準化しますが、学習行の平均と標準偏差だけを使います。そうしないとテスト行がスケールに漏れます。alpha のグリッドを回し、生き残る係数の数やリッジ解の大きさを記録すれば、正則化パスになります。

どれだけのペナルティか。過去に最もよく当てはまるもの、つまり alpha がゼロ近くのものではありません。alpha はウォークフォワードで選びます。各分割で学習行を使って標準化し、そこで学習し、テスト行を予測し、予測と結果の順位相関(情報係数)で採点します。大きな alpha がすべての係数をゼロにすると予測が定数になり相関が定義できないので、0点とします。SPYの日次リターンを他の60資産の前日リターンで説明する場合、ラッソは α=10⁻⁵ で57個、10⁻⁴ で38個、3.2×10⁻⁴ で15個、10⁻³ で7個の係数を残し、リッジのノルムは 0.0043 から 0.0005 まで下がりますがゼロになる係数はありません。ウォークフォワードのICは α=3.2×10⁻⁴ で約 0.022 と最大になります。ペナルティなしの当てはめでは決して見えなかった、控えめで正直な数字です。

  • リッジは縮め、ラッソは選び、エラスティックネットは両方:alphaのグリッドで各パスをたどる。
  • 標準化は学習行だけで:ペナルティはスケールに依存し、テスト行がそれを決めてはいけない。
  • alphaは標本外で調整:ウォークフォワードの順位相関で採点し、定数の予測は0とする。

ラボ:採点される内容

  • のぞき見なしの標準化10点
  • ラッソのパス15点
  • リッジのパス10点
  • ウォークフォワードのスコア25点
  • alphaを選ぶ15点
  • エラスティックネットが残すもの10点
  • パス研究の全体15点
エクスプローラー · lab-sl-16
▾ lab-sl-16
▾ data
…
bash · ブラウザ内
learner@quantcraft:~/lab-sl-16$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

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

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

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

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

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

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