量化交易中文教材

第 09 章 基于多元回归的研究评估

学习目标

读完本章,你应当能够:

  1. 区分内部有效性(internal validity)与外部有效性(external validity),并说出内部有效性的两个组成部分:估计量一致、标准误正确。
  2. 列出让 OLS 有偏且不一致的五个威胁:遗漏变量、函数形式误设、变量误差、样本选择、联立因果,说明它们的共同根源是「回归元与误差项相关」。
  3. 推导经典测量误差下的衰减公式 \(\hat\beta_1\xrightarrow{p}\frac{\sigma_X^2}{\sigma_X^2+\sigma_w^2}\beta_1\),以及联立因果下 \(\mathrm{cov}(X_i,u_i)=\gamma_1\sigma_u^2/(1-\gamma_1\beta_1)\)。
  4. 判断缺失数据在什么情况下会造成偏误,识别金融中的幸存者偏差(survivorship bias)。
  5. 说明标准误在什么情况下会失效(异方差处理不当、观测间误差相关),以及对应的补救办法。
  6. 分清「因果估计」和「预测」两类用途对回归的不同要求,并把这套检查清单用于一项量化研究。

读前导读

这一章在解决什么问题

这一章几乎没有新方法,它是一张审计清单。你作为 CPA 做审计时,不会重新编一遍报表,而是逐项问:收入确认有没有提前?存货有没有高估?关联交易有没有遗漏?本章做的是同样的事,只是对象换成了一项回归研究:系数有没有被某种机制系统性地推高或压低?标准误是不是算小了?结论能不能搬到别的市场?

全章的主线只有一句:只要回归元 \(X\) 和误差项 \(u\) 相关,OLS 就会有偏,而且样本再大也不会消失。 遗漏变量、函数形式错误、测量误差、样本选择、反向因果,这五种威胁看起来各不相同,但都是让 \(X\) 与 \(u\) 相关的五条不同路径。你在 CFA 里学过的幸存者偏差、前视偏差、数据挖掘,都能放进这个框架里。读完本章,你应该能拿着一篇因子论文或一份回测报告,按清单逐条挑毛病。

需要先想起来的数学

1. 概率极限 \(\xrightarrow{p}\)。 \(\hat\beta_1\xrightarrow{p}c\) 读作「\(\hat\beta_1\) 依概率收敛到 \(c\)」,意思是样本量趋于无穷时,\(\hat\beta_1\) 落在 \(c\) 附近任意小区间内的概率趋于 1。直观上就是「数据无限多时估计量会停在哪里」。若停在真值 \(\beta_1\),叫一致;停在别处,差额就是大样本偏误。本章的所有偏误公式都是这种「停在哪里」的公式。见 第 00 册第 07 章 概率中的分析工具。

2. 协方差的运算规则。 \(\mathrm{cov}(aX+bY,Z)=a\,\mathrm{cov}(X,Z)+b\,\mathrm{cov}(Y,Z)\);\(\mathrm{cov}(X,X)=\mathrm{var}(X)\);常数与任何变量的协方差为 0。例:若 \(\tilde X=X+w\),\(w\) 与 \(X\) 不相关,则 \(\mathrm{cov}(\tilde X,w)=\mathrm{cov}(X,w)+\mathrm{var}(w)=0+\sigma_w^2\)。本章的两个推导(测量误差、联立因果)都只用这几条规则。见 第 00 册第 07 章。

3. 单回归斜率的概率极限。 OLS 斜率 \(\hat\beta_1=\widehat{\mathrm{cov}}(X,Y)/\widehat{\mathrm{var}}(X)\),大样本下趋于 \(\mathrm{cov}(X,Y)/\mathrm{var}(X)\)。代入 \(Y=\beta_0+\beta_1X+u\) 得 \(\beta_1+\mathrm{cov}(X,u)/\mathrm{var}(X)\)。这就是第 06 章的遗漏变量偏误公式,也是本章所有偏误推导的出发点:偏误 = \(\mathrm{cov}(X,u)/\mathrm{var}(X)\)。CFA 里 beta 等于 \(\mathrm{cov}(R_i,R_m)/\mathrm{var}(R_m)\),形式完全一样。

4. 解一元一次方程。 联立因果的推导里,未知量 \(\mathrm{cov}(X,u)\) 同时出现在等式两边,移项合并即可解出。这是纯代数,不需要更多工具。

怎么读这一章

9.2 节是核心,五大威胁加上标准误失效,每一种都要能说出「它怎样让 \(X\) 与 \(u\) 相关」,最后用 Key Concept 9.7 的表格串起来。其中 9.2.3(测量误差的衰减公式)和 9.2.5(联立因果)有推导,建议跟着讲解框手算一遍,这两个结论在第 12 章工具变量里会再用。9.2.4 的幸存者偏差专栏对金融从业者最有直接价值。9.1 节概念简单,快速读过即可。9.3 节(预测 vs 因果)篇幅短但很重要,它解释了为什么选股模型和因果研究的评价标准不同。9.4 节是案例演示,可以先看 9.4.2 的逐条清单,再回头看表格。最后的量化实战对照表值得反复看。


9.0 动机:一项回归研究什么时候可信

第 04–08 章教的是怎么做回归。本章换一个角度:拿到一项用多元回归做出的研究,怎么判断它可不可信?原书关注的是以估计因果效应(causal effect)为目标的研究,例如学生–教师比(student–teacher ratio, STR)对考试成绩的影响。

本章给出一个通用框架,核心是两把尺子。内部有效:研究对它所研究的总体和情境,得出的因果推断是对的。外部有效:这些推断能推广到别的总体和情境。前者问「在这批数据里算对了没有」,后者问「换个地方还成不成立」。

量化研究者每天都在做这件事。读一篇因子论文、审一份回测报告,本质上都是在问:这个结果在样本内是否被各种偏差污染(内部有效性)?换到别的市场、别的时期是否还成立(外部有效性)?本章的清单就是这类审查的骨架。


9.1 内部有效性与外部有效性

9.1.1 被研究总体与目标总体

区分两种有效性,需要先区分三个概念:

  • 被研究总体(population studied):样本实际抽取自的实体总体,例如加州的小学学区。
  • 目标总体(population of interest):研究结论要应用到的实体总体。例如一位高中校长想把加州小学学区的结论用到高中,高中就是目标总体。
  • 情境(setting):制度、法律、社会、物理和经济环境。例如实验室里种有机番茄的方法能不能搬到田间。

Key Concept 9.1(内部与外部有效性) 若关于因果效应的统计推断对被研究总体成立,称分析具有内部有效性;若其推断与结论能从被研究的总体和情境推广到其他总体和情境,称具有外部有效性。

9.1.2 内部有效性的两个组成部分

  1. 因果效应的估计量无偏且一致。例如 \(\hat\beta_{STR}\) 应当是总体因果效应 \(\beta_{STR}\) 的无偏一致估计量。
  2. 假设检验有预期的显著性水平,置信区间有预期的置信水平。例如 \(\hat\beta_{STR}\pm1.96\,SE(\hat\beta_{STR})\) 在重复抽样下应以 95% 的概率覆盖真值。

对 OLS 研究来说,第一条要求 OLS 估计量一致,第二条要求标准误算对。让这些要求失败的原因叫内部有效性威胁,每一种威胁都会破坏第 06 章 Key Concept 6.4 中的某条最小二乘假设。

9.1.3 外部有效性的威胁

外部有效性的威胁来自被研究总体/情境与目标总体/情境之间的差异。

  • 总体差异:例如化学品毒性实验在小鼠身上做,却用来制定人类健康法规。更一般地,真实因果效应可能因总体的选取方式、总体特征、地域或研究过时而不同。
  • 情境差异:即使总体相同,情境不同也可能无法推广。例如某所大学反酗酒广告的效果,可能推广不到法律处罚不同的另一所大学。制度环境、法律、物理环境的差异都属于此类。

回到班级规模:加州小学学区的结论推广到大学显然不可信;推广到美国其他州的小学学区则较可信,因为学生、课程和组织方式大体相似。

如何评估外部有效性:必须用对两边总体与情境的具体知识做判断。若有针对不同但相关总体的多项研究,可以互相比较:结论相似就支持外部有效性,无法解释的差异就令人怀疑(9.4 节比较马萨诸塞州与加州就是这么做的)。系统比较同一主题大量研究的做法叫元分析(meta-analysis),它有自己的难题:怎样区分好研究和坏研究、因变量不同时怎样比较、是否给大样本研究更大权重。原书还提到用 p-curve 方法解读已发表研究的 p 值(Simonsohn, Nelson & Simmons, 2014)。外部有效性最好在研究设计阶段就加以保障,相关内容超出本书范围(参见 Shadish, Cook & Campbell, 2002)。


9.2 多元回归内部有效性的五大威胁

本节列举 OLS 即使在大样本中也有偏的五个原因。先给结论:五者的共同根源都是回归元与总体回归误差项相关,即第一条最小二乘假设 \(E(u_i\mid X_i)=0\) 失败。由于偏误不随样本增大而消失,OLS 不一致。本节最后单独讨论让标准误失效的情形。

9.2.1 遗漏变量偏误

回顾第 06 章:一个变量既决定 \(Y\),又与某个已纳入的回归元相关,把它漏掉就产生遗漏变量偏误(omitted variable bias)。怎么处理取决于有没有能控制它的变量。

有数据或有充分的控制变量时,直接把遗漏变量放进回归;或者放入一组控制变量,只要它们足够充分,能实现条件均值独立(conditional mean independence):

\[E(u_i\mid X_i,W_i)=E(u_i\mid W_i).\]

此时关注变量的系数就没有偏误(控制变量本身的系数仍没有因果解释)。

白话解释:条件均值独立的意思是:一旦知道了控制变量 \(W\),再知道 \(X\) 也不能帮你猜误差 \(u\) 的平均值。换句话说,在 \(W\) 相同的一群个体里,\(X\) 的高低「如同随机分配」。 金融例子:想估计「分析师覆盖数 \(X\) 对股票收益的效应」,覆盖数和公司规模高度相关,而规模本身又影响收益(遗漏变量藏在 \(u\) 里)。若把市值作为 \(W\) 放进回归,要求的是:在市值相近的股票中,覆盖数多少与其他未观测因素无关。注意它不要求 \(u\) 与 \(W\) 无关,所以 \(W\) 的系数会吸收遗漏变量的作用,不能当作「市值的因果效应」来解读。

加变量的成本与收益:漏掉变量会产生偏误;但加入一个总体系数为 0 的变量,会降低其他系数估计的精度。所以加不加变量,是关注系数的偏误–方差权衡。原书给出四步法:

Key Concept 9.2(我应在回归中加入更多变量吗?)

  1. 明确关键的关注系数(班级规模例中就是 STR 的系数)。
  2. 跑回归之前,用经济理论和专业知识做先验推理(a priori reasoning),找出最可能的遗漏变量偏误来源,得到一个基准设定(base specification)和一张「可疑」控制变量清单。
  3. 把可疑控制变量逐个加入基准设定。若其系数显著,或关注系数明显变化,就保留并修改基准设定;否则可以剔除。
  4. 用表格如实列出多个设定的结果,做到「完全披露」(full disclosure),让怀疑者自己判断。

第 07、08 章的表 7.1、表 8.3 就是这种完全披露的范例:本可以只报告最后一列,却把所有设定都列出来。

没有充分的控制变量时,还有三条路,各自依赖不同类型的数据:

  1. 面板数据(panel data):同一实体在多个时期被观测。只要遗漏变量不随时间变化,就能把它控制住(第 10 章)。
  2. 工具变量回归(instrumental variables regression):借助一个新变量——工具变量(第 12 章)。
  3. 随机对照实验(randomized controlled experiment):原书第 13 章。

9.2.2 函数形式误设

若总体回归函数是非线性的,估计的却是线性回归,OLS 就有偏。这本质上也是遗漏变量偏误——被漏掉的是刻画非线性的项。例如总体回归是二次多项式,漏掉平方项就会产生偏误。

Key Concept 9.3(函数形式误设) 估计的回归函数形式与总体回归函数形式不同时,某变量偏效应的估计量一般有偏。常可通过对数据和拟合曲线作图发现,并换用不同函数形式纠正。

因变量连续时用第 08 章的非线性方法;因变量是二元或离散时情况更复杂,见第 11 章。

9.2.3 测量误差与变量误差偏误

如果不小心把五年级学生的成绩对十年级的 STR 回归,两者相关但并非同一变量,系数就会有偏。这种由自变量测量误差造成的偏误叫变量误差偏误(errors-in-variables bias),它在大样本中也不消失。来源很多:问卷受访者记错或故意误报(如 Current Population Survey 中的去年收入),行政记录录入错误等。

一般推导。设真实回归元 \(X_i\) 被测为 \(\tilde X_i\)。把总体回归 \(Y_i=\beta_0+\beta_1X_i+u_i\) 改写成 \(\tilde X_i\) 的形式:

\[Y_i=\beta_0+\beta_1\tilde X_i+\underbrace{[\beta_1(X_i-\tilde X_i)+u_i]}_{v_i}.\tag{9.1}\]

新误差 \(v_i\) 里含有测量误差。只要 \(\tilde X_i-X_i\) 与 \(\tilde X_i\) 相关,回归元就与误差相关,\(\hat\beta_1\) 有偏且不一致。偏误的方向和大小取决于测量误差的具体性质。

经典测量误差模型(classical measurement error model):\(\tilde X_i=X_i+w_i\),其中 \(w_i\) 均值为 0、方差为 \(\sigma_w^2\),且与 \(X_i\)、\(u_i\) 都不相关。此时

\[\hat\beta_1\xrightarrow{p}\frac{\sigma_X^2}{\sigma_X^2+\sigma_w^2}\,\beta_1.\tag{9.2}\]

推导:\(v_i=-\beta_1w_i+u_i\)。由于 \(\mathrm{cov}(\tilde X_i,w_i)=\mathrm{cov}(X_i+w_i,w_i)=\sigma_w^2\),有 \(\mathrm{cov}(\tilde X_i,v_i)=-\beta_1\sigma_w^2\)。代入遗漏变量偏误公式(式 6.1)\(\hat\beta_1\xrightarrow{p}\beta_1+\mathrm{cov}(\tilde X_i,v_i)/\sigma_{\tilde X}^2\),并用 \(\sigma_{\tilde X}^2=\sigma_X^2+\sigma_w^2\):

\[\hat\beta_1\xrightarrow{p}\beta_1-\frac{\beta_1\sigma_w^2}{\sigma_X^2+\sigma_w^2}=\frac{\sigma_X^2}{\sigma_X^2+\sigma_w^2}\beta_1.\]

比值 \(\sigma_X^2/(\sigma_X^2+\sigma_w^2)\) 小于 1,所以 \(\hat\beta_1\) 即使在大样本中也偏向 0,文献中称为衰减偏误(attenuation bias)。两个极端:测量误差大到几乎不含 \(X\) 的信息时,\(\hat\beta_1\to0\);没有测量误差时,\(\hat\beta_1\to\beta_1\)。这个比值就是测得变量中「信号方差占总方差」的比例,也叫信度比(reliability ratio)。

推导拆解:把正文的推导拆成四步,每一步只用协方差规则。 第一步,求新误差。\(v_i=\beta_1(X_i-\tilde X_i)+u_i\),而 \(X_i-\tilde X_i=-w_i\),所以 \(v_i=-\beta_1w_i+u_i\)。 第二步,求 \(\mathrm{cov}(\tilde X_i,v_i)\)。按线性展开:\(\mathrm{cov}(X_i+w_i,\,-\beta_1w_i+u_i)=-\beta_1\mathrm{cov}(X_i,w_i)+\mathrm{cov}(X_i,u_i)-\beta_1\mathrm{var}(w_i)+\mathrm{cov}(w_i,u_i)\)。按经典模型假设,第一、二、四项都是 0,剩下 \(-\beta_1\sigma_w^2\)。 第三步,求 \(\mathrm{var}(\tilde X_i)\)。\(X_i\) 与 \(w_i\) 不相关,方差直接相加:\(\sigma_X^2+\sigma_w^2\)。 第四步,代入「偏误 = 协方差 / 方差」:\(\beta_1+\frac{-\beta_1\sigma_w^2}{\sigma_X^2+\sigma_w^2}\),通分得 (9.2)。 数值例子:真实 beta 截面标准差 0.3(方差 0.09),每只股票 beta 的估计误差方差 0.075,信度比 \(0.09/0.165\approx0.55\)。真实风险溢价若为每月 0.6%,用估计 beta 做截面回归只能得到约 0.33%。本章量化实战的模拟正是这组数字。 直觉:噪声让 \(\tilde X\) 的横向散布变宽,但 \(Y\) 并不跟着噪声变,于是散点图被「横向拉平」,拟合直线变缓。

经典模型不是唯一可能,原书还讨论了两种情形:

  • 「最佳猜测」模型(best guess model):受访者报告的是给定其信息时对真值的条件期望,\(\tilde X_i=E(X_i\mid\text{信息})\)。此时测量误差与报告值不相关,\(E[(\tilde X_i-X_i)\tilde X_i]=0\)——若相关,这个相关本身就能用来改进猜测,那 \(\tilde X_i\) 就不是最佳猜测了。若受访者的信息与 \(u_i\) 不相关,\(\hat\beta_1\) 一致,只是 \(\mathrm{var}(v_i)>\mathrm{var}(u_i)\),方差变大(习题 9.12)。

白话解释:经典误差与最佳猜测误差的区别在于「噪声加在哪一边」。经典误差是 \(\tilde X=X+\text{噪声}\),噪声和报告值相关;最佳猜测是 \(X=\tilde X+\text{噪声}\),噪声和报告值不相关。前者让 \(\tilde X\) 的散布比真值更宽,导致衰减;后者让 \(\tilde X\) 的散布比真值更窄(猜测值比真值「收敛」),斜率不受影响。 金融例子:分析师的一致预期如果是对未来盈利的条件期望(理性预期),用它作回归元就接近最佳猜测模型;而用 60 个月数据估出的 beta 是「真值 + 抽样误差」,属于经典模型。

  • 故意误报:若所有人只报告 90% 的收入,\(\tilde X_i=0.9X_i\),则 \(Y\) 对 \(\tilde X\) 的斜率为 \(\beta_1/0.9\),向上偏约 10%。

Key Concept 9.4(变量误差偏误) 自变量测量不准时,OLS 产生变量误差偏误,其大小取决于测量误差的性质,大样本中也存在。若测量值等于真值加一个均值为 0、独立分布的误差,单回归元 OLS 偏向 0,概率极限见式 (9.2)。

\(Y\) 的测量误差效果不同。若 \(\tilde Y_i=Y_i+w_i\),\(w_i\) 与 \(X_i\) 独立,估计模型 \(\tilde Y_i=\beta_0+\beta_1X_i+v_i\) 中 \(v_i=u_i+w_i\),仍有 \(E(v_i\mid X_i)=0\),所以 \(\hat\beta_1\) 无偏,只是方差增大。一般地,给定回归元条件均值为 0 的 \(Y\) 测量误差不会使 OLS 有偏。

补救:最好是拿到准确的 \(X\)。否则可以(a)用工具变量回归,工具要与真实 \(X_i\) 相关、与测量误差无关(第 12 章);(b)建立测量误差模型并据此修正,例如经典模型下若能估计 \(\sigma_w^2/\sigma_X^2\),就可用式 (9.2) 把估计值除以信度比。后者需要对测量误差的专门知识。

9.2.4 缺失数据与样本选择

缺失数据是否威胁内部有效性,取决于数据为什么缺失:

  1. 完全随机缺失(missing completely at random):缺失与 \(X\)、\(Y\) 都无关。只减少样本量,不引入偏误。
  2. 基于 \(X\) 的缺失:例如只用 STR > 20 的学区。不能对 STR ≤ 20 下结论,但对 STR > 20 学区的分析不会有偏。
  3. 与 \(Y\) 有关(在 \(X\) 之外)的选择过程:选择机制可能使误差与回归元相关,由此产生的偏误叫样本选择偏误(sample selection bias)。经典例子是 1936 年美国总统选举民调:随机抽取有电话的汽车车主,而当年有车有电话者更倾向共和党,抽样方式与因变量(支持谁)相关,结果大错。

Key Concept 9.5(样本选择偏误) 当选择过程影响数据的可得性、且该过程与因变量相关(在依赖回归元之外)时,产生样本选择偏误。它使回归元与误差项相关,OLS 有偏且不一致。

样本选择偏误最好在研究设计阶段避免:想估计本科生的平均身高,要对全体本科生随机抽样,而不是站在篮球馆门口抽。一旦数据已带有样本选择,前面学过的方法都消除不了它;专门的样本选择模型(如 Heckman 两步法)部分建立在第 11 章的技术上,见第 11 章附录内容的介绍。

原书专栏:股票共同基金能跑赢市场吗? 检验办法之一是看过去一年的高收益基金未来是否继续跑赢。但有些数据库只收录当前仍在售基金的历史数据,表现最差的基金因清盘或被合并而消失了。样本按因变量(收益)的取值被筛选,这就是样本选择偏误。十年间全部基金(含已消亡基金)的平均收益,会低于期末仍存续基金的平均收益,只研究存续基金会高估业绩。金融经济学家称之为幸存者偏差。纳入已消亡基金之后,计量证据表明:主动管理的股票基金平均不能跑赢市场,且过去的好业绩不能预测未来的好业绩(Carhart, 1997;Malkiel, 2016 第 7 章;对冲基金中的幸存者偏差见 Aggarwal & Jorion, 2010)。

9.2.5 联立因果

此前一直假设因果从 \(X\) 指向 \(Y\)。若同时存在 \(Y\to X\),即联立因果(simultaneous causality),OLS 会把两个方向的效应混在一起。

例:若政府专门补贴成绩差的学区雇教师,则小班提高成绩(\(X\to Y\)),低成绩又导致 STR 降低(\(Y\to X\))。某个遗漏因素让成绩偏低(\(u_i<0\)),政府计划又让 STR 降低,所以 STR 与 \(u_i\) 正相关。

用两个方程刻画:

\[Y_i=\beta_0+\beta_1X_i+u_i,\tag{9.3}\]
\[X_i=\gamma_0+\gamma_1Y_i+v_i.\tag{9.4}\]

直观上,\(u_i>0\) 抬高 \(Y_i\);若 \(\gamma_1\neq0\),高 \(Y_i\) 又通过 (9.4) 改变 \(X_i\),于是 \(X_i\) 与 \(u_i\) 相关。设 \(\mathrm{cov}(u_i,v_i)=0\):

\[\mathrm{cov}(X_i,u_i)=\gamma_1\mathrm{cov}(Y_i,u_i)=\gamma_1[\beta_1\mathrm{cov}(X_i,u_i)+\sigma_u^2],\]

解出

\[\mathrm{cov}(X_i,u_i)=\frac{\gamma_1\sigma_u^2}{1-\gamma_1\beta_1}.\]

只要 \(\gamma_1\neq0\),它就不为 0。因为可以用两个联立方程表示,这种偏误也叫联立方程偏误(simultaneous equations bias)。

推导拆解: 第一步,对 (9.4) 两边取与 \(u_i\) 的协方差。常数 \(\gamma_0\) 贡献 0,\(\mathrm{cov}(v_i,u_i)=0\) 按假设,于是 \(\mathrm{cov}(X_i,u_i)=\gamma_1\mathrm{cov}(Y_i,u_i)\)。 第二步,对 (9.3) 同样处理:\(\mathrm{cov}(Y_i,u_i)=\beta_1\mathrm{cov}(X_i,u_i)+\mathrm{var}(u_i)=\beta_1\mathrm{cov}(X_i,u_i)+\sigma_u^2\)。 第三步,把第二步代入第一步。记 \(c=\mathrm{cov}(X_i,u_i)\),得 \(c=\gamma_1\beta_1c+\gamma_1\sigma_u^2\),移项 \(c(1-\gamma_1\beta_1)=\gamma_1\sigma_u^2\),解出 \(c\)。 符号直觉:\(Y\to X\) 的反馈若为正(\(\gamma_1>0\))且 \(\gamma_1\beta_1<1\),则 \(X\) 与 \(u\) 正相关,OLS 斜率被推高。正文的补贴例子正是如此:成绩低 → 政府补贴教师 → STR 低,即 \(Y\) 低时 \(X\) 也低,\(\gamma_1>0\);而真实 \(\beta_1<0\),所以 \(1-\gamma_1\beta_1>1\),\(\mathrm{cov}(X,u)>0\),与正文结论一致。后果是 OLS 估计的 \(\hat\beta_1\) 被往正方向推,小班的效果被低估(绝对值偏小,甚至可能变号)。 金融直觉:估计「订单流对价格的冲击」时,买单推高价格(\(X\to Y\)),但动量交易者看到价格上涨又追买(\(Y\to X\))。OLS 会把追涨带来的那部分相关性也算成「冲击」,高估价格冲击系数。

Key Concept 9.6(联立因果偏误) 在 \(Y\) 对 \(X\) 的回归中,若除 \(X\to Y\) 外还存在 \(Y\to X\) 的因果链,反向因果使 \(X\) 与误差相关,产生联立因果偏误。

补救办法是工具变量回归(第 12 章),或者设计能切断反向通道的随机对照实验。

9.2.6 OLS 标准误的不一致

即使 OLS 估计量一致,标准误错了也会让检验的实际水平偏离名义水平,「95%」置信区间实际上覆盖不到 95%。两个主要原因:

  • 异方差处理不当:有些软件出于历史原因默认报告仅同方差(homoskedasticity-only)标准误。误差异方差时它们不可靠。补救:用异方差稳健标准误,并用稳健方差构造 F 统计量。
  • 观测间误差相关:随机抽样保证误差在观测间独立;但抽样有时只是部分随机。最常见的是同一实体的跨时重复观测:构成误差的遗漏变量若有持续性,误差就序列相关(serial correlation),面板数据和时间序列数据都会出现。按地理单位抽样时,相邻观测的误差也会相关。

观测间相关不会使 OLS 有偏,但违反了 i.i.d. 抽样假设,使常规标准误(不论仅同方差还是异方差稳健)都不对。补救是换用对相关稳健的标准误:面板数据用第 10 章的聚类标准误,时间序列用 HAC 标准误(本册第 16 章;第 06 册第 02b 章也有讨论)。

白话解释:为什么误差正相关会让常规标准误偏小?常规公式默认 \(n\) 个观测各自提供一份独立信息。若误差正相关,相邻观测在说「同一件事」,有效信息量少于 \(n\)。 极端例子就是练习 5:每条数据复制一遍,\(n\) 翻倍,但信息一点没增加,常规 SE 却缩小 \(\sqrt2\) 倍。量化里最常见的版本是用重叠的 12 个月收益做月度回归:相邻两个观测共享 11 个月,样本「看起来」有 240 个,实际独立信息只相当于 20 个左右。不修正标准误,t 值会虚高到 3 以上,而真实显著性可能很弱。 再看一个公式感受:等权平均 \(n\) 个方差为 \(\sigma^2\)、两两相关系数为 \(\rho\) 的变量,方差是 \(\frac{\sigma^2}{n}[1+(n-1)\rho]\)。\(\rho=0\) 时是熟悉的 \(\sigma^2/n\);\(\rho>0\) 时多出一项,\(n\) 很大时方差趋于 \(\rho\sigma^2\),再加样本也降不下去。这和组合分散化里「系统性风险分散不掉」是同一个公式。

9.2.7 一张检查清单

Key Concept 9.7(多元回归研究内部有效性的威胁)

威胁 后果 补救方向
遗漏变量 \(\hat\beta\) 有偏、不一致 纳入变量或充分控制;面板固定效应;IV;随机实验
函数形式误设 有偏、不一致 作图,换非线性设定(第 08 章),二元 \(Y\) 见第 11 章
变量误差 经典情形下衰减向 0 更好的测量;IV;用信度比修正
样本选择 有偏、不一致 设计阶段避免;样本选择模型
联立因果 有偏、不一致 IV;随机实验
异方差用了仅同方差 SE 推断无效 异方差稳健 SE
观测间误差相关 推断无效 聚类 SE、HAC SE

把这张清单逐条套在一项研究上,是评估内部有效性的系统方法。


9.3 回归用于预测时的有效性

用回归做预测时,外部有效性至关重要,而系数是否是因果效应的无偏估计则不重要。

回顾第 04 章开头的两个人:学监想知道缩小班级能提高多少分(因果问题);一位父亲要搬到一个成绩未公开的学区,只想要该学区成绩的可靠预测(预测问题)。后者不需要任何因果效应,只需要回归方程能准确预测目标学区。

可靠预测有三个要求:

  1. 估计数据与待预测观测来自同一分布。这就是附录 6.4「预测用的第一条最小二乘假设」,也是预测语境下外部有效性的数学表述。
  2. 预测变量的选择。做因果估计时选控制变量是为了降低遗漏变量偏误;做预测时,只要能显著解释 \(Y\) 的变动就有用,无论有没有因果解释。时间序列中还可以利用序列相关预测未来,即预报(forecast)。
  3. 估计量本身。预测变量很多(甚至多于样本量)时,岭回归、Lasso 等收缩估计量的样本外表现可能优于 OLS(原书第 14 章)。

这一节对量化的意义很直接:大多数 alpha 研究是预测问题,第 1 条要求就是「样本内外同分布」,它在市场体制切换时最容易被打破。

金融直觉:一个选股模型里放「分析师覆盖数」,即使它只是规模和流动性的代理、没有任何因果作用,只要它稳定地帮助预测收益,预测模型就可以用它。但如果你要回答「公司主动吸引更多分析师覆盖,股价会不会涨」,这就是因果问题,必须处理遗漏变量和反向因果。 两类问题的检验方式也不同:预测看样本外误差(如样本外 \(R^2\)、IC),因果看估计量是否一致、置信区间是否可信。一个样本外表现很好的模型,系数仍然可以完全没有因果含义;反过来,一个因果估计很干净的系数,对预测的帮助也可能很小。


9.4 案例:加州与马萨诸塞州的班级规模研究

9.4.1 外部有效性:换一个州再做一遍

原书用 1998 年马萨诸塞州 220 个公立学区四年级学生的标准化考试数据,与第 04–08 章的加州数据比较。两州变量定义相同或几乎相同。

表 9.1 两州数据摘要统计

变量 加州均值 加州标准差 马州均值 马州标准差
考试成绩 654.1 19.1 709.8 15.1
学生–教师比 19.6 1.9 17.3 2.3
英语学习者比例 15.8% 18.3% 1.1% 2.9%
享受补贴午餐比例 44.7% 27.1% 15.3% 15.1%
学区平均收入 $15,317 $7,226 $18,747 $5,808
观测数 420 220
年份 1999 1998

两州考试不同,分数不能直接比。成绩与收入的散点图形状相似:收入低时陡、收入高时平。马州三次设定的 \(R^2\) 略高于对数设定(0.486 vs 0.455),而加州线性–对数最好,非线性的大致模式一致。

表 9.2 马州多元回归结果(因变量为四年级综合成绩,220 个学区,括号内为异方差稳健标准误;节选)

回归元 (1) (2) (3) (4) (5) (6)
STR −1.72 (0.50) −0.69 (0.27) −0.64 (0.27) 12.4 (14.0) −1.02 (0.37) −0.67 (0.27)
STR²、STR³ 有
英语学习者% −0.411 (0.306) −0.437 (0.303) −0.434 (0.300)
HiEL、HiEL×STR 有
免费午餐% −0.521 (0.077) −0.582 (0.097) −0.587 (0.104) −0.709 (0.091) −0.653 (0.072)
收入设定 ln(收入) 三次 三次 三次 三次
F:STR²、STR³=0 0.45 (0.641)
F:HiEL、HiEL×STR=0 1.58 (0.208)
\(\bar R^2\) 0.063 0.670 0.676 0.675 0.675 0.674

解读:加入控制变量后 STR 系数从 −1.72 降为 −0.64,降幅约 60%(加州为 68%);仍在 5% 水平显著(加州为 1%,因为加州样本几乎大一倍);与英语学习者的交互不显著;与加州不同的是,马州没有证据表明 STR 与成绩的关系是非线性的(p = 0.641)。列 (3) 对 (4)–(6) 的设定变化不敏感,被选为基准。

标准化以便比较。分数单位不同,就把「系数 / 成绩标准差」作为可比的效应量:标准化成绩回归中的斜率等于原斜率除以成绩标准差。

表 9.3 STR 减少 2 的效应

设定 \(\hat\beta_{STR}\) 成绩标准差 效应(分) 效应(标准差单位)
加州 线性 −0.73 (0.26) 19.1 1.46 (0.52) 0.076 (0.027) [0.024, 0.130]
加州 三次,STR 20→18 – 19.1 2.93 (0.70) 0.153 (0.037)
加州 三次,STR 22→20 – 19.1 1.90 (0.69) 0.099 (0.036)
马州 线性 −0.64 (0.27) 15.1 1.28 (0.54) 0.085 (0.036) [0.015, 0.154]

计算示例:加州 \(-0.73\times(-2)=1.46\) 分,\(1.46/19.1=0.076\) 个标准差,标准误 \(0.26\times2/19.1=0.027\)。

白话解释:除以成绩标准差,是把「分数」换成「标准差个数」这把通用尺子,原理同 Sharpe 比率把超额收益除以波动率、z-score 把原始值减均值除以标准差。两州考试满分和难度不同,原始分数不可比,但「提高了多少个标准差」可以比。标准误也同比例缩放,是因为除以一个常数(这里把样本标准差当作已知常数)时,随机变量的标准差同样除以这个常数。

两州结论实质相同:马州 95% 置信区间包含加州线性设定的区间。效应虽然显著但很小——加州中位数学区与第 75 百分位学区相差 12.2 分即 0.64 个标准差,STR 减 2 只能走完这段距离的十分之一多一点。两州结果一致,说明加州结论至少对美国其他小学学区是外部有效的。

9.4.2 内部有效性:逐条过清单

  • 遗漏变量:已控制学生特征、家庭经济特征和学区富裕度。若这些控制充分,STR 在控制变量相同的学区间就「如同随机分配」。但仍可能有遗漏:例如好教师被小班学校吸引,教师质量与 STR 相关又影响成绩;又如 STR 低的学区家庭可能更重视课外辅导。根本解法是随机实验(田纳西 STAR 项目)。
  • 函数形式:探索了多种非线性设定,结论不敏感。
  • 变量误差:学区平均 STR 是对实际班级规模的粗略度量(学生流动),可能使效应偏向 0;学区收入取自 1990 年普查,与 1998/1999 年的其他数据错位,也可能测量不准。
  • 样本选择:覆盖满足最低规模的全部学区,没有理由担心。
  • 联立因果:两州考试期间都没有按成绩分配经费的机制,不太可能存在。
  • 标准误:全部用异方差稳健标准误;但样本是全州所有学区,可能存在地理相关,相应的修正公式较复杂,原书未展开。

结论:控制家庭经济背景、学生特征、学区富裕度并建模非线性后,STR 每减少 2,成绩预计提高约 0.08 个标准差——统计显著但相当小。主要剩余威胁是遗漏变量。学监要拿这个估计去权衡教师工资、教室等成本。


量化实战

本章清单在量化里的对应

本章的五大威胁几乎一一对应量化研究中最常见的坑:

本章概念 量化中的典型表现
样本选择 / 幸存者偏差 用「当前成分股」回测历史;只用存续基金评价经理;忽略退市、ST、被并购股票
与 \(Y\) 相关的数据缺失 财务数据回填(restatement)、用公告日之后才可得的数据(前视偏差,look-ahead bias)
变量误差 因子暴露(beta、估计的盈利预期)本身是带噪声的估计值,第二步截面回归的风险溢价被衰减
联立因果 订单流与价格、成交量与波动、资金流与基金业绩互为因果,直接 OLS 估计价格冲击有偏
函数形式 因子与收益的关系在极端分位上非线性(如动量崩溃、低价股效应)
观测间误差相关 收益面板的同日截面相关、重叠持有期收益的序列相关,导致 t 值虚高(第 10 章聚类标准误、第 16 章 HAC 标准误)
预测 vs 因果 选股模型是预测问题,看样本外表现;解释「为什么有效」、做情景分析需要因果思维
外部有效性 美股发现的因子迁移到 A 股,要考虑涨跌停、T+1、投资者结构等「情境差异」

处理幸存者偏差的原则:股票池必须是时点(point-in-time)成分,即每个历史日期只用当日实际可交易的股票,包括后来退市的;财务数据必须按公告日对齐。处理变量误差的经典做法是 Fama–MacBeth 研究中把个股按估计的 beta 分组,用组合的 beta 做第二步回归:组内平均使测量误差方差缩小,信度比接近 1;更系统的修正包括 Shanken (1992) 标准误修正,以及用不同子样本估计的 beta 互为工具变量(第 12 章)。

示例:幸存者偏差与 beta 测量误差的衰减

下面的模拟做两件事。第一,3000 只基金的真实超额收益均值都是 0,净值跌破 0.7 就清盘,比较「全部基金」与「仅存续基金」的平均收益。第二,4000 只股票的真实 beta 已知,用 60 个月数据估计 beta 后做第二步截面回归,验证式 (9.2) 的衰减,并演示分组法如何缓解。

import numpy as np
import pandas as pd
import statsmodels.api as sm

rng = np.random.default_rng(42)

# ---------- 1. 幸存者偏差:所有基金真实 alpha = 0 ----------
n_funds, T = 3000, 120                       # 3000 只基金,10 年月度
ret = rng.normal(0.0, 0.04, size=(n_funds, T))   # 超额收益,均值 0
nav = np.cumprod(1 + ret, axis=1)
# 规则:净值跌破 0.7 的基金当月清盘,此后不再有数据
dead = (nav < 0.7)
first_dead = np.where(dead.any(axis=1), dead.argmax(axis=1), T)
alive_mask = np.arange(T)[None, :] <= first_dead[:, None]   # 含清盘当月
survivor = first_dead == T
all_mean = ret[alive_mask].mean()                     # 含已清盘基金的全部月度观测
surv_mean = ret[survivor].mean()                      # 只看存续基金
print(f"存续基金比例         : {survivor.mean():.3f}")
print(f"全部基金月均超额收益 : {all_mean*1e4:7.2f} bp")
print(f"仅存续基金月均超额   : {surv_mean*1e4:7.2f} bp  (年化约 {surv_mean*12*100:.2f}%)")

# ---------- 2. 变量误差:用估计的 beta 做第二步截面回归 ----------
N, T2 = 4000, 60
beta_true = rng.normal(1.0, 0.3, N)
lam = 0.006                                     # 真实市场风险溢价 0.6%/月
mkt = rng.normal(lam, 0.045, T2)                # 市场超额收益
eps = rng.normal(0, 0.10, (T2, N))              # 特质波动 10%/月
R = mkt[:, None] * beta_true[None, :] + eps     # 个股超额收益 (T2 x N)

# 第一步:逐股时间序列回归估计 beta
Xm = sm.add_constant(mkt)
beta_hat = np.linalg.lstsq(Xm, R, rcond=None)[0][1]
w = beta_hat - beta_true
ratio = beta_true.var() / (beta_true.var() + w.var())
print(f"\nbeta 真实截面方差 {beta_true.var():.4f}, 估计误差方差 {w.var():.4f}")
print(f"理论衰减系数 sigma_X^2/(sigma_X^2+sigma_w^2) = {ratio:.3f}")

# 第二步:把样本平均收益对 beta 做截面回归(同一样本,演示衰减)
Rbar = R.mean(axis=0)
def slope(x, y):
    return sm.OLS(np.asarray(y), sm.add_constant(np.asarray(x))).fit().params[1]
print(f"用真实 beta 的斜率   : {slope(beta_true, Rbar)*100:.3f}%  (样本内市场均值 {mkt.mean()*100:.3f}%)")
print(f"用估计 beta 的斜率   : {slope(beta_hat, Rbar)*100:.3f}%  (理论值约 {ratio*slope(beta_true, Rbar)*100:.3f}%)")

# 组合法:按估计 beta 排序分 20 组,组内平均降低测量误差
# 关键:排序用前一段数据估计的 beta,避免排序误差与收益相关
half = T2 // 2
b_pre = np.linalg.lstsq(sm.add_constant(mkt[:half]), R[:half], rcond=None)[0][1]
grp = pd.qcut(b_pre, 20, labels=False)
df = pd.DataFrame({"g": grp, "Rbar": R[half:].mean(axis=0),
                   "b_post": np.linalg.lstsq(sm.add_constant(mkt[half:]), R[half:], rcond=None)[0][1],
                   "b_true": beta_true})
P = df.groupby("g").mean()
print(f"20 组组合: 组 beta 噪声方差 {np.var(P.b_post-P.b_true):.5f}, 组间真实 beta 方差 {P.b_true.var(ddof=0):.4f}")
print(f"组合层面斜率(后半段) : {slope(P.b_post, P.Rbar)*100:.3f}%  (后半段市场均值 {mkt[half:].mean()*100:.3f}%)")

关键输出:

存续基金比例         : 0.531
全部基金月均超额收益 :   -0.42 bp
仅存续基金月均超额   :   23.95 bp  (年化约 2.87%)

beta 真实截面方差 0.0910, 估计误差方差 0.0745
理论衰减系数 sigma_X^2/(sigma_X^2+sigma_w^2) = 0.550
用真实 beta 的斜率   : 0.417%  (样本内市场均值 0.401%)
用估计 beta 的斜率   : 0.249%  (理论值约 0.229%)
20 组组合: 组 beta 噪声方差 0.00041, 组间真实 beta 方差 0.0269
组合层面斜率(后半段) : 0.648%  (后半段市场均值 0.655%)

读法:

  • 没有任何基金有真实 alpha,全部基金的平均超额收益约为 0;但只看存续的 53% 基金,平均每年「跑赢」约 2.9%。这完全是筛选造成的。代码里一个细节值得注意:清盘当月的收益必须计入,否则「全部基金」的样本也会因剔除了最差的那一个月而上偏。
  • 单只股票 60 个月估计的 beta 噪声很大,信度比只有 0.55,第二步回归的风险溢价被压缩到真实值的一半左右,与式 (9.2) 的预测一致(两者的差异是抽样误差)。注意真实斜率等于样本内市场的实际均值,而不是总体的 0.6%:短样本下风险溢价本身也估不准。
  • 用前半段 beta 分 20 组、在后半段做组合层面的回归,组 beta 的噪声方差降到 0.0004,信度比约 0.985,衰减几乎消失。代价是只有 20 个观测,截面信息减少。用前半段排序、后半段估计,是为了避免「按带噪 beta 排序」本身造成的偏差。

本章小结

评估一项回归研究要用两把尺子。内部有效性要求估计量一致、标准误正确;外部有效性要求被研究的总体和情境与目标足够相似。OLS 的五大内部有效性威胁——遗漏变量、函数形式误设、变量误差、样本选择、联立因果——都源于回归元与误差项相关,大样本也救不了。经典测量误差让系数衰减向 0;与因变量相关的样本选择(金融里的幸存者偏差)让结果系统性偏乐观;联立因果让 OLS 混合两个方向的效应。标准误方面,异方差要用稳健标准误,观测间相关要用聚类或 HAC 标准误。预测用途不要求因果解释,但要求样本内外同分布。

概念 公式 / 要点
内部有效性 估计量一致 + 标准误正确
外部有效性 被研究总体/情境 ≈ 目标总体/情境
遗漏变量偏误 \(\hat\beta_1\xrightarrow{p}\beta_1+\mathrm{cov}(X,u)/\sigma_X^2\);条件均值独立 \(E(u\mid X,W)=E(u\mid W)\) 可消除
经典测量误差 \(\tilde X=X+w\),\(\hat\beta_1\xrightarrow{p}\dfrac{\sigma_X^2}{\sigma_X^2+\sigma_w^2}\beta_1\)
\(Y\) 的测量误差 与 \(X\) 独立时不致偏,只增大方差
样本选择偏误 选择机制与 \(Y\) 相关 → 有偏;完全随机或基于 \(X\) 的缺失不致偏
联立因果 \(\mathrm{cov}(X,u)=\gamma_1\sigma_u^2/(1-\gamma_1\beta_1)\)
标准误 异方差 → 稳健 SE;观测间相关 → 聚类/HAC SE
预测三要求 同分布;预测变量看解释力;变量多时考虑收缩估计

练习

基础

  1. 一项研究能否内部有效但外部无效?能否外部有效但内部无效?各举一个量化研究的例子。 提示:前者如在 2010–2019 年美股上严谨检验的因子,迁移到涨跌停制度下的 A 股失效;后者在逻辑上不成立——内部无效的结论谈不上推广。
  2. 「误差项异方差时 OLS 估计总是有偏」,这句话对吗?「若 \(Y\) 与误差项相关,OLS 不内部有效」呢?(原书习题 9.7) 答案要点:第一句错,异方差只影响标准误;第二句错,\(Y\) 本来就含 \(u\),要紧的是 \(X\) 与 \(u\) 是否相关。
  3. 某数据库只收录目前仍在交易的股票。用它估计「过去 12 个月跌幅最大的股票未来一年收益」会有什么偏差?方向如何? 提示:跌幅最大的股票中最终退市的那部分被剔除,留下的是「熬过来」的,反转效应被高估。
  4. 学区平均收入取自 1990 年普查,而成绩是 1999 年的。说明这是哪一类威胁,偏误大致方向如何? 提示:变量误差;若近似经典误差,收入系数向 0 衰减。
  5. 每个观测被重复录入两次(\(n\) 从 50 变成 100)。回归系数、标准误、\(R^2\) 如何变化?违反了哪条假设?(原书习题 9.6) 答案要点:系数和 \(R^2\) 不变,标准误约缩小 \(\sqrt2\) 倍,违反独立抽样。这与重叠收益人为放大样本量是同一类问题。

进阶

  1. (原书习题 9.5)需求 \(Q=\beta_0+\beta_1P+u\),供给 \(Q=\gamma_0+\gamma_1P+v\),\(u,v\) 不相关,\(\beta_1<0<\gamma_1\)。求 \(Q\) 对 \(P\) 回归斜率的概率极限,并判断它比需求斜率偏大还是偏小。 答案要点:\(P=(\gamma_0-\beta_0+v-u)/(\beta_1-\gamma_1)\),斜率 \(\to\dfrac{\beta_1\sigma_v^2+\gamma_1\sigma_u^2}{\sigma_u^2+\sigma_v^2}\),是两条曲线斜率的加权平均,大于 \(\beta_1\)。只有 \(\sigma_u^2=0\)(需求不动、供给移动)时才得到需求斜率。这正是第 12 章 IV 的出发点。
  2. (原书习题 9.13)\(n\) 个观测中有 20% 的 \(X\) 被随机打乱(与 \(Y\) 无关)。证明 \(E(\hat\beta_1)\approx0.8\beta_1\),构造一个修正估计量,并与只用 80% 正确观测的估计比较方差。 提示:被打乱的观测对 \(\mathrm{cov}(X,Y)\) 贡献为 0;修正为 \(\hat\beta_1/0.8\),但方差放大为原来的 \(1/0.64\)。
  3. 在本章代码中把估计窗口从 60 个月改为 240 个月,信度比和第二步斜率如何变化?若特质波动从 10% 降到 5% 呢?用式 (9.2) 解释。 提示:\(\sigma_w^2\approx\sigma_\varepsilon^2/(T\sigma_m^2)\),\(T\) 增大或 \(\sigma_\varepsilon\) 减小都使信度比上升。
  4. 你用「上月分析师预期上调幅度」预测收益,发现系数显著。但该数据供应商会在季报公布后补录遗漏的预期修正。指出这属于哪一类威胁,并设计一个检查办法。 提示:数据可得性与结果相关(前视/回填),属样本选择/数据生成过程问题;用带时间戳的点时数据重跑,比较结果。
  5. (原书习题 9.3)用在职女性数据估计「孩子越多工资越高」,可能是什么造成的? 提示:不工作的女性缺失;孩子多的女性只有潜在工资高的才会外出工作,选择与因变量相关(Heckman 1974)。

原书推荐习题:9.5(必做,联立方程偏误的经典推导);9.2、9.12、9.13(\(Y\) 的测量误差、最佳猜测误差、错配数据造成的 \(0.8\beta_1\));9.3(Heckman 样本选择);9.6(重复数据与独立抽样);复习题 9.4、9.6;实证题 E9.1(用清单系统评估收入回归)。


原书对照

本章内容 原书章节 PDF 页码
章首导言 第 9 章开篇 p.331
内部与外部有效性(Key Concept 9.1) 9.1 p.331–333
遗漏变量偏误与加变量的权衡(Key Concept 9.2) 9.2 p.334–336
函数形式误设(Key Concept 9.3) 9.2 p.336
测量误差与变量误差偏误(Key Concept 9.4,式 9.1–9.2) 9.2 p.336–339
缺失数据与样本选择(Key Concept 9.5),共同基金专栏 9.2 p.339–341
联立因果(Key Concept 9.6,式 9.3–9.4) 9.2 p.341–343
标准误不一致的来源(Key Concept 9.7) 9.2 p.343–344
预测用途的有效性 9.3 p.344–345
加州与马州比较(表 9.1–9.3) 9.4 p.345–354
结论、小结 9.5 p.354–355
习题 第 9 章末 p.356–360
马州数据说明 附录 9.1 p.360

注:原书页码 = PDF 页码 − 1。