2.6 因子正交化
在因子投资中常会出现“因子正交化”这一概念。举例来说,在学术界实证资产定价研究中使用两个变量进行双重排序(特别是条件双重排序)就是一种正交化处理;业界在构建因子的时候更是会使用回归手段构建相互正交的因子。从经济学含义上说,“正交”意味着两个因子代表的资产收益的驱动力是不同的,即它们贡献了资产超额收益中不同的部分。不严格地说,一组相互正交的因子往往能更好地解释资产预期收益率的截面差异。
举个极端的例子,使用市盈率和市净率指标分别构造两个价值因子。通常来说,如果一支股票的市盈率很高(低),那么它的市净率也会较高(低),所以使用上述指标构造的两个多头组合高度相似,两个空头组合也高度相似,造成代表因子的价差组合也高度相似。由于这个原因,虽然该模型有两个因子,但它们仅是解释资产收益率中价值驱动的那部分。这个例子说明,两个因子是否相似体现在资产对它们的暴露在截面上相关性的高低。因子正交化的目的就是降低这种截面上的相关性。
上面说了从经济学角度追求因子正交化的动机,接下来再说一说数学上的影响。用一句话概括就是,当使用Fama–MacBeth截面回归求解因子收益率时,因子暴露在截面上的高相关会增大因子收益率的标准误,从而影响对因子收益率的检验。为了解释这一点,考虑一般的线性回归模型:
y=Xb+ε (2.83)
对于多因子模型来说,模型(2.83)中的y代表某时刻N个资产的超额收益向量;X是一个N×(K+1)矩阵,第一列的元素全部是1,代表截距项,后面K列为因子暴露;b为因子收益率向量;最后ε为随机扰动。本节的论述使用诸如y、X这些数学符号,而非Re、β等符号,是为了在讨论中不失一般性。本节讨论的问题是线性回归中常见的问题,而非仅仅针对多因子线性回归模型。模型(2.83)的OLS估计量为:
从的表达式来看,它和X′X有关。当X的各列(即多因子模型中的不同因子的因子暴露向量)之间不正交时,X不同列之间的相关性就会影响X′X以及的计算,而这种影响不是什么好事儿。以下从简单一元回归说起。
2.6.1 简单一元回归
假设有一元回归模型y=bx+ε(模型只有一个解释变量,没有截距项)。该一元回归模型的OLS估计为:
上式中,〈x, y〉表示向量x和y的内积,即。式(2.85)这个结果非常简单,但是它十分重要。比较式(2.85)和式(2.84)的表达式可以发现,如果多元回归模型中所有的解释变量两两正交,即〈xi, xj〉=0, i≠j,则向量恰恰等于:
上式成立是因为〈xi, xj〉=0保证了矩阵X′X的所有非对角元素都是0,因而它是一个对角阵。对角阵的逆矩阵就是把该对角阵对角线上的元素都取倒数,所以逆矩阵仍然是对角阵。因此,式(2.84)中X′X的第i个对角元素为1/〈xi, xi〉。另外,X′y的第i个元素是xi和y的内积,即〈xi, y〉。因此,恰好等于〈xi, y〉/〈xi, xi〉。
多元回归的OLS估计量和一元回归的OLS估计量的表达式一模一样,说明当所有解释变量相互正交时,不同的因子暴露对彼此的因子收益率没有影响,这正是因子相互正交的好处。那么,当因子之间不正交时又会怎样呢?为了回答这个问题,先来看看回归的几何意义。
2.6.2 回归的几何意义
将式(2.84)中的表达式代入模型(2.83)得到样本残差。计算X和的内积有:
上式说明,OLS的残差和解释变量X正交。来看看这在几何上意味着什么。先考虑最简单的一元回归的情况。如图2.13所示,一元回归OLS的几何含义是将y垂直投影到x之上,使得y和其在x上的投影之间的距离(的长度)最短。
图2.13 一元回归几何意义
为了加深对回归的几何意义的理解,下面再看看二元回归y=b1x1+b2x2+ε。假设x1和x2之间是正交的。它的几何意义(图2.14)是将y垂直投影到由x1和x2生成的平面内,记为。此外,将y分别单独投影到向量x1和x2上。由于x1和x2相互正交(即垂直),因此向量恰好等于上述两个向量之和。因此,当x1和x2正交时,OLS估计仅由xi和y决定,其他任何解释变量xj(j≠i)对均没有影响。
图2.14 二元回归几何意义(x1和x2正交)
当x1和x2非正交时会怎样呢?在这种情况下,二元回归的几何意义如图2.15所示。它和图2.14最大的区别是,y在由x1和x2生成的平面内的投影不等于y分别在x1和x2上的投影之和。在这种情况下,解释变量之间对各自回归系数的OLS估计有不同的作用,不再等于〈xi, y〉/〈xi, xi〉。非正交xi之间的相互作用如何影响回归系数呢?通过连续正交化来求解多元线性回归可以回答这个问题。
图2.15 二元回归几何意义(x1和x2非正交)
2.6.3 用正交化过程求解多元回归
考虑如下线性回归模型,其中x0=[1, 1, ···, 1]′和x1=[x1, x2, ···, xn]′,假设x0和x1非正交:
y=ax0+bx1+ε (2.88)
模型(2.88)的OLS估计量为:
接下来说明如何通过正交化求解。由于x0和x1非正交,首先需要构造出一组正交向量。令z0=x0=1为其中的一个向量;将x1作为被解释变量、z0作为解释变量进行一元OLS回归(不带截距)得到的残差就是和z0互相正交的向量,记为z1。由式(2.85)以及回归的性质可知:
上式中表示x1, x2, ···, xn的均值。接下来,将z1和y代入式(2.85)恰恰就得到式(2.89)的OLS估计量:
以上并没有直接对模型(2.88)进行OLS回归,而是通过正交化的方式求出。对于多元回归的情况,上述求解的方法可以通过以下过程扩展(Hastie et al.2016)。该过程的核心是通过连续的正交化计算把一组非两两正交的向量xi转换成一组两两正交的向量zi,并以此方便地求出最后一个被正交化的解释变量的多元回归系数。该过程共有三步:
(1)第一步是初始化。在所有解释变量中(如果线性回归模型包括截距项,则它也是一个解释变量)任意挑选一个当作x0进行初始化z0=x0。
(2)第二步是将其他解释变量按任意顺序排序,记为x1, x2, ···, xK(假设一共有K+1个解释变量)。按上述顺序从x1开始依次进行正交化。具体来说,对xk的正交化公式如下:
其中z0, z1, ···, zk−1是已经被处理过后的正交向量。
(3)得到zK之后,计算〈zK, y〉/〈zK, zK〉,它正是多元回归模型(2.83)中解释变量xK的回归系数的OLS估计量:
需要强调的是,这一结论仅对最后一个被正交化后的解释变量成立。对于其他解释变量k<K,〈zk, y〉/〈zk, zk〉并不等于多元回归的OLS估计量。也许有的读者会有疑惑:这个算法确实不错,但是费了半天劲算出了一大堆相互正交的向量zk,而求解回归系数的结论却仅对最后一个被正交化的解释变量成立,这不是坑人吗?答案是否定的。上述过程中的关键在于正交化这些解释变量的顺序是任意的,因而可以选任何一个变量进行初始化,也可以选任何一个变量作为最后一个被正交化的解释变量。无论怎么选,上述过程保证了最后一个被正交化的解释变量的回归系数满足。只需依次挑选这些解释变量作为最后一个被正交化的,就可以通过上述步骤求出这些解释变量的回归系数的OLS估计。而上述过程所反映出来的本质是,在对多元线性回归模型(2.83)进行OLS估计时,解释变量xk的回归系数的估计量等于xk在被其他解释变量x0, x1, ···, xk−1, xk+1, ···, xK正交化之后(从而排除其他xj对xk的影响)仍能够对解释y产生的增量贡献。
上述过程称作多元回归的格拉姆—施密特(Gram—Schmidt)正交化过程。式(2.93)表明xK的回归系数和正交化后的zK的范数大小(zK自己的内积为分母)有关。如果xK和其他解释变量高度相关,那么xK被其他xj, j≠K解释之后的残差zK就会很小。当yi满足独立同分布时,可以证明的方差和zK的范数大小成反比:
当非常不稳定,即样本数据的细微变化会导致大幅变化。回到本书关注的问题,当使用Fama–MacBeth截面回归求解因子收益率时,就是因子K的收益率。为了因子收益率的估计更稳定,所以要求不同的因子之间尽量满足正交化。举例来说,在Barra的中国市场多因子模型中,非线性市值因子和市值因子之间进行了正交化处理。
在本节的最后再介绍一个有意思、也有用的特性。在格拉姆—施密特正交化过程中,任何一个解释变量均可以被选为最后一个,然后根据连续正交化方便地求出它的回归系数。这意味着如果有20个解释变量,需要进行20次上述操作。是否有什么办法仅通过进行一次连续正交化就求出所有的回归系数(k=0, 1, ···, K)呢?答案是肯定的。
假设按照某给定顺序x0, x1, ···, xK依照(2.92)进行连续正交化过程,得到z0, z1, ···, zK。对于排在最后一位的解释变量如下关系成立。由于是解释变量xK的回归系数,因此就是xK所解释的y的部分。如果从y中剔除,并把得到的作为被解释变量,用剩下的x0, x1, ···, xK−1作为解释变量,则回归结果就和xK无关了。在这个新的回归中,xK−1就变成了最后一个被正交化的解释变量,其对应的正交向量为zK−1。因此,xK−1的回归系数就用和zK−1依照式(2.86)计算:
以此类推,便可以按照的倒序求解出多元回归中所有解释变量的回归系数的OLS估计(Drygas 2011):
最后用本节开始的包含两个解释变量x0和x1的回归模型(2.88)验证一下,即通过式(2.96)和式(2.97)求解x0的OLS回归系数。令z0=1并假设的表达式已经求出。根据式(2.97)可得:
它正是式(2.89)中的表达式。