给定一个因子集合以及一个新因子,如何快速、准确而又低成本地判断它是否在预测前项收益率方面带来了新信息?
注意因子本身是信噪比极低的信号,噪声占据主导,因子之间做回归很大程度上是在研究噪声之间的关系,对真实信号几乎没有什么把控。因此最重大的课题就是:如何从巨量噪声中提取出真正的信号。
抛砖引玉,考虑以下模型:
假设未来收益率 r 由 100 个信号 a1,...,a100 完全确定:
r=a1+⋯+a100
并假设这些信号是独立同分布的标准正态分布。
已有一个因子 x1=a1+a2+a3+n1+⋯+n97,其中 ni 为噪声,也均为标准正态分布,且与以上所有信号独立。那么拿它对 r 做回归,可以得到
r=Var(x1)Cov(r,x1)x1+ε1=0.03x1+ε1
这个因子的 IC 为 0.03
现有一个新因子 x2=a1+a2+m1+⋯+m98,可见它没有带来新的有效信号。类似地,可以得到
r=0.02x2+ε2
这个因子的 IC 为 0.02
考虑两种情况:
- x1,x2 的噪声项两两独立
- x1,x2 的噪声项有相关性
先看第一种情况,如果我们做回归 x2∼x1,可以得到
x2=0.02x1+ϵ3
进一步可知,
ϵ3=0.98a1+0.98a2−0.02a3+i=1∑98mi−0.02i=1∑97ni
好,现在拿 ϵ3 对 r 做回归:
r≈0.0194ϵ3+ε
IC(r,ϵ3)≈0.0194
可见这个残差的 IC 与 x2 几无差异,可能的解释是:因噪声的淹没,x2 中几乎没有能被 x1 解释的部分,因此残差保留的信息几乎与 x2 本身无异。
下面考虑第二种情况,假设 mi=ni,i=1,…,97 ,此时 x2∼x1 的结果是
x2=0.99x1+ϵ3
可得
ϵ3=0.01a1+0.01a2−0.99a3+0.01i=1∑97mi+m98
r∼ϵ3 的结果是
r≈−0.487ϵ3+ε
IC(ϵ3,r)≈−0.068
IC 翻转,且绝对值比原来 x2 的 IC 大。一种可能的解释是:x1 主要解释 x2 中的噪声,剔除 x1 的影响之后,得到了更纯净的信号。
更往细看,IC 翻转的原因是 x2 相对 x1 少了一个有效信号,导致残差项中 a3 的系数绝对值大且为负数。可以预见,若 x2 也含有 a3 ,残差的 IC 应该会非常小。
综上,
- 残差 IC 不变并不说明因子带来了新信息,而仅仅说明 x1 几乎不能解释 x2,这很大程度上是因为噪声的主导
- 残差 IC 相对原因子发生变化,可能是消除了噪声的后果
所以这种做回归取残差,看残差的表现的做法是无法诊断因子是否带来新的有效信号的。
那么我们如何判断信息增量?
从 APT 模型角度出发,一个初始的想法是,考察加入新因子前后,两个最佳线性预测的性能。
记 r 为前向收益率,x 为 k 维随机向量,代表 k 个因子,则总存在 β 使得
r=βT(1x)+ε,where E[ε]=0,Cov(x,ε)=0
右边除了残差项就是 x 对 r 的最佳线性预测,记为 rx′ 吧,我们想评价:给定解释变量 x,它们对 r 的最佳线性预测好不好。用 E[(r−rx′)2] 作为指标,容易计算,这玩意儿就等于 Var(ε)。现在考虑加入新变量 z 之后的最佳线性预测
rx,z′=αT1xz
容易证明 E[(r−rx,z′)2] 不会比原来的大,因为多了一个变量,表达力肯定是更强的。
但这不是说得到什么信号都能塞到模型里,如果加入噪声,我们对模型的估计会收到影响,因此我们用下面的期望预测误差来评价我们估计出来的模型的性能:
记 r^ 是用 OLS 估计的前向收益,X 为样本矩阵,Var(ε)=σ2
考虑一个测试点 (r0,x0) ,r0 为实数,x0 为向量。看期望预测误差:
E[(r0−r^0)2∣X,x0]=σ2[1+x0T(XTX)−1x0]
假设 Ex0=0,Cov(x0)=Σ ,对上式再取条件期望,得
E[(r0−r^0)2∣X]=σ2[1+tr((XTX)−1Σ)]
再假设训练数据(X 的每一行) xi∼i.i.d.N(0,Σ),则
XTX∼Wp(Σ,n)
即 Wishart 分布,它的一个重要结论是
E[(XTX)−1]=n−p−1Σ−1
至此,再对 X 取期望,得
E[(r0−r^0)2]=σ2[1+n−p−1tr(Σ−1Σ)]=σ2⋅n−p−1n−1
用这个来衡量加入变量 z 是否带来信息增量。为方便比较,我们这样添加新变量:
设 x 对 z 的最佳线性预测为 αT(1x),记 z~=z−αT(1x),这样,x,z~ 对 r 的最佳线性预测为
βT(1x)+cz~
注意 x 的系数没有变化。记 ε=cz~+u,则 Cov(z~,u)=0,这样一来,加入 z~ 的期望预测误差为 Var(u)⋅n−p−2n−1,它比原来的小当且仅当
σ2c2Var(z~)>n−p−11