σμ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
  • 日本語
  • 中文
Matrix Decompositions スキル›モジュール 4 · 共分散の推定›トピック 4.2·~1 時間上級

固有値のクリッピングとマルチェンコ・パスツール

スキル上の位置モジュール 4/5 · トピック 2/3
4.2 固有値のクリッピングとマルチェンコ・パスツール
—ラボスコア— / 100合計XP—連続日数—

シグナルの固有値とノイズを見分ける

リターンが構造のない純粋なノイズだったとしても、相関行列の固有値は既知の区間、すなわち λ±=(1±q)2\lambda_\pm=(1\pm\sqrt q)^2λ±​=(1±q​)2、q=N/Tq=N/Tq=N/T のマルチェンコ・パスツール区間 [λ−,λ+][\lambda_-,\lambda_+][λ−​,λ+​] に広がります。この区間が物差しです。標本相関行列の固有値が λ+\lambda_+λ+​ を超えていれば、ノイズでは説明できない大きさなので本物の共通ファクターを反映しています。区間内の固有値はノイズと区別できず、その固有ベクトルは将来について何も教えないランダムな方向です。

λi′={λi,λi>λ+λˉnoise,λi≤λ+,λˉnoise=1k∑λi≤λ+λi,Cclean=QΛ′QT\lambda_i'=\begin{cases}\lambda_i,&\lambda_i>\lambda_+\\[2pt]\bar\lambda_{\mathrm{noise}},&\lambda_i\le\lambda_+\end{cases},\qquad \bar\lambda_{\mathrm{noise}}=\frac{1}{k}\sum_{\lambda_i\le\lambda_+}\lambda_i,\qquad C_{\mathrm{clean}}=Q\Lambda'Q^{T}λi′​={λi​,λˉnoise​,​λi​>λ+​λi​≤λ+​​,λˉnoise​=k1​λi​≤λ+​∑​λi​,Cclean​=QΛ′QT(1)

固有値のクリッピングはこの判定に基づいて行います。λ+\lambda_+λ+​ を超える固有値は残し、それ以外はすべてそれらの平均 λˉnoise\bar\lambda_{\mathrm{noise}}λˉnoise​ に置き換えます。これはスペクトルのノイズ部分を平らにすることです。0にせず平均にするのは、トレース(相関行列では NNN)を保ち、行列を正定値に保って逆行列を取れるようにするためで、最適化にはこれが必要です。その後 Cclean=QΛ′QTC_{\mathrm{clean}}=Q\Lambda'Q^{T}Cclean​=QΛ′QT を再構成し、置き換えで対角が少し変わるため、対角がちょうど1になるよう再スケールします。よく使う改良が2つあります。市場モードが分散を吸収するので、ノイズ水準は1ではなく実際には σ2≈1−λ1/N\sigma^2\approx1-\lambda_1/Nσ2≈1−λ1​/N です。またマルチェンコ・パスツール則は独立な観測と細い裾を仮定するので、端は目安であって厳密な検定ではありません。浄化した行列は標本外で確かめてください。

4資産・16観測N=4N=4N=4、T=16T=16T=16 とすると q=0.25q=0.25q=0.25、λ+=(1+0.5)2=2.25\lambda_+=(1+0.5)^2=2.25λ+​=(1+0.5)2=2.25 です。標本相関行列の固有値が 2.60,  0.80,  0.40,  0.202.60,\;0.80,\;0.40,\;0.202.60,0.80,0.40,0.20(合計 N=4N=4N=4)だとします。2.252.252.25 を超えるのは 2.602.602.60 だけで、これが共通の市場ファクターというシグナルの固有値です。残る3つはノイズで、平均は (0.80+0.40+0.20)/3=0.4667(0.80+0.40+0.20)/3=0.4667(0.80+0.40+0.20)/3=0.4667。浄化後のスペクトルは 2.60,  0.4667,  0.4667,  0.46672.60,\;0.4667,\;0.4667,\;0.46672.60,0.4667,0.4667,0.4667 で、合計は4のまま、最小固有値は 0.200.200.20 から 0.470.470.47 になり、条件数は 131313 から約 5.65.65.6 に下がります。より大きな問題で q=0.4q=0.4q=0.4 なら上端は (1+0.4)2=2.665(1+\sqrt{0.4})^2=2.665(1+0.4​)2=2.665 です。
  • 端:(1+q)2(1+\sqrt q)^2(1+q​)2 を超える固有値はシグナル、区間内はノイズ。
  • クリッピング:ノイズの固有値を平均で置き換え、トレースと正定値性を保つ。
  • 仕上げ:QΛ′QTQ\Lambda'Q^{T}QΛ′QT を再構成し対角を1に再スケール。必ず標本外で検証する。
目安であって判決ではない実際のリターンは裾が厚く、ボラティリティも時間とともに変わるため、ノイズの固有値は理論上の端を越えて広がります。λ+\lambda_+λ+​ は残す成分数の妥当な出発点のしきい値とみなし、浄化が本当に役立つかは標本外の検証で決めましょう。総仕上げではまさにそれを行います。

ラボ:採点される内容

  • 上端15点
  • シグナル固有値の数10点
  • 置換値15点
  • トレースは保たれる10点
  • クリッピングの手順15点
  • なぜ平均か15点
  • 端を超える固有値の意味20点
0/ 7問回答済み
問題
1数値で答える15点未回答

N = 200 資産、T = 500 観測(q = 0.4)のとき、マルチェンコ・パスツールの上端 (1+q)2(1+\sqrt q)^2(1+q​)2 を小数第3位まで求めてください。

lambda+=lambda_+ =lambda+​=許容:± 0.005
2数値で答える10点未回答

q = 0.25(上端2.25)の相関行列の固有値が2.60, 0.80, 0.40, 0.20です。上端を超えるのはいくつですか。

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

同じ行列で、ノイズの3つの固有値0.80, 0.40, 0.20を平均で置き換えます。共通の値を小数第4位まで求めてください。

average=average =average=許容:± 0.001
4空欄を埋める10点未回答

N=4N=4N=4 資産の相関行列のトレースは4です。クリッピング後も固有値の和は同じです。空欄を埋めてください。

∑iλi′=\displaystyle \sum_i\lambda_i'=\htmlData{blank=a}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}}i∑​λi′​=
5手順を並べ替える15点未回答

固有値クリッピングの手順を正しい順に並べてください。

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

  1. 1対角がちょうど1になるよう再スケールする
  2. 2端以下の固有値を平均で置き換える
  3. 3標本相関行列とその固有分解を計算する
  4. 4QΛ′QTQ\Lambda'Q^{T}QΛ′QT として行列を再構成する
  5. 5端 (1+N/T)2(1+\sqrt{N/T})^2(1+N/T​)2 を求める
6選択15点未回答

ノイズの固有値を0でなく平均で置き換えるのはなぜですか。

7言葉で説明する20点未回答

標本相関行列の固有値がマルチェンコ・パスツールの上端を超えている場合と、区間内にある場合の意味を1〜2文で述べてください。

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

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

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

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