σμ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,无需自己猜。

卡尔曼滤波把每个新读数变成更新后的信念,分两步。预测:均值不变,不确定性增大,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)
三个月的手算从信念 a=10a=10a=10、P=4P=4P=4 开始,取 q=1q=1q=1、r=5r=5r=5。第一个月: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。第二个月: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。第三个月没有读数:只做预测步,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:每个新月份把波动率估计向最新读数移动一半。这恰好是一个 ARIMA(0,1,1),移动平均系数为 −0.498=−(1−K)-0.498=-(1-K)−0.498=−(1−K),对数似然同为 −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),保留一位小数。

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−,保留一位小数。

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),保留三位小数。

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 小得多,滤波估计会怎样。

数学模式键盘或 LaTeX 输入第 1/7 题 · Ctrl ⏎ 检查

登录后即可运行你的代码。

所有讲解均可免费阅读。创建账户或登录后,即可运行代码、运行测试并提交此实验。

  • 浏览器内 IDE 与 bash 终端,无需安装
  • 即时评分、XP 以及你在学习路线中的位置
创建账户登录
或
使用 GitHub 继续