σμ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 学习路线›模块 3 · 横截面与尾部›主题 3.3·~1小时 40分钟高级

综合项目:用法玛–麦克白估计因子溢价

路线进度模块 3/3 · 主题 3/3
3.3 综合项目:用法玛–麦克白估计因子溢价
—实验得分— / 100总 XP—连续天数—

从特征到价格

在这个综合项目中,你要估计股票市场为三个简单特征(12 个月动量、最近一个月收益、12 个月波动率)支付多少,并判断该相信这个答案到什么程度。你把日度收盘价变成单只股票的月度收益,为每个股票月构造当时已知的特征和随后的收益,并执行法玛–麦克白程序:每个月把下月收益对标准化后的特征做一次横截面回归,再取月度斜率的均值及其标准误。回归由 statsmodels 完成,其余由你来写。

有两个细节让答案保持诚实。平均斜率的标准误必须考虑月度斜率可能自相关,所以你要自己用巴特利特权重写出纽维–韦斯特 t 统计量。而且溢价只有在通过已知因子的检验后才有意义,所以你要构造一个基于波动率的多空组合,用 HAC 协方差把它的月度收益对法玛–弗伦奇的市场、规模、价值因子回归。这个回归的截距,即阿尔法,就是未被解释的部分。

λₜ=OLS(yₜ₊₁; zₜ), λ̂=1/TΣₜλₜ, t=λ̂/(√(ω̂/T))
真实数据说了什么在 2001 年 1 月到 2026 年 7 月的 307 个月里,每月约 56 只单只股票,波动率的月度平均价格为 +0.27%(普通 t=2.00,纽维–韦斯特 t=1.99,年化约 3.2%),动量为 +0.18%(t=1.68),短期反转为 -0.07%(t=-0.83),与零无法区分。一次合并回归会给出波动率 t=5.47。波动率溢价在样本前后两半相同(每月 0.27%)。买入波动率最高的五分之一、卖出最低的五分之一的多空组合每月赚 0.79%,扣除市场、规模和价值因子后仍有每月 0.73% 的阿尔法,t=2.06。股票名单是今天的大公司,生存者偏差美化了高波动的赢家,真实的溢价更小。
  • 两步:先做月度横截面回归,再看月度斜率的均值与离散程度。
  • 稳健误差:平均斜率用纽维–韦斯特 t 统计量,阿尔法回归用 HAC 协方差。
  • 生存者偏差:今天的赢家名单会美化溢价,所以应把它当作上限来报告。

实验:评分内容

  • 月度收益10 分
  • 股票月面板15 分
  • 一个月的价格10 分
  • 第一步10 分
  • 纽维–韦斯特 t 统计量15 分
  • 第二步10 分
  • 多空组合10 分
  • 相对因子的阿尔法10 分
  • 完整研究10 分
资源管理器 · lab-sx-10
▾ lab-sx-10
▾ data
…
bash · 浏览器内
learner@quantcraft:~/lab-sx-10$
Python 尚未加载PythonLn 1, Col 1Spaces: 4UTF-8

要重置此主题吗?

lab-sx-10 中的所有内容将恢复为初始文件,终端也会被清空。你当前的解答将丢失,且无法撤销。

将被重置
  • main.py → 初始代码
  • 终端历史与测试输出
  • 未提交的更改
将被保留
  • 实验最高得分
  • 你的 XP 与连续天数
  • 讲解进度与笔记

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

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

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