量化股票组合管理的基本模型

1. 前言

量化股票组合管理的核心是量化模型,它将股票价格的变动与其他市场数据联系起来。我们通过构建这些模型来预测股票的收益率与波动率,而这些预测则为投资组合奠定了基础。

尽管今天已经有了诸多附带模型的商业投资软件和各类AI agent的协助,但我们仍然有必要去了解如何从头开始构建量化模型,因为只有我们对建模过程有了一定的了解,我们才能知道如何更好地使用各类软件和 AI 的协助。

2. 因子

现代金融经济学的核心思想是:股票的平均收益率是对持股者承担(系统性)风险的补偿。我们在量化投资中所使用的因子模型,即是对这种风险与收益之间关系的描述。

为了描述风险,我们引入了 因子(Factor) 的概念,因子实际上就是模型中的解释变量,不同因子代表了不同类型的风险。假设平均收益率为RiR_i,因子为FF,则有:

Ri=α+βF+ϵR_i = \alpha + \beta F + \epsilon

3. 因子暴露与因子溢价

再进一步,因子可以被拆分为 因子暴露(Factor Exposure)与因子溢价(Factor Premium)的乘积,即股票的平均收益率正比于股票对风险的暴露和每单位风险暴露应得的补偿

因子暴露和因子溢价是量化投资中两个非常重要的概念,下面我们来详细解释一下。

3.1 因子暴露

因子暴露实际上是对承担风险多少的度量,它衡量着单个股票或投资组合对某个因子风险的敏感程度或关联程度,通常用贝塔(β\beta)表示。

例如,一只股票的市场因子暴露(即贝塔)为1.2,意味着市场上涨10%时,它平均上涨12%;市场下跌10%时,它平均下跌12%。它的系统风险比市场平均水平高。

3.2 因子溢价

因子溢价则是对承担风险所获得补偿的度量,它代表市场为承担某一特定类型风险所支付的长期平均回报,通常用拉姆达(λ\lambda)表示。。

例如,市场因子溢价表示投资股票市场(承担市场系统性风险)相对于无风险利率(如国债)的长期超额回报。以美股为例,美国股票年化回报约为10%–12%,美国国债年化回报约为3%–5%,因此市场因子溢价约为5%–7%。类似的还有规模因子溢价、价值因子溢价等。

4. 因子与收益率

我们对上面因子的公式进行如下推导:

(1)将模型两边取期望:

E(Ri)=α+βE(F)+E(ϵ)E(R_i) = \alpha + \beta E(F) + E(\epsilon)

(2)因为:

E(ϵ)=0E(\epsilon) = 0

(3)所以:

E(Ri)=α+βE(F)E(R_i) = \alpha + \beta E(F)

(4)在正确的资产定价模型成立时α=0\alpha = 0,因此:

E(Ri)=βE(F)E(R_i) = \beta E(F)

(5)因为因子可以被拆分为因子暴露(β\beta)与因子溢价(λ\lambda)的乘积,所以有:

E(Ri)=βλE(R_i) = \beta \lambda

此外,若存在多个因子,则为:

E(Ri)=βi1λ1+βi2λ2+βi3λ3...E(R_i) = \beta_{i1}\lambda_1 + \beta_{i2}\lambda_2 + \beta_{i3}\lambda_3...

4.1 公式的理解

我们上面推导出的公式意味着:一只股票或一个投资组合的预期收益率,等于它在各个风险因子上的暴露程度,乘以市场为这些因子所支付的风险溢价的总和

用一个通俗的比喻来理解:

假设我们现在要做小时工兼职,我们有两个选择:

  • 选项一:给高层建筑擦玻璃,时薪500元,风险高;
  • 选项二:奶茶店摇奶茶,时薪20元,风险低;

我们最终选择每周擦玻璃10小时,摇奶茶20小时,那么预期收益就等于:(10小时 × 500元/小时) + (20小时 × 20元/小时) = 5400元。

在这个例子中,因子溢价就是每份工作的时薪,即市场为不同工作设定的报酬标准。因为高空作业风险高,所以因子溢价更高;因子暴露则是我们投入每份工作的时间,即我们个人承担风险的量。最终两者相乘,得到预期收益。

5. 因子的类型

根据因子暴露和因子溢价特征的不同,因子可以分为基本面因子(fundamental factor)和经济因子(economic factor)。

5.1 基本面因子

基本面因子的特征是:因子暴露可以直接观测,但因子溢价必须事后计算才能得到

5.1.1 基本面因子的因子暴露

典型的基本面因子包括规模因子(市值)、盈利能力因子(市盈率)、偿债能力因子(流动比率)等,注意到这些因子都是可观察的财务变量,所以我们不需要额外的计算,直接就能得到这些因子的数值。

5.1.2 基本面因子的因子溢价

然而,基本面因子的因子溢价是无法直接观测的,需要我们对历史数据进行回归统计才能得到。

例如,为了估计价值因子溢价,Fama 和 French(1993)通过做多一篮子高账面市值比(价值股)的股票,同时做空一篮子低账面市值比(成长股)的股票,再计算这个多空组合的收益率序列,来获取纯粹的价值风险暴露所带来的回报。之后再将这个多空组合的长期历史收益率取平均并减去无风险利率后,得到估计出的价值因子溢价。

5.2 经济因子

经济因子也称宏观因子,通常包括各类宏观经济变量,例如国内生产总值(GDP)、通货膨胀率、利率等。与基本面因子不同,经济因子的特征是因子溢价有时可直接获取,但因子暴露必须进行计算估计

5.2.1 经济因子的因子溢价

之所以说有时因子溢价可以直接观察得到,是因为很多经济因子有对应可交易的金融资产,其收益率可以直接作为该因子溢价的代理。例如,要获取信用风险因子溢价,可以观察高收益信用债指数收益率与国债指数收益率之差,再比如要获取利率风险因子溢价,可以通过观察长短期国债收益率之差。

对于不能直接观测到因子溢价的经济因子,例如GDP、失业率等,我们一般通过构建零投资组合来计算其因子溢价。

5.2.2 经济因子的因子暴露

经济因子的因子暴露是无法直接获取的,必须通过回归计算才能得到。例如,没有财务指标能体现“公司对GDP风险的暴露”,我们需要通过类似下面的回归计算才能计算的对应的贝塔:

Ri=α+βΔGDP+ϵR_i = \alpha + \beta \Delta GDP + \epsilon

5.3 两类因子的通俗理解

我们可以这样想两类因子的因子溢价和因子暴露:

  • 对于基本面因子,我们很容易知道谁是“小公司”,但我们不知道“小公司风险值多少钱”,所以必须通过计算历史收益来进行估计。

  • 对于经济因子,我们容易知道“长期国债收益率是多少”,但我们不知道“某只股票对利率变化有多敏感”,所以必须回归估计。