σμ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.1·~50分钟高级

预测评估

路线进度模块 5/5 · 主题 1/3
5.1 预测评估
—实验得分— / 100总 XP—连续天数—

诚实地评估预测

预测的价值只取决于它在没见过的数据上的表现。时间序列的诚实做法是滚动前进(walk-forward):用过去拟合模型,预测下一个值(或区块),记录误差,窗口向前移动再重复。绝不能打乱观测或随机划分,因为用被预测日期之后的日子训练过的模型已经偷看了未来。预测误差为 et=yt−y^te_t=y_t-\hat y_tet​=yt​−y^​t​。常用评分是平均绝对误差 MAE=1n∑∣et∣\mathrm{MAE}=\frac1n\sum|e_t|MAE=n1​∑∣et​∣ 和对大误差惩罚更重的均方根误差 RMSE=1n∑et2\mathrm{RMSE}=\sqrt{\frac1n\sum e_t^{2}}RMSE=n1​∑et2​​。

RMSE=1n∑tet2,LQLIKE=σ~t2ht−ln⁡σ~t2ht−1,ROOS2=1−∑(etM)2∑(etB)2,DM=dˉse(dˉ)\mathrm{RMSE}=\sqrt{\frac1n\sum_{t}e_t^{2}},\qquad L_{\mathrm{QLIKE}}=\frac{\tilde\sigma_t^{2}}{h_t}-\ln\frac{\tilde\sigma_t^{2}}{h_t}-1,\qquad R^{2}_{\mathrm{OOS}}=1-\frac{\sum (e^{M}_{t})^{2}}{\sum (e^{B}_{t})^{2}},\qquad \mathrm{DM}=\frac{\bar d}{\mathrm{se}(\bar d)}RMSE=n1​t∑​et2​​,LQLIKE​=ht​σ~t2​​−lnht​σ~t2​​−1,ROOS2​=1−∑(etB​)2∑(etM​)2​,DM=se(dˉ)dˉ​(1)

方差从不被观测,所以波动率预测 hth_tht​ 要拿一个代理 σ~t2\tilde\sigma_t^{2}σ~t2​(如收益平方或已实现方差)来评分。代理有噪声,因此损失函数要谨慎选择:方差上的平方误差被少数大幅波动的日子主导,而 QLIKE,L=σ~2/h−ln⁡(σ~2/h)−1L=\tilde\sigma^{2}/h-\ln(\tilde\sigma^{2}/h)-1L=σ~2/h−ln(σ~2/h)−1,更稳健,并且对方差的低估比对同等倍数的高估惩罚更重。务必与朴素基准比较,例如昨天的值或历史均值。样本外 ROOS2R^{2}_{\mathrm{OOS}}ROOS2​ 比较误差平方和,只有模型击败基准时才为正。要判断损失差异是真实的还是运气,可用 Diebold-Mariano 统计量:令 dtd_tdt​ 为两个模型的损失之差,DM=dˉ/se(dˉ)\mathrm{DM}=\bar d/\mathrm{se}(\bar d)DM=dˉ/se(dˉ) 近似标准正态,所以 ∣DM∣>1.96|\mathrm{DM}|>1.96∣DM∣>1.96 在 5% 水平上显著。多步预测时 dtd_tdt​ 相互重叠,标准误必须允许自相关。在同一批测试数据上从许多模型里挑最好的一个,会高估它的能力。

误差与方差损失四个预测误差 1, −2, 0, 31,\,-2,\,0,\,31,−2,0,3 给出 MAE=6/4=1.5\mathrm{MAE}=6/4=1.5MAE=6/4=1.5、RMSE=(1+4+0+9)/4=3.5≈1.87\mathrm{RMSE}=\sqrt{(1+4+0+9)/4}=\sqrt{3.5}\approx1.87RMSE=(1+4+0+9)/4​=3.5​≈1.87:孤立的误差 3 把 RMSE 拉到 MAE 之上。对波动率预测,取代理方差为 444。预测 h=2h=2h=2(一半)的 QLIKE 损失为 2−ln⁡2−1≈0.312-\ln2-1\approx0.312−ln2−1≈0.31,预测 h=8h=8h=8(两倍)为 0.5−ln⁡0.5−1≈0.190.5-\ln0.5-1\approx0.190.5−ln0.5−1≈0.19。同样倍数的误差,低估方差受到的惩罚更重,而这正是对风险限额更危险的方向。误差平方和为 808080 的模型对比基准的 100100100,ROOS2=1−80/100=0.20R^{2}_{\mathrm{OOS}}=1-80/100=0.20ROOS2​=1−80/100=0.20。
  • 滚动前进:用过去拟合、预测下一区块、向前推进;绝不打乱时间序列。
  • QLIKE 对方差预测稳健,并且更重地惩罚低估;要与朴素基准比较。
  • Diebold-Mariano:DM=dˉ/se(dˉ)\mathrm{DM}=\bar d/\mathrm{se}(\bar d)DM=dˉ/se(dˉ) 检验两个预测是否真有差异;∣DM∣>1.96|\mathrm{DM}|>1.96∣DM∣>1.96 即显著。

实验:评分内容

  • 平均绝对误差10 分
  • 均方根误差15 分
  • QLIKE 损失15 分
  • 样本外 R 平方15 分
  • Diebold-Mariano 统计量10 分
  • 为什么不能打乱10 分
  • 配对术语15 分
  • 击败朴素基准10 分
0/ 已答 8 题
任务
1数值作答10 分未作答

四个预测误差为 1, −2, 0, 31,\,-2,\,0,\,31,−2,0,3。MAE 是多少?

mae=mae =mae=允许误差:± 0.01
2数值作答15 分未作答

对同样的四个误差,RMSE 是多少?保留两位小数。

rmse=rmse =rmse=允许误差:± 0.01
3数值作答15 分未作答

代理方差为 σ~2=4\tilde\sigma^{2}=4σ~2=4,预测为 h=2h=2h=2。QLIKE 损失 σ~2/h−ln⁡(σ~2/h)−1\tilde\sigma^{2}/h-\ln(\tilde\sigma^{2}/h)-1σ~2/h−ln(σ~2/h)−1 是多少?保留两位小数。

ql=ql =ql=允许误差:± 0.01
4数值作答15 分未作答

模型的误差平方和为 808080,基准为 100100100。ROOS2=1−80/100R^{2}_{\mathrm{OOS}}=1-80/100ROOS2​=1−80/100 是多少?

r2=r2 =r2=允许误差:± 0.005
5数值作答10 分未作答

两个模型的平均损失差为 dˉ=0.5\bar d=0.5dˉ=0.5,标准误 0.20.20.2。DM=dˉ/se(dˉ)\mathrm{DM}=\bar d/\mathrm{se}(\bar d)DM=dˉ/se(dˉ) 是多少?

dm=dm =dm=允许误差:± 0.02
6选择10 分未作答

为什么随机划分训练集/测试集不适合评估时间序列预测?

7配对15 分未作答

把每个术语与其含义配对。

为左侧每一项选择配对项。

滚动前进
QLIKE
Diebold-Mariano
朴素基准
8用文字解释10 分未作答

用一两句话解释:为什么预测模型总要与“最近观测值”这类朴素基准比较。

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

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

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

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