σμ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 学习路线›模块 1 · 回归及其检验›主题 1.2·~50分钟中级

公式接口与 OLS 汇总表

路线进度模块 1/3 · 主题 2/8
1.2 公式接口与 OLS 汇总表
—实验得分— / 100总 XP—连续天数—

一行拟合,一张表阅读

statsmodels 是用来回答回归“有多确定”的库。scikit-learn 给出预测,statsmodels 给出完整的报告:系数、标准误、t 统计量、p 值、置信区间和多种拟合度量。模型用公式字符串描述。在 smf.ols('ex ~ mkt_rf + hml', data).fit() 中,波浪线左边是因变量,右边是自变量,截距会自动加入(写 - 1 可去掉)。数组接口 sm.OLS(y, X) 不会加截距,需要自己调用 sm.add_constant(X),忘记这一步是最常见的失误。

只有一个自变量时,计算短到可以手算。设 Sxx=∑(xi−xˉ)2S_{xx}=\sum(x_i-\bar x)^2Sxx​=∑(xi​−xˉ)2,Sxy=∑(xi−xˉ)(yi−yˉ)S_{xy}=\sum(x_i-\bar x)(y_i-\bar y)Sxy​=∑(xi​−xˉ)(yi​−yˉ​),则斜率 β^=Sxy/Sxx\hat\beta=S_{xy}/S_{xx}β^​=Sxy​/Sxx​,截距 α^=yˉ−β^xˉ\hat\alpha=\bar y-\hat\beta\bar xα^=yˉ​−β^​xˉ。残差 ei=yi−α^−β^xie_i=y_i-\hat\alpha-\hat\beta x_iei​=yi​−α^−β^​xi​,其平方和为 SSE\mathrm{SSE}SSE。噪声水平用 s2=SSE/(n−k)s^2=\mathrm{SSE}/(n-k)s2=SSE/(n−k) 估计,kkk 是拟合的系数个数,这里为 2。斜率的标准误是 s2/Sxx\sqrt{s^2/S_{xx}}s2/Sxx​​,t 统计量是 β^\hat\betaβ^​ 除以它,R2=1−SSE/SSTR^2=1-\mathrm{SSE}/\mathrm{SST}R2=1−SSE/SST,其中 SST=∑(yi−yˉ)2\mathrm{SST}=\sum(y_i-\bar y)^2SST=∑(yi​−yˉ​)2 是围绕均值的总变差。

β^=SxySxx,α^=yˉ−β^xˉ,s2=SSEn−k,t=β^s2/Sxx,R2=1−SSESST\hat\beta=\frac{S_{xy}}{S_{xx}},\qquad \hat\alpha=\bar y-\hat\beta\bar x,\qquad s^{2}=\frac{\mathrm{SSE}}{n-k},\qquad t=\frac{\hat\beta}{\sqrt{s^{2}/S_{xx}}},\qquad R^{2}=1-\frac{\mathrm{SSE}}{\mathrm{SST}}β^​=Sxx​Sxy​​,α^=yˉ​−β^​xˉ,s2=n−kSSE​,t=s2/Sxx​​β^​​,R2=1−SSTSSE​(1)
五个月的手算设市场超额收益 x=−2,−1,0,1,2x=-2,-1,0,1,2x=−2,−1,0,1,2(百分数),股票超额收益 y=−3,0,1,2,5y=-3,0,1,2,5y=−3,0,1,2,5。则 xˉ=0\bar x=0xˉ=0,yˉ=1\bar y=1yˉ​=1,Sxx=10S_{xx}=10Sxx​=10,Sxy=8+1+0+1+8=18S_{xy}=8+1+0+1+8=18Sxy​=8+1+0+1+8=18,所以 β^=1.8\hat\beta=1.8β^​=1.8,α^=1\hat\alpha=1α^=1。拟合值为 −2.6,−0.8,1,2.8,4.6-2.6,-0.8,1,2.8,4.6−2.6,−0.8,1,2.8,4.6,残差为 −0.4,0.8,0,−0.8,0.4-0.4,0.8,0,-0.8,0.4−0.4,0.8,0,−0.8,0.4,SSE=1.6\mathrm{SSE}=1.6SSE=1.6,而 SST=16+1+0+1+16=34\mathrm{SST}=16+1+0+1+16=34SST=16+1+0+1+16=34。于是 R2=1−1.6/34=0.953R^2=1-1.6/34=0.953R2=1−1.6/34=0.953。由于 n−k=3n-k=3n−k=3,噪声估计为 s2=1.6/3=0.5333s^2=1.6/3=0.5333s2=1.6/3=0.5333,标准误为 0.5333/10=0.2309\sqrt{0.5333/10}=0.23090.5333/10​=0.2309,t=1.8/0.2309=7.79t=1.8/0.2309=7.79t=1.8/0.2309=7.79。用真实数据,苹果的月度超额收益对市场超额收益做回归,2000 年 2 月到 2026 年 8 月共 319319319 个月,得到 β^=1.31\hat\beta=1.31β^​=1.31,标准误 0.1120.1120.112(t=11.7t=11.7t=11.7),截距每月 1.5%1.5\%1.5%(t=2.9t=2.9t=2.9),但 R2R^2R2 只有 0.300.300.30。
  • 先写公式:y ~ a + b 拟合截距和两个斜率,- 1 去掉截距,sm.OLS 需要 add_constant。
  • 按顺序读表:系数、标准误、t 统计量、p 值、区间,然后是 R2R^2R2 和样本量。

实验:评分内容

  • 手算斜率15 分
  • 截距10 分
  • 决定系数15 分
  • t 统计量20 分
  • 读汇总表10 分
  • 回归的工作流10 分
  • 精确但很小20 分
0/ 已答 7 题
任务
1数值作答15 分未作答

市场超额收益为 −2,−1,0,1,2-2,-1,0,1,2−2,−1,0,1,2,股票超额收益为 −3,0,1,2,5-3,0,1,2,5−3,0,1,2,5。已知 Sxx=10S_{xx}=10Sxx​=10,求 β^=Sxy/Sxx\hat\beta=S_{xy}/S_{xx}β^​=Sxy​/Sxx​。先求 Sxy=∑(xi−xˉ)(yi−yˉ)S_{xy}=\sum(x_i-\bar x)(y_i-\bar y)Sxy​=∑(xi​−xˉ)(yi​−yˉ​)。保留一位小数。

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

已知 β^=1.8\hat\beta=1.8β^​=1.8,xˉ=0\bar x=0xˉ=0,yˉ=1\bar y=1yˉ​=1,求截距 α^=yˉ−β^xˉ\hat\alpha=\bar y-\hat\beta\bar xα^=yˉ​−β^​xˉ。

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

拟合的残差为 −0.4,0.8,0,−0.8,0.4-0.4,0.8,0,-0.8,0.4−0.4,0.8,0,−0.8,0.4,所以 SSE=1.6\mathrm{SSE}=1.6SSE=1.6,围绕均值的总变差为 SST=34\mathrm{SST}=34SST=34。求 R2=1−SSE/SSTR^2=1-\mathrm{SSE}/\mathrm{SST}R2=1−SSE/SST。保留三位小数。

r=r =r=允许误差:± 0.002
4数值作答20 分未作答

噪声估计 s2=SSE/(n−2)=0.5333s^2=\mathrm{SSE}/(n-2)=0.5333s2=SSE/(n−2)=0.5333,Sxx=10S_{xx}=10Sxx​=10。当 β^=1.8\hat\beta=1.8β^​=1.8 时,求 t=β^/s2/Sxxt=\hat\beta/\sqrt{s^2/S_{xx}}t=β^​/s2/Sxx​​。使用 0.05333=0.2309\sqrt{0.05333}=0.23090.05333​=0.2309,保留两位小数。

t=t =t=允许误差:± 0.05
5配对10 分未作答

把汇总中的每一项与它说明的内容配对。

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

coef
std err
t
决定系数
6排列步骤10 分未作答

把为一只股票拟合因子回归的步骤排好顺序。

拖动以重新排序;也可聚焦某项,按空格抬起,用方向键移动,再按空格放下。

  1. 1阅读汇总表
  2. 2用 ols 和 fit 拟合公式
  3. 3减去无风险利率得到超额收益
  4. 4在信任之前先看残差
  5. 5按月份对齐股票和因子收益
7用文字解释20 分未作答

某只股票的贝塔 t=11.7t=11.7t=11.7,而回归的 R2=0.30R^2=0.30R2=0.30。请用一两句话解释为什么这两件事并不矛盾。

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

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

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

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