σμ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.2·~1小时高级

法玛–麦克白回归

路线进度模块 3/3 · 主题 2/3
3.2 法玛–麦克白回归
—实验得分— / 100总 XP—连续天数—

估计市场为某种特征支付多少

高动量或低波动率的股票下个月赚得更多吗?多多少?把所有股票、所有月份放进一次回归,会把 18,00018{,}00018,000 个观测当作相互独立,但同一个月的股票共享同一个市场冲击,误差相关,t 统计量因此大得离谱。法玛和麦克白用两步避开了这个问题。第一步,每个月把下月收益对当前特征做横截面回归,每个月给出每个特征的一个斜率,即该月市场支付的价格。第二步,把这些月度斜率当作时间序列:溢价是它们的平均值,其标准误来自它们的离散程度,se=s/T\mathrm{se}=s/\sqrt{T}se=s/T​,所以 t 统计量为 λˉ/(s/T)\bar\lambda/(s/\sqrt T)λˉ/(s/T​)。

yi,t+1=λ0,t+λ1,txi,t+ui,t+1,λ^=1T∑t=1Tλ^t,t=λ^sλ/Ty_{i,t+1}=\lambda_{0,t}+\lambda_{1,t}x_{i,t}+u_{i,t+1},\qquad \hat\lambda=\frac1T\sum_{t=1}^{T}\hat\lambda_t,\qquad t=\frac{\hat\lambda}{s_\lambda/\sqrt{T}}yi,t+1​=λ0,t​+λ1,t​xi,t​+ui,t+1​,λ^=T1​t=1∑T​λ^t​,t=sλ​/T​λ^​(1)
一个月与四个月某个月有四只股票,特征 x=−3,−1,1,3x=-3,-1,1,3x=−3,−1,1,3(已中心化),下月收益 y=−1,0,3,2y=-1,0,3,2y=−1,0,3,2(百分数)。则 ∑xy=12\sum xy=12∑xy=12,Sxx=20S_{xx}=20Sxx​=20,斜率为 0.60.60.6,截距 yˉ=1.0\bar y=1.0yˉ​=1.0。假设四个月的这类斜率为 0.6,−0.2,0.5,0.10.6,-0.2,0.5,0.10.6,−0.2,0.5,0.1。均值 0.250.250.25,偏差平方和 0.410.410.41,所以 s2=0.41/3=0.1367s^2=0.41/3=0.1367s2=0.41/3=0.1367,s=0.370s=0.370s=0.370,se=0.370/4=0.185\mathrm{se}=0.370/\sqrt4=0.185se=0.370/4​=0.185,t=0.25/0.185=1.35t=0.25/0.185=1.35t=0.25/0.185=1.35。看真实数据:取 2001 年 1 月到 2026 年 7 月的 307307307 个月,每月约 565656 只股票(共 17,07517{,}07517,075 个股票月),三个特征每月标准化后可相互比较:跳过最近一个月的 12 个月动量、最近一个月收益、12 个月波动率。月度斜率的平均值为:动量 +0.178%+0.178\%+0.178%(t=1.68t=1.68t=1.68),最近一个月 −0.071%-0.071\%−0.071%(t=−0.83t=-0.83t=−0.83),波动率 +0.270%+0.270\%+0.270%(t=2.00t=2.00t=2.00,年化 3.2%3.2\%3.2%)。一次合并回归给出波动率 t=5.47t=5.47t=5.47,是法玛–麦克白结果的两倍多,按月聚类则为 2.352.352.35。波动率溢价在样本前后两半都为正(每月 0.27%0.27\%0.27% 和 0.27%0.27\%0.27%),但股票名单是今天的大公司,生存者偏差使 NVIDIA 这类高波动赢家被过度代表。

月度斜率本身也可能自相关,所以许多研究用带几阶滞后的纽维–韦斯特标准误取代 s/Ts/\sqrt Ts/T​。这里影响不大:波动率的 t=2.00t=2.00t=2.00 在四阶滞后下变为 1.991.991.99。另一点是截距 λ^0\hat\lambda_0λ^0​ 是具有平均特征的股票的平均收益,本样本中为每月 1.00%1.00\%1.00%(t=4.08t=4.08t=4.08),主要反映了市场和幸存者。

  • 两步:每月做一次回归,再看月度斜率的均值与离散程度。
  • 每月标准化特征,使斜率可比并降低极端值的影响。

实验:评分内容

  • 一个月的斜率15 分
  • 溢价10 分
  • 斜率的离散程度10 分
  • 标准误10 分
  • t 统计量15 分
  • 合并回归与法玛–麦克白15 分
  • 生存者偏差的作用25 分
0/ 已答 7 题
任务
1数值作答15 分未作答

四只股票的中心化特征为 x=−3,−1,1,3x=-3,-1,1,3x=−3,−1,1,3,下月收益为 y=−1,0,3,2y=-1,0,3,2y=−1,0,3,2。已知 ∑xy=12\sum xy=12∑xy=12,Sxx=20S_{xx}=20Sxx​=20,求横截面斜率,保留一位小数。

b=b =b=允许误差:± 0.01
2数值作答10 分未作答

四个月度斜率为 0.6,−0.2,0.5,0.10.6,-0.2,0.5,0.10.6,−0.2,0.5,0.1。它们的均值(估计的溢价)是多少?保留两位小数。

m=m =m=允许误差:± 0.005
3数值作答10 分未作答

与均值 0.250.250.25 的偏差平方和为 0.410.410.41。T=4T=4T=4 个月时,标准差 s=0.41/(T−1)s=\sqrt{0.41/(T-1)}s=0.41/(T−1)​ 是多少?使用 0.1367=0.370\sqrt{0.1367}=0.3700.1367​=0.370,保留三位小数。

s=s =s=允许误差:± 0.004
4数值作答10 分未作答

已知 s=0.370s=0.370s=0.370,T=4T=4T=4 个月,求 se=s/T\mathrm{se}=s/\sqrt Tse=s/T​,保留三位小数。

se=se =se=允许误差:± 0.002
5数值作答15 分未作答

溢价为 0.250.250.25,标准误为 0.1850.1850.185。求 t 统计量,保留两位小数。

t=t =t=允许误差:± 0.03
6选择15 分未作答

合并回归给出波动率溢价 t = 5.47,而法玛–麦克白给出 t = 2.00。为什么合并后的值太大?

7用文字解释25 分未作答

股票名单是今天的大公司,而波动率溢价为正。请用一两句话解释生存者偏差如何可能抬高这一溢价。

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

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

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

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