σμ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 スキル›モジュール 1 · エスティメータの作法›トピック 1.3·~50 分中級

金融でのデータ分割とリーク

スキル上の位置モジュール 1/4 · トピック 3/5
1.3 金融でのデータ分割とリーク
—ラボスコア— / 100合計XP—連続日数—

なぜ分割がすべてなのか

モデルは見たことのないデータで評価されます。金融では3つの集合を使います。当てはめる学習データ、設定を選ぶ検証データ、結果を報告するために一度だけ使うテストデータです。これらは時間に沿わなければなりません。過去で学習し、次の期間で検証し、最後の期間でテストします。ランダム分割は同じ嵐の日を両方に入れてしまい、モデルは規則を学ぶ代わりに隣の日を覚えます。リークとは、検証期間やテスト期間の情報が学習の段階に届くことです。よくある形は4つ。全日程で当てはめたスケーラー、未来の価格を使う特徴量、後からしか分からない目的変数のような列、時間的に重なるラベルです。

重なるラベルには特別な注意が必要です。ラベルが先の HHH か月のリターンなら、学習行 iii とテスト行 jjj のラベルは i+H>ji+H>ji+H>j のとき月を共有します。したがってテスト期間の直前の H−1H-1H−1 個の学習行は、テスト結果の一部を知っています。対策は、それらの行を除くパージと、安全な間隔を空けるエンバーゴで、次のトピックで扱います。小さな数で規模を見ましょう。月次1000行を 60/20/2060/20/2060/20/20 で分けるとテスト期間は800行目から始まり、H=3H=3H=3 なら各境界の近くで学習行が2つ重なります。

(i, i+H]∩(j, j+H]≠∅  ⟺  i+H>j(i<j)(i,\,i+H]\cap(j,\,j+H]\neq\varnothing\iff i+H>j\qquad(i<j)(i,i+H]∩(j,j+H]=∅⟺i+H>j(i<j)(1)
数字と実例学習値が 2,4,6,82,4,6,82,4,6,8 ならスケーラーは平均 555 を学びます。テスト値 202020 を含む全日程で当てはめると平均 888 を学び、未来に由来する 333 の差が生じます。実データでは、SPYで、直近のボラティリティから先の 202020 日のボラティリティをランダムフォレストに予測させます。シャッフルした5分割では R2=0.60R^{2}=0.60R2=0.60、時間順のウォークフォワードで 202020 日のパージをすると R2=−2.10R^{2}=-2.10R2=−2.10 です。シャッフルのほうが 2.702.702.70 高いのは、隣の日が 202020 日のラベル期間のうち 191919 日を共有するためと、時間順のテストでは見たことのない嵐に向き合う必要があるためです。
  • 時間で分ける:過去で学習、次の期間で検証、最後の期間でテスト。テストを見るのは一度だけ。
  • 4つのリーク:当てはめた前処理、未来の特徴量、目的変数のような列、重なるラベル。
  • シャッフルした得点は警告のサイン:日をシャッフルすると得点が大きく上がるなら、モデルは隣の日を覚えている。

ラボ:採点される内容

  • テスト期間の開始位置10点
  • 学習データの大きさ10点
  • スケーラーが未来から学ぶもの10点
  • 重なるラベル15点
  • シャッフルがどれだけ水増しするか10点
  • 時系列に正しい分割10点
  • リークのない手順10点
  • リークの種類10点
  • なぜシャッフルで得点が膨らむのか15点
0/ 9問回答済み
問題
1数値で答える10点未回答

月次 100010001000 行が時間順に並び、60%60\%60% を学習、20%20\%20% を検証、20%20\%20% をテストに分けます。テスト期間は(000 から数えて)何行目から始まりますか。

i=i =i=許容:± 0.5
2数値で答える10点未回答

同じ 100010001000 行の分割で、学習データは何行ですか。

n=n =n=許容:± 0.5
3数値で答える10点未回答

学習値は 2,4,6,82,4,6,82,4,6,8(平均 555)、テスト値は 202020 です。5つすべてで当てはめたスケーラーは平均 888 を学びます。公正な平均とどれだけ違いますか。

d=d =d=許容:± 0.01
4数値で答える15点未回答

行 iii のラベルは先の H=3H=3H=3 か月のリターンです。学習行 iii と最初のテスト行 j=600j=600j=600 は i+H>ji+H>ji+H>j のとき月を共有します。行 600600600 のラベルと重なる学習行 i<600i<600i<600 は何個ですか。

k=k =k=許容:± 0.01
5数値で答える10点未回答

SPYで先の 202020 日のボラティリティを予測するランダムフォレストは、シャッフル分割で R2=0.60R^{2}=0.60R2=0.60、パージ付きウォークフォワードで R2=−2.10R^{2}=-2.10R2=−2.10 です。シャッフルはどれだけ水増ししていますか。小数第2位まで答えてください。

g=g =g=許容:± 0.02
6選択10点未回答

日次リターンモデルを公正に評価したいとき、どの分割を使いますか。

7手順を並べ替える10点未回答

リークのない評価の手順を正しい順に並べてください。

ドラッグして並べ替えます。または項目にフォーカスし、スペースで持ち上げ、矢印キーで移動、スペースで置きます。

  1. 1テストの得点を一度だけ見て報告する
  2. 2行を時間順に並べ、学習・検証・テストに切る
  3. 3検証データで設定を選ぶ
  4. 4前処理とモデルを学習データで当てはめる
8対応づけ10点未回答

各リークの種類を例に結び付けてください。

左の各項目に対応するものを選んでください。

前処理のリーク
先読みの特徴量
目的変数のリーク
ラベルの重なり
9言葉で説明する15点未回答

目的変数が先の 202020 日のリターンのとき、シャッフル分割が時間順の分割より良い得点になる理由を1〜2文で説明してください。

数学モードキーボードまたは LaTeX で入力問題1/9 · Ctrl ⏎ で確認

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

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

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