σμ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
  • 日本語
  • 中文
Time Series スキル›モジュール 5 · 評価と実践›トピック 5.3·~1 時間 40 分上級

総仕上げ:実データでのボラティリティ予測コンテスト

スキル上の位置モジュール 5/5 · トピック 3/3
5.3 総仕上げ:実データでのボラティリティ予測コンテスト
—ラボスコア— / 100合計XP—連続日数—

4つのモデルから公平なコンテストへ

このスキルの道具はどれも「明日の動きの大きさはどれくらいか」に答えます。一定の分散、指数加重平均、GARCH(1,1)、日々の高値と安値のレンジへのHAR回帰は4つの異なる答えを出し、そこから選ぶ唯一の誠実な方法は、公平なルールのコンテストです。日 t の予測は日 t より前のデータだけを使えます。GARCHは最初の1000日で一度だけ当てはめ、再推定しません。4つはその後の日々で、リターンの二乗に対して、分散の過小予測を過大予測より重く罰する損失で採点します。必要なのはNumPyだけです。

hₜ=λhₜ₋₁+(1-λ)rₜ₋₁², hₜ=ω+αrₜ₋₁²+βhₜ₋₁, ω=(1-α-β)σ²

EWMAとGARCHはどちらも、昨日のリターンの二乗で分散の状態を更新します。GARCHは自由度が高く、パラメータはガウス尤度の最大化で選びます。ここでは小さなグリッド上で、長期分散 σ² を標本の値に固定します(分散ターゲティング)。HARモデルは代わりにレンジを読みます。日 t の特徴量は、それ以前の日のParkinson分散から作ります。昨日の値、直近5日の平均、直近22日の平均です。目的変数はリターンの二乗で、ノイズは大きいものの水準は正しく、直近750日で21日ごとに再推定します。採点は平均QLIKE、y/h-ln(y/h)-1(y は代理、h は予測)で、Diebold-Mariano統計量は2つの予測器の差が偶然より大きいかを示します。

QLIKE=y/h-ln(y/h)-1, DM=(mean(d))/(std(d)/√n), d=L₁-L₂
実データが示すことSPYで、最初の1000日の後の4404日を採点すると、リターンの二乗に対する平均QLIKEは、一定の予測で約2.03、EWMAで1.63、GARCH(グリッドの選択は α=0.11、β=0.88、持続性0.99)で1.59、レンジを使うHARモデルで1.56です。1段下がるごとに予測は良くなっています。Diebold-Mariano統計量はEWMA対GARCHで約3.5、EWMA対HARで約3.6と、1.96をはるかに超えます。GARCH対HARは約1.9で、5%の有意水準にわずかに届きません。1回のリターンの二乗のようにノイズの多い代理を使うと、順序ははっきりしていても差は控えめです。
  • 公平なルール:日 t の予測はそれ以前のデータだけを使い、GARCHは採点期間の前に当てはめ、固定パラメータで前方にフィルタする。
  • QLIKE が損失、リターンの二乗が代理で、Diebold-Mariano は2つの予測器が本当に違うかを示す。
  • はしご:一定、EWMA、GARCH、レンジのHAR。1段ごとにSPYでの損失は下がるが、最後の差はノイズの範囲内。
覚えておくべき4つの単純化代理は1回のリターンの二乗なので、損失はどれも高く差は小さくなります。実現分散を使えばもっと鮮明になります。GARCHは粗いグリッドで一度だけ当てはめ、更新しませんが、実際のシステムなら再推定します。リターンは裾が厚いのに尤度はガウス型です。さらに、この採点は危機を含む期間の1資産に対するもので、ここでの勝者が次の10年も勝つとは限りません。

ラボ:採点される内容

  • レンジに基づく分散10点
  • EWMA予測器15点
  • GARCHフィルタ15点
  • グリッドでGARCHを当てはめる15点
  • HAR予測器20点
  • QLIKE損失10点
  • Diebold-Mariano統計量5点
  • コンテスト10点
エクスプローラー · lab-tz-12
▾ lab-tz-12
▾ data
…
bash · ブラウザ内
learner@quantcraft:~/lab-tz-12$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

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

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

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

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

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

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