跳转至

GRS 检验

定义

检验一组组合在因子模型里的截距是否同时为 0。拒绝表示这些组合的平均收益没有被因子解释完。

公式

\[ \frac{T-N-K}{N}\frac{\hat\alpha'\hat\Sigma^{-1}\hat\alpha}{1+\hat\mu_f'\hat\Omega^{-1}\hat\mu_f}\sim F_{N,\,T-N-K} \]

动量十分位的教学计算给出 GRS 7.65,\(T=1196\),分子自由度 10。残差协方差按 \(T-K-1\) 除。不要用手改这个 7.65。

直觉

十个截距里有几个碰巧为正,并不稀奇。GRS 问的是它们作为一组是否还站得住。

实务要点 / 常见误区

  • 统计量大,说明模型没解释完,不说明你的账户能拿到截距。
  • 只做多账户没有空头腿,高减低组合的截距不能直接记成净值。
  • \(\hat\Sigma\) 的除数要和教材一致。换成 \(T\) 会得到另一个数。

相关概念

代码

def grs_df(n_obs: int, n_portfolios: int, n_factors: int) -> tuple[int, int]:
    # 分子自由度是组合个数。分母把因子个数和组合个数都减掉。
    return n_portfolios, n_obs - n_portfolios - n_factors

教材:M06 因子研究方法论