σμ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
  • 日本語
  • 中文
statsmodels スキル›モジュール 2 · 時系列のモデル›トピック 2.4·~1 時間上級

状態空間モデルとカルマンフィルタ

スキル上の位置モジュール 2/3 · トピック 4/5
2.4 状態空間モデルとカルマンフィルタ
—ラボスコア— / 100合計XP—連続日数—

見えないものを追跡する

状態空間モデルは、本物と測定値を分けて考えます。真のボラティリティ水準のような隠れた状態 μt\mu_tμt​ が自分で動き、観測されるのはその状態にノイズを足したものです。ローカルレベルモデルでは yt=μt+εty_t=\mu_t+\varepsilon_tyt​=μt​+εt​(εt∼N(0,r)\varepsilon_t\sim N(0,r)εt​∼N(0,r))、μt=μt−1+ηt\mu_t=\mu_{t-1}+\eta_tμt​=μt−1​+ηt​(ηt∼N(0,q)\eta_t\sim N(0,q)ηt​∼N(0,q))です。観測分散 rrr は読み取りのノイズの大きさを、水準分散 qqq は真の値がどれだけ速く漂うかを表します。statsmodels の UnobservedComponents(y, 'llevel') クラスがこのモデルを当てはめ、qqq と rrr を最尤法で推定するので、推測する必要はありません。

カルマンフィルタは、新しい観測を更新された信念に変えます。手順は2つです。予測:平均はそのままで不確実性が増え、P−=P+qP^{-}=P+qP−=P+q。更新:ゲイン K=P−/(P−+r)K=P^{-}/(P^{-}+r)K=P−/(P−+r) が驚き y−ay-ay−a のどれだけを信じるかを決め、新しい平均は a+K(y−a)a+K(y-a)a+K(y−a)、新しい不確実性は (1−K)P−(1-K)P^{-}(1−K)P− です。観測が欠けた月は予測だけを行います。フィルタは今日までのデータを使い、スムーザは標本全体から振り返って過去の各状態の最良推定を与えます。

P−=P+q,K=P−P−+r,a′=a+K(y−a),P′=(1−K)P−P^{-}=P+q,\qquad K=\frac{P^{-}}{P^{-}+r},\qquad a'=a+K(y-a),\qquad P'=(1-K)P^{-}P−=P+q,K=P−+rP−​,a′=a+K(y−a),P′=(1−K)P−(1)
3か月の手計算信念 a=10a=10a=10、P=4P=4P=4 から始め、q=1q=1q=1、r=5r=5r=5 とします。1か月目:P−=5P^{-}=5P−=5、K=5/10=0.5K=5/10=0.5K=5/10=0.5、観測 121212 で a=10+0.5⋅2=11a=10+0.5\cdot2=11a=10+0.5⋅2=11、P=0.5⋅5=2.5P=0.5\cdot5=2.5P=0.5⋅5=2.5。2か月目:P−=3.5P^{-}=3.5P−=3.5、K=3.5/8.5=0.4118K=3.5/8.5=0.4118K=3.5/8.5=0.4118、観測 999 は驚き −2-2−2 なので a=11−0.4118⋅2=10.18a=11-0.4118\cdot2=10.18a=11−0.4118⋅2=10.18、P=0.5882⋅3.5=2.06P=0.5882\cdot3.5=2.06P=0.5882⋅3.5=2.06。3か月目は観測がなく、予測だけを行うので aaa は 10.1810.1810.18 のまま、PPP は 2.06+1=3.062.06+1=3.062.06+1=3.06 に増えます。実データでは、2005年2月以降の 259259259 か月それぞれについて SPY の年率換算実現ボラティリティの対数を取ります。最尤法で r^=0.0889\hat r=0.0889r^=0.0889、q^=0.0449\hat q=0.0449q^​=0.0449 となり q/r=0.50q/r=0.50q/r=0.50、定常ゲインは K=0.50K=0.50K=0.50:新しい月ごとに、ボラティリティ推定は最新の観測へ半分だけ動きます。これは移動平均係数 −0.498=−(1−K)-0.498=-(1-K)−0.498=−(1−K) の ARIMA(0,1,1) と全く同じで、対数尤度も同じ −151.09-151.09−151.09 です。標本の最後では、フィルタ後の水準は年率 12.4%12.4\%12.4%、最後の観測は 11.7%11.7\%11.7% で、対数での標準誤差は 0.210.210.21、つまり95%の幅は約 8%8\%8% から 19%19\%19% です。
フィルタか平滑化か当時知り得たことが必要な場面(売買ルールやバックテスト)にはフィルタ後の推定を使います。平滑化した推定は将来のデータを使うので、過去を描写するためだけのものです。

ラボ:採点される内容

  • 予測分散10点
  • カルマンゲイン15点
  • 更新後の平均15点
  • 更新後の分散10点
  • 翌月のゲイン15点
  • 欠けた観測10点
  • 信号雑音比25点
0/ 7問回答済み
問題
1数値で答える10点未回答

信念の分散は P=4P=4P=4、水準分散は q=1q=1q=1 です。予測分散 P−=P+qP^{-}=P+qP−=P+q はいくつですか。

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

P−=5P^{-}=5P−=5、観測分散 r=5r=5r=5 のとき、ゲイン K=P−/(P−+r)K=P^{-}/(P^{-}+r)K=P−/(P−+r) はいくつですか。小数第1位まで答えてください。

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

信念の平均は a=10a=10a=10、ゲインは K=0.5K=0.5K=0.5、観測は y=12y=12y=12 です。新しい平均 a+K(y−a)a+K(y-a)a+K(y−a) はいくつですか。

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

P−=5P^{-}=5P−=5、K=0.5K=0.5K=0.5 のとき、新しい分散 (1−K)P−(1-K)P^{-}(1−K)P− はいくつですか。小数第1位まで答えてください。

p=p =p=許容:± 0.02
5数値で答える15点未回答

分散は P=2.5P=2.5P=2.5、q=1q=1q=1、r=5r=5r=5 になりました。次のゲイン K=(P+q)/(P+q+r)K=(P+q)/(P+q+r)K=(P+q)/(P+q+r) はいくつですか。小数第3位まで答えてください。

k=k =k=許容:± 0.003
6選択10点未回答

観測のない月に、カルマンフィルタは何をしますか。

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

SPY のボラティリティでは、推定された比は q/r=0.50q/r=0.50q/r=0.50、ゲインは K=0.50K=0.50K=0.50 です。q/rq/rq/r がずっと小さくなると、フィルタ後の推定がどうなるかを1〜2文で説明してください。

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

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

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

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