财经评论员经常说“当前市场看好价值型股票”,“市场正在关往盈利增长”,或“投资者正关注通货膨胀数据”。我们应当如何量化这些及其他影响收益率的常见因素呢?
量化金融里有,一个非常有名的因子模型(也称套利定价理论,APT),试图捕获影响收益率的各种因素,如盈利增长率、利率、市值等,这些因素被称为“因子”。数学上,可以将N只股票的超额收益率(收益率减去无风险利率)R表示为:
R=Xb+u
其中,X为N×N的因子风险矩阵,b为N维因子收益率向量,u为N维特有收益率向量。(虽然这一量化模型中的所有变量都与时间有关,但为了筒便,这里我们假设都与时间无关。)
“因子风险”、“因子收益率”和“特有收益率”这些术语在量化金融模型中很常见,因此有必要先对这些概念做一些介绍。因子收益率是股票收益率的共同驱动因素,与单个股票无关。因子风险表示对各个共同驱动因素的敏感度。所有不能用共同因子解释的收益率部分就是特有收益率(比如,仅与某只股票有关,可以看做是APT模型中的随机噪声部分)。假设每只股票的特有收益率与其他股票的特有收益率之间是不相关的。
我们通过Fama-French三因子模型(Fama and French, 1992)这样一个简单的因子模型来说明。这一模型假定股票的超额收益率只与三个因子风险线性相关:股票的贝塔值(相对市场指数的敏感度)、市值、账面市值比率。对于不同股票或是不同时间段,这三个因子风险都是不同的。(常常将因子风险标准化,使得所有股票的因子风险的均值为0,标准差为1。)
现在,我们已经知道如何计算因子风险,那么因子收益率和特有收益率呢?我们无法直接计算因子收益率和特有收益率,必须用股票的超额收益率对因子风险进行多元线性回归,来得到因子收益率的估计值。注意,每只股票代表线性回归上的一个数据点,我们必须对每一个时间段单独做线性回归,如果需要多个时间段上的均值,可以将所有这些时间段上的值汇总成一个训练集,再对其做一次回归。
如果对Fama-French三因子模型进行线性回归来拟合多个时间段的数据,你会发现市值因子收益率通常是负的(意味着小盘股的收益率通常高于大盘股),账面市值比率因子收益率通常是正的(意味着价值型股票的收益率通常高于成长型股票)。由于大部分股票的业绩与市场指数是正相关的,贝塔因子收益率也是正的。
Fama-French模型并非因子模型的唯一选择。事实上,你可以在模型中引入更多因子。例如,可以选择权益收益率作为一个风险因子,还可以选择股票收益率与基准利率的相关性作为另一个因子风险。你可以选择任意数量的经济的、基本面的或技术的因子。选择的因子风险是否合理将决定因子模型能否充分解释股票的超额收益率。如果因子风险(或者说整个模型)选择得不恰当,线性回归将会产生显著的特有收益率,并且拟合方程的R²统计最将会很小。根据专家(Grinold and Kahn, 1999)的建议。1000只股票的月度收益率和50个因子之间一个好的因子模型,R²应当在30%~40%之间。
这些因子模型看起来好像只能解释历史数据,也就是说给定历史收益率和因子风险,可以计算出历史时间段的因子收益率。但是,这些历史的因子收益率对我们的交易有何用处呢?事实上,因子收益率通常比个股收益率更稳定。换句话说,它们具有“惯性”。因此,可以假设它们的值从当期(从回归得到)到下一期保持不变。如果真是这样,只要因子风险选择得当并且时变的特有收益率不显著,就可以预测超额收益率。
这里需要做一点澄清。尽管我之前说,如果因子收益率具有惯性,因子模型就能够用于预测(因此也就能够用于交易),但并不意味着因子模型不能用于股票收益率的均值回归。实际上,因子风险可以用于均值回归。如果股票收益率是均值回归的,前一期的收益率为负值,则相应的因子收益率就会是正值。