σμ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
  • 日本語
  • 中文
SciPy スキル›モジュール 3 · 行列・信号・構造›トピック 3.9·~55 分中級

複数の満期にわたるスマイルサーフェスのキャリブレーション

スキル上の位置モジュール 3/3 · トピック 9/10
3.9 複数の満期にわたるスマイルサーフェスのキャリブレーション
—ラボスコア— / 100合計XP—連続日数—

満期ごとに1つのスマイル、そして整合が必要

対数マネーネス k=ln(K/F) に対して全分散 w=σ²T を扱います。SVIスマイルは w(k)=a+b(ρ(k-m)+√((k-m)²+s²)) で、パラメータは5つです。a は水準を上げ、b は裾の角度を決め、-1<ρ<1 はスマイルを傾け(株式では負)、m は最小点を動かし、s は底を丸めます。気配値への当てはめは最小二乗問題ですが繊細で、パラメータが部分的に補い合い、悪い初期値では行き詰まります。least_squares(residuals, x0, bounds=(lower, upper)) は b>0、|ρ|<1、s>0 を保つ境界を扱い、複数の初期値から cost が最小のものを残すと頑健な答えになります。

サーフェスは満期ごとに1つのスマイルで、スマイルは時間をまたいで整合しなければなりません。あるストライクで満期が延びるのに全分散が下がるなら、カレンダースプレッドの価格が負になり、裁定です。確認は簡単で、連続する満期について、当てはめた2つのスマイルを k の格子で評価し、w_T₂<w_T₁ となる点を数えます(ごく小さな許容付き)。辞書は順序を保証しないので、先に満期をソートします。当てはめの実現ボラティリティは σ(k)=√(w(k)/T) です。ラボでは4つの満期を0.2%のノイズ入りの気配値に当てはめます。rmse はそのノイズ程度、ATMボラティリティは1%以内で復元され、違反はありません。2つの満期のパラメータを入れ替えると、格子の全点で計121件の違反になります。

  • 境界と複数の初期値:SVIのパラメータは補い合うので、3つの初期値から当てはめて最小コストを残す。
  • ボラティリティではなく全分散:満期の比較には w=σ²T を使い、T が増えて下がってはいけない。
  • 満期をソートしてから隣同士を比較する。辞書に順序の保証はない。

ラボ:採点される内容

  • SVIスマイル10点
  • スマイルを1つ当てはめる25点
  • サーフェスのキャリブレーション20点
  • 実現ボラティリティ10点
  • カレンダー裁定20点
  • サーフェスの研究15点
エクスプローラー · lab-sp-23
▾ lab-sp-23
…
bash · ブラウザ内
learner@quantcraft:~/lab-sp-23$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

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

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

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

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

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

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