风险模型与风险分析

12509 字
63 分钟
风险模型与风险分析

课程导航#

  1. 课时 1:信念、风险与量化投资流程(Beliefs, Risk, and Process)
  2. 课时 2:投资组合理论(Portfolio Theory)
  3. 课时 3:风险模型与风险分析(Risk Models and Risk Analysis)
  4. 课时 4:Alpha 因子评价(Evaluation of Alpha Factors)
  5. 课时 5:量化因子(Quantitative Factors)
  6. 课时 6:估值技术与价值创造(Valuation Techniques and Value Creation)
  7. 课时 7:多因子 Alpha 模型(Multifactor Alpha Models)
  8. 课时 8:组合换手与最优 Alpha 模型(Portfolio Turnover and Optimal Alpha Model)
  9. 课时 9:高级 Alpha 建模(Advanced Alpha Modeling Techniques)
  10. 课时 10:因子择时模型(Factor Timing Models)
  11. 课时 11:投资约束与信息比率(Portfolio Constraints and Information Ratio)
  12. 课时 12:交易成本与组合实施(Transaction Costs and Portfolio Implementation)

第一节 因子表示与风险模型#

1. 定价、风险与预测的不同对象#

第二章的组合方差把持仓转成一个风险数值,前提是已经有了可靠的资产协方差。股票数量增加时,这个输入本身变得困难:1,000 只股票需要估计 500,500 个不同的方差和协方差元素,有限历史数据未必足够稳定地支持它们。第二章用一个市场因子压缩共同风险,但行业、利率或其他共同冲击也可能使股票一起变化。

多因子结构用少量共同变动来源表示大量股票的关联,既可以服务定价,也可以服务风险估计。两种任务共享一种收益表示,却回答不同问题。

套利定价理论(Arbitrage Pricing Theory, APT):在收益具有线性共同因子结构、特质风险能够充分分散等条件下,由无套利限制期望收益与因子暴露关系的资产定价理论。它不指定因子名称、因子个数或暴露的估计方法。

考虑两组充分分散、共同因子暴露相同的持仓。买入一组并卖出另一组,会抵消共同冲击;若特质风险也能随分散化变得足够小,持续存在的非零预期收益差就会产生近乎不承担风险的获利机会。无套利对这种差异施加限制,因而要求正常期望收益与不能被分散的暴露相联系。具有无风险资产时,其线性定价关系可表示为:

E(ri)−rf≈∑k=1KXikπk.E(r_i)-r_f\approx\sum_{k=1}^{K}X_{ik}\pi_k.

rir_i 为股票 ii 的一期简单收益率,rfr_f 为同期无风险收益率,XikX_{ik} 为对共同因子 kk 的暴露,πk\pi_k 为每单位暴露的风险溢价,KK 为因子数。一般有限股票池中,特质风险未必完全分散,不能无条件把近似关系写成逐股精确等式;精确定价还需相应的市场与收益结构条件。

多因子风险模型(Multifactor Risk Model):用少量共同因子及特质项描述资产收益共同变动、估计协方差的统计模型。风险模型可以采用 APT 的线性表示,却不必接受其全部定价结论;预期溢价为零、波动显著的共同因子仍需纳入风险控制。1

这一区别决定哪些因子需要留在风险模型中。设一个未获得预期溢价补偿的共同冲击,下一期等概率取 +2%+2\% 或 −2%-2\%;对它的暴露为 2,就会产生 ±4%\pm4\% 的收益变动。即使该暴露在定价式中的风险溢价为零,忽略它仍会漏掉这部分方差。反过来,观察到某期冲击为正,也不能据此把下一期冲击的均值设为正。

定价模型限制正常期望收益,风险模型估计这种共同变动,alpha 模型才根据期初信息形成预测。因子名称相同不表示输出可以互换;本章采用多因子表示,是为了构造第二章优化所需的协方差,不是用 APT 自动生成收益预测。

2. 从收益生成式到协方差#

第二章的市场模型把一项共同市场变化乘以各股票的 beta。本章保留这个运算,将一个共同来源扩展为多个来源:先确定股票对各来源有多敏感,再用每一期各来源的变化计算解释收益。

因子暴露(Factor Exposure):资产收益对指定因子变动的线性敏感度。暴露为 2,表示该因子增加一单位、其他模型项保持不变时,股票的解释收益增加两单位;它不是这只股票的持仓权重。

因子收益(Factor Return):一个评价期内共同因子的实现值;基本面模型中通常由期末横截面回归估计,也不必是某个全额投资组合的回报。暴露说明“变化一单位影响多少”,因子收益说明“这一期实际变化多少”,相乘才得到股票的该项解释收益。

例如股票对两个收益率因子的暴露为 (1,1)(1,1),一期因子实现值为 (1%,−0.5%)(1\%,-0.5\%),则模型解释的变动为 1×1%+1×(−0.5%)=0.5%1\times1\%+1\times(-0.5\%)=0.5\%。设确定项为零、股票实际收益为 0.7%0.7\%,未解释的部分就是 0.2%0.2\%。在期初可以给定暴露,却还不能取得这期因子实现值和剩余结果;要预测均值需另估未来因子的期望,要预测风险则需估它们的方差及协方差。

设决策时点为 tt,Ft\mathcal F_t 为当时可得信息。将上述逐股、逐因子相乘加总的关系排成矩阵,对同一股票池中的 NN 只资产有:

rt+1=at+Xtft+1+ut+1.\mathbf r_{t+1} =\mathbf a_t+\mathbf X_t\mathbf f_{t+1}+\boldsymbol u_{t+1}.

rt+1\mathbf r_{t+1}、at\mathbf a_t、ut+1\boldsymbol u_{t+1} 均为 N×1N\times1 列向量,分别表示简单总回报率、条件确定项和特质收益;Xt\mathbf X_t 为 N×KN\times K 暴露矩阵,ft+1\mathbf f_{t+1} 为 K×1K\times1 因子实现值。暴露与确定项须在 Ft\mathcal F_t 中可得,未来因子实现值不在其中。宏观模型若混用利率变化、油价收益等单位,暴露必须带相应量纲。

特质收益(Specific Return):未由所选共同因子解释的资产收益部分。特质性相对于模型而言,不表示经济上独立,也不表示均值必然可预测。假定:

Et(ut+1)=0,Cov⁡t(ft+1,ut+1)=0,Ft=Cov⁡t(ft+1),Dt=Cov⁡t(ut+1).\begin{aligned} E_t(\boldsymbol u_{t+1})&=\mathbf0,\\ \operatorname{Cov}_t(\mathbf f_{t+1},\boldsymbol u_{t+1})&=\mathbf0,\\ \mathbf F_t&=\operatorname{Cov}_t(\mathbf f_{t+1}),\qquad \mathbf D_t=\operatorname{Cov}_t(\boldsymbol u_{t+1}). \end{aligned}

EtE_t、Cov⁡t\operatorname{Cov}_t 表示条件于 Ft\mathcal F_t 的期望与协方差;Ft\mathbf F_t 为 K×KK\times K,Dt\mathbf D_t 为 N×NN\times N。减去条件均值时,已知的 at\mathbf a_t 消失,只剩 Xt(ft+1−Etft+1)+ut+1\mathbf X_t(\mathbf f_{t+1}-E_t\mathbf f_{t+1})+\boldsymbol u_{t+1}。这里用的是第二章的中心化与协方差加总,不是新增定价假设。

先看任意两只股票。股票 ii 对因子 kk 的响应乘股票 jj 对因子 ℓ\ell 的响应,其共同变动为 Xik,tFkℓ,tXjℓ,tX_{ik,t}F_{k\ell,t}X_{j\ell,t};遍历所有因子对,再加上两只股票的特质协方差,就有:

Σij,t=∑k=1K∑ℓ=1KXik,tFkℓ,tXjℓ,t+Dij,t.\Sigma_{ij,t} =\sum_{k=1}^{K}\sum_{\ell=1}^{K} X_{ik,t}F_{k\ell,t}X_{j\ell,t}+D_{ij,t}.

这一式解释了矩阵乘法的顺序:先由因子协方差给出冲击如何共同变化,再经两侧股票暴露转换成股票收益单位。因子—特质交叉项在上述零协方差假设下消失;将所有 i,ji,j 排回矩阵,得到:

Σt=Cov⁡t(rt+1)=XtFtXt′+Dt.\boldsymbol\Sigma_t =\operatorname{Cov}_t(\mathbf r_{t+1}) =\mathbf X_t\mathbf F_t\mathbf X_t'+\mathbf D_t.

Σt\boldsymbol\Sigma_t 是 N×NN\times N 资产收益协方差矩阵。若交叉协方差 Ct=Cov⁡t(ft+1,ut+1)≠0\mathbf C_t=\operatorname{Cov}_t(\mathbf f_{t+1},\boldsymbol u_{t+1})\ne\mathbf0,完整展开还包括 XtCt+Ct′Xt′\mathbf X_t\mathbf C_t+\mathbf C_t'\mathbf X_t',不能省略。

把 Dt\mathbf D_t 写成对角矩阵需要进一步假定不同资产的特质收益互不相关,此时 Dii,tD_{ii,t} 是特质方差。在固定参数下,若特质方差有界且分散组合满足 ∑iwi2→0\sum_iw_i^2\to0,特质组合方差便随分散化趋近于零;这是保证分散化有效的一组充分条件。遗漏行业、关联企业或流动性冲击会使残差相关,集中持仓尤其容易受到影响。

第二节 三类模型如何估计#

1. 宏观模型:固定股票,跨时间估计暴露#

宏观因子模型(Macroeconomic Factor Model):以预先定义的宏观或市场时间序列为因子、通过资产收益对这些因子的响应估计风险暴露的模型。利率、增长、通胀、期限利差、信用利差和油价冲击分别可能通过折现率、现金流或经营成本影响收益;影响方向取决于企业业务和冲击来源,不能把降息或油价上涨写成所有股票的固定利好、利空。

设 gs\mathbf g_s 为 K×1K\times1 的已实现因子向量,可包含市场超额收益。在截至 tt 的历史窗口 Wt\mathcal W_t 内,对每只股票 ii 估计:

ri,s−rf,s=ai+xi′gs+ui,s,s∈Wt.r_{i,s}-r_{f,s}=a_i+\mathbf x_i'\mathbf g_s+u_{i,s}, \qquad s\in\mathcal W_t.

ri,sr_{i,s} 与 rf,sr_{f,s} 是同一历史期收益,aia_i 为回归截距,xi\mathbf x_i 为 K×1K\times1 暴露,ui,su_{i,s} 为扰动。每次回归固定 ii、变化 ss;以同一窗口对全部股票估计后,将 x^i′\widehat{\mathbf x}_i' 逐行组成 X^t\widehat{\mathbf X}_t。在窗口内暂把暴露视为稳定;滚动到新时点后重新估计,并用下一期收益检验预测风险。

用一个已结束的四月窗口演示计算。两个因子都预先规定为收益率单位;下表只展示一只股票,其他股票重复同样的时间维度操作。数据完全自拟:

历史月份因子 1 实现值因子 2 实现值股票超额收益
月一−1%−2%−0.7%
月二−1%2%−3.1%
月三1%−2%2.9%
月四1%2%1.3%

两列因子均值为零、交叉乘积和为零,故最小二乘的两个斜率可分别用“因子与股票的交叉乘积和/因子平方和”求出。本例两项分子为 0.0008,−0.00080.0008,-0.0008,分母为 0.0004,0.00160.0004,0.0016,得到暴露 x^=(2,−0.5)′\widehat{\mathbf x}=(2,-0.5)';截距为股票平均超额收益 0.0010.001。月一的拟合值为 0.001+2(−0.01)−0.5(−0.02)=−0.0090.001+2(-0.01)-0.5(-0.02)=-0.009,与实际 −0.007-0.007 相减得到残差 0.0020.002,其余三期依次为 −0.002,−0.002,0.002-0.002,-0.002,0.002。两个因子不正交时,须联立求解回归条件,不能继续分别套用这个比值。

得到暴露后还要形成风险输入。按 T−1=3T-1=3 计算因子样本协方差,得到 F^=diag⁡(0.0004/3,0.0016/3)\widehat{\mathbf F}=\operatorname{diag}(0.0004/3,0.0016/3)。若用回归残差均方估计特质方差,在同方差、无序列相关的回归设定下,残差平方和 0.0000160.000016 除以“4 项观测减 3 个拟合参数”,得到 D^ii=0.000016\widehat D_{ii}=0.000016。将这三项输出放回风险公式:

σ^i2=x^′F^x^+D^ii=40.00043+0.250.00163+0.000016≈0.00068267.\widehat\sigma_i^2 =\widehat{\mathbf x}'\widehat{\mathbf F}\widehat{\mathbf x} +\widehat D_{ii} =4\frac{0.0004}{3}+0.25\frac{0.0016}{3}+0.000016 \approx0.00068267.

因此该估计规则给出下一月波动率约 2.61279%2.61279\%;暴露不是风险本身,必须与因子变动尺度及特质项一起使用。这个四期例只演示从输入到输出的运算,不足以支持稳定的风险预测。新一期结束后,窗口加入新观测并重新拟合,再检查新的预测与实现结果。回归残差的标准差用于特质风险,暴露系数的标准误用于描述参数估计的不确定性,两者不能互换。

宏观变量使用水平、变化还是相对预期的创新,决定了暴露的单位与含义;公布日和修订版本决定哪些数据允许进入历史窗口。低频公布值不能被提前填入尚未公布的月份,事后修订值也不能当作当时已知冲击。

同一个已实现冲击在股票之间造成的离散度还取决于暴露差异。固定历史期 ss、只看因子 kk 的单项解释收益,有:

Var⁡i(xikgk,s)=gk,s 2Var⁡i(xik).\operatorname{Var}_i(x_{ik}g_{k,s}) =g_{k,s}^{\,2}\operatorname{Var}_i(x_{ik}).

Var⁡i\operatorname{Var}_i 是该期横截面方差,不是跨期因子方差。冲击接近零,或股票暴露相近时,该项造成的当期收益差异很小;这不表示因子的未来波动风险很小。多因子的截面贡献还含交叉项,不能把这些单项离散度直接相加。

2. 基本面模型:固定时点,跨股票估计因子收益#

基本面因子模型(Fundamental Factor Model):以决策时已知的行业属性与股票特征作为暴露、逐期从股票截面收益估计共同因子收益的模型。分类依据是暴露的构造方式,动量、波动率等价格特征也可作为其中的风格暴露。

基本面模型中的两类常见暴露为:

  • 行业暴露(Industry Exposure):按业务归属构造的分类变量;单一行业可用 0/1 指示变量,多元业务可用事前已知的业务份额表示。
  • 风格暴露(Style Exposure):由规模、估值、成长、盈利波动、杠杆、动量或交易活跃度等描述变量构成的连续数值;描述的是相对特征,不自动包含收益预测。

以某个风格为例,在时点 tt 的可得股票池上,先处理缺失、异常值与经济上无意义的分母,再计算标准化暴露:

Xik,t=zik,t−zˉk,tsz,k,t.X_{ik,t}=\frac{z_{ik,t}-\bar z_{k,t}}{s_{z,k,t}}.

zik,tz_{ik,t} 是允许使用的原始特征,zˉk,t\bar z_{k,t}、sz,k,t>0s_{z,k,t}>0 是按声明的等权或加权口径计算的截面均值与标准差。减均值把“该股高于还是低于同池股票”作为比较对象,除以标准差则规定一单位暴露对应多大的特征差异;它不创造新的收益信息。

后面的四股票例中,设某个期初可得的风格描述值依次为 (0.5,0.5,1.5,1.5)(0.5,0.5,1.5,1.5)。按四只股票等权、以 N=4N=4 为截面方差分母,均值为 1、标准差为 0.5,标准化后便得到 (−1,−1,1,1)′(-1,-1,1,1)'。这就是随后回归使用的风格列;系数 2% 将表示本期每增加一个截面标准差的暴露,对应 2 个百分点的解释收益,而不是预测以后会赚 2%。

行业列则不作这种连续标准化。某行业的指示列 (1,1,0,0)′(1,1,0,0)' 会让其行业收益只进入前两只股票的拟合值。倘若在上述小例中同时加入这一列、常数列和风格列,风格列恰等于“常数列减两倍行业列”,便无法区分收益该分给行业还是风格;必须删掉冗余列或给出识别约束。本例因此只保留常数和风格,不能据此声称已经控制行业。

财报字段按实际可得日进入,行业分类使用当时版本;若 sz,k,t=0s_{z,k,t}=0,这项特征无法区分股票,也无法按上式标准化。缺失或无意义的财务分母应先处理,不能把缺失统一填零后当成真实的平均暴露。

宏观模型把因子实现序列作为已知输入,再估计一只股票的暴露;基本面模型反过来,先由当时的公司特征规定每只股票的暴露,再用随后横截面的收益差异估计当期每单位暴露获得了多少收益。两者交换了哪些量已知、哪些量待估,不是把同一回归换一个名称。

固定时点 tt 的设计矩阵 Xt\mathbf X_t 后,只有等到下一期收益 rt+1\mathbf r_{t+1} 实现,才能估计该期因子收益。拟合的任务是找一组共同系数,使股票收益与暴露加权解释值之间的剩余尽量小。加权最小二乘(Weighted Least Squares, WLS):对每项拟合残差的平方赋予给定正权重,并最小化这些加权平方和的估计方法。把需要的截距列或市场公共列纳入 Xt\mathbf X_t 后,残差平方和的偏导为 −2Xt′Wt(rt+1−Xtf)-2\mathbf X_t'\mathbf W_t(\mathbf r_{t+1}-\mathbf X_t\mathbf f)。令它为零,说明剩余已不能再沿任一已纳入暴露方向改善拟合,得到:

f^t+1=arg⁡min⁡f(rt+1−Xtf)′Wt(rt+1−Xtf),(Xt′WtXt)f^t+1=Xt′Wtrt+1,u^t+1=rt+1−Xtf^t+1.\begin{aligned} \widehat{\mathbf f}_{t+1} &=\arg\min_{\mathbf f} (\mathbf r_{t+1}-\mathbf X_t\mathbf f)' \mathbf W_t(\mathbf r_{t+1}-\mathbf X_t\mathbf f),\\ (\mathbf X_t'\mathbf W_t\mathbf X_t)\widehat{\mathbf f}_{t+1} &=\mathbf X_t'\mathbf W_t\mathbf r_{t+1},\\ \widehat{\boldsymbol u}_{t+1} &=\mathbf r_{t+1}-\mathbf X_t\widehat{\mathbf f}_{t+1}. \end{aligned}

这里 Xt\mathbf X_t 为 N×KN\times K,rt+1\mathbf r_{t+1} 为 N×1N\times1,Wt\mathbf W_t 为已声明的正对角回归权重矩阵。无额外约束的唯一解要求设计矩阵满列秩;实现时解线性方程,不必显式求逆。全套行业指示变量之和等于常数列,因此不能不加约束地再加入截距;可删一个冗余列,或施加明确的行业收益识别约束。

回归权重决定截面拟合侧重,历史衰减权重决定近期数据的重要性,两者不同。市值加权不等于所有股票风险预测同样准确,也不等于唯一正确的加权方案。

用四只股票、四个已结束月份演示这两个维度。数据完全自拟;各月开始时冻结相同的两列暴露:一列恒为 1,另一列为风格分数 (−1,−1,1,1)′(-1,-1,1,1)',采用等权回归。常数列对应公共截面收益,不预设为一个可交易市场指数。各月随后实现的股票收益如下:

股票第 1 月第 2 月第 3 月第 4 月
A−0.8%3.0%−0.8%−1.4%
B−1.2%3.0%−1.2%−0.6%
C3.3%1.0%−0.7%0.4%
D2.7%1.0%−1.3%1.6%

先固定第 1 月,只在股票之间拟合。负风格组 A、B 平均收益为 −1%,正风格组 C、D 为 3%;所以公共项是两组均值的平均数 1%,每单位风格收益是两组之差的一半 2%。按矩阵公式复算,X′X=4I2\mathbf X'\mathbf X=4\mathbf I_2,X′r1=(0.04,0.08)′\mathbf X'\mathbf r_1=(0.04,0.08)',除以 4 即得 f^1=(0.01,0.02)′\widehat{\mathbf f}_1=(0.01,0.02)'。解释收益是 (−0.01,−0.01,0.03,0.03)′(-0.01,-0.01,0.03,0.03)',实现收益减它得到残差 (0.002,−0.002,0.003,−0.003)′(0.002,-0.002,0.003,-0.003)'。

对其余三个月分别重复,不把下一月收益混入上一月拟合,就得到:

月份公共因子收益风格因子收益
11%2%
22%−1%
3−1%0%
40%1%

现在固定因子定义,跨时间计算协方差。两列的样本均值都为 0.0050.005;中心化平方和各为 0.00050.0005,交叉乘积和为 −0.0001-0.0001。使用 T−1=3T-1=3 的样本分母,得到:

F^=13∑s=14(f^s−fˉ)(f^s−fˉ)′=10−4[5/3−1/3−1/35/3].\widehat{\mathbf F} =\frac13\sum_{s=1}^{4} (\widehat{\mathbf f}_s-\bar{\mathbf f}) (\widehat{\mathbf f}_s-\bar{\mathbf f})' =10^{-4}\begin{bmatrix}5/3&-1/3\\-1/3&5/3\end{bmatrix}.

沿同一只股票的四个月收集残差,A 为 (0.002,0,0.002,−0.004)(0.002,0,0.002,-0.004),其均值为零,样本方差为 0.0000080.000008。四只股票的残差方差依次为 (0.000008,0.000008,0.000018,0.000018)(0.000008,0.000008,0.000018,0.000018)。将它们放在对角线上可形成一个特质方差估计,但本例 A、B 残差互为相反数,样本协方差为 −0.000008-0.000008,不能声称这个对角矩阵就是完整残差协方差。

逐期重复得到 {f^s}s≤t\{\widehat{\mathbf f}_s\}_{s\le t},再跨时间估计 F^t\widehat{\mathbf F}_t;固定股票 ii 的逐期残差 {u^i,s}s≤t\{\widehat u_{i,s}\}_{s\le t} 同样构成时间序列,用于估计 Dii,tD_{ii,t}。因此,数据具有“股票 × 时间”结构,不表示模型必须采用某一种面板估计器。逐期截面回归的样本正交条件也不等于残差跨期无自相关、跨股独立。

第 4 月结束后,才能用这些结果评价第 5 月准备持有的组合。设新一期继续使用相同暴露,并在预测模型中假定因子与特质项不相关、特质协方差采用上述对角近似。由 Σ^=XF^X′+D^\widehat{\boldsymbol\Sigma}=\mathbf X\widehat{\mathbf F}\mathbf X'+\widehat{\mathbf D} 形成股票风险输入;这是对下一期的建模选择,不是说历史残差已经满足这些假设。

沿第二章的总权重与主动权重口径,取候选组合 w=(0.1,0.1,0.4,0.4)′\mathbf w=(0.1,0.1,0.4,0.4)',基准四股等权,则 h=(−0.15,−0.15,0.15,0.15)′\mathbf h=(-0.15,-0.15,0.15,0.15)'。两列组合暴露分别为 X′w=(1,0.6)′\mathbf X'\mathbf w=(1,0.6)'、X′h=(0,0.6)′\mathbf X'\mathbf h=(0,0.6)':总组合持有公共因子,相对基准的偏离只增加风格暴露。相应地:

σ^P2=(1,0.6)F^(1,0.6)′+0.12(2×0.000008)+0.42(2×0.000018)≈0.0001925867,TE^ 2=0.62F^22+0.152(2×0.000008+2×0.000018)=0.00006000+0.00000117=0.00006117.\begin{aligned} \widehat\sigma_P^2 &=(1,0.6)\widehat{\mathbf F}(1,0.6)' +0.1^2(2\times0.000008)+0.4^2(2\times0.000018)\\ &\approx0.0001925867,\\ \widehat{TE}^{\,2} &=0.6^2\widehat F_{22} +0.15^2(2\times0.000008+2\times0.000018)\\ &=0.00006000+0.00000117=0.00006117. \end{aligned}

候选组合的预测月度波动率约为 1.38776%1.38776\%,跟踪误差约为 0.78211%0.78211\%。若授权的月度 TE 上限为 0.75%0.75\%,这个候选持仓便不能直接执行;不能拿另一个更小的指标代替 TE 来判定合规。至此,原始特征决定回归暴露,逐期收益决定因子及残差序列,跨期协方差再决定持仓是否符合风险限制。这里尚未给收益预测,因而只能审查风险,不能宣称哪一组权重最优。

四个月不足以验证预测稳定性,也不能用同一短窗口挑选参数后声称样本外通过。后面的更新方法继续使用这些因子序列,第三节的三资产例则另行给定输入,专门比较调仓与负风险贡献;两组例子的估计身份不同。

3. 统计模型:从收益协方差提取共同方向#

统计因子模型(Statistical Factor Model):仅从历史收益的共同变动中提取潜在因子及暴露的模型。它不预先指定宏观或公司特征的经济含义。

已有宏观因子或公司特征能解释共同变动时,可以事先规定因子的含义;没有这样一组足够合适的变量时,还可以直接从收益数据寻找共同方向。代价是方向由统计结构选出,未必有稳定的经济名称。

主成分分析(Principal Component Analysis, PCA):在单位长度约束下,依次寻找解释方差最大、彼此正交的线性投影方向。这里的单位长度是系数平方和为一,不是投资权重和为一。若不固定尺度,将所有系数加倍就会让方差变成四倍,无法比较哪个方向真正更重要。

对称协方差矩阵的特征向量,是被矩阵作用后只改变长度、不改变方向的单位向量,满足 Σ^lk=λklk\widehat{\boldsymbol\Sigma}\mathbf l_k=\lambda_k\mathbf l_k。线性代数保证可以选取一组相互垂直的这类向量。把任意单位方向写成 v=∑kcklk\mathbf v=\sum_kc_k\mathbf l_k,便有 ∑kck2=1\sum_kc_k^2=1,该方向的方差为 v′Σ^v=∑kλkck2\mathbf v'\widehat{\boldsymbol\Sigma}\mathbf v=\sum_k\lambda_kc_k^2。这是各特征值的非负加权平均,最大不能超过最大的特征值;取对应方向即可达到。限制后续方向与已选方向正交,就依次得到剩余主成分。

对同一股票池截至 tt 的 TT 期收益先逐股中心化,记 R\mathbf R 为 N×TN\times T 数据矩阵。用样本协方差寻找上述方向,再将方向和对应方差排成矩阵,就是特征分解:

Σ^=RR′T−1=LΛL′,L′L=LL′=IN.\widehat{\boldsymbol\Sigma} =\frac{\mathbf R\mathbf R'}{T-1} =\mathbf L\boldsymbol\Lambda\mathbf L', \qquad \mathbf L'\mathbf L=\mathbf L\mathbf L'=\mathbf I_N.

L\mathbf L 的列为 NN 个正交特征向量,Λ=diag⁡(λ1,…,λN)\boldsymbol\Lambda=\operatorname{diag}(\lambda_1,\ldots,\lambda_N),且 λ1≥⋯≥λN≥0\lambda_1\ge\cdots\ge\lambda_N\ge0。有限样本允许重根和零特征值;特别是 N≥TN\ge T 时,中心化样本协方差的秩至多为 T−1T-1,不能假定全部特征值严格为正。

对应的样本因子实现矩阵为 Q=L′R\mathbf Q=\mathbf L'\mathbf R,维度为 N×TN\times T,并有:

R=LQ,QQ′T−1=L′Σ^L=Λ.\mathbf R=\mathbf L\mathbf Q, \qquad \frac{\mathbf Q\mathbf Q'}{T-1} =\mathbf L'\widehat{\boldsymbol\Sigma}\mathbf L =\boldsymbol\Lambda.

L\mathbf L 的第 ii 行给出资产 ii 的因子载荷,第 kk 列给出构造第 kk 个主成分的线性组合系数;这些系数不保证权重和为 1。样本主成分不相关不等于统计独立,也不保证下一窗口继续正交。

只保留前 K<NK<N 个主成分时,应先区分精确余项与风险建模近似:

EK=Σ^−LKΛKLK′,Σ^model=LKΛKLK′+diag⁡(EK),ηK=∑k=1Kλk∑j=1Nλj.\begin{aligned} \mathbf E_K &=\widehat{\boldsymbol\Sigma} -\mathbf L_K\boldsymbol\Lambda_K\mathbf L_K',\\ \widehat{\boldsymbol\Sigma}_{\mathrm{model}} &=\mathbf L_K\boldsymbol\Lambda_K\mathbf L_K' +\operatorname{diag}(\mathbf E_K),\\ \eta_K&=\frac{\sum_{k=1}^{K}\lambda_k}{\sum_{j=1}^{N}\lambda_j}. \end{aligned}

LK\mathbf L_K 为 N×KN\times K,ΛK\boldsymbol\Lambda_K 为 K×KK\times K;diag⁡(EK)\operatorname{diag}(\mathbf E_K) 表示仅保留余项对角元素的矩阵。完整的 EK\mathbf E_K 一般仍含跨股协方差,将它对角化是额外近似,不是特征分解恒等式。ηK\eta_K 只衡量样本总方差解释率,前提是样本总方差非零。

用两资产协方差演示完整构造。设月度样本协方差为 10−4[4334]10^{-4}\begin{bmatrix}4&3\\3&4\end{bmatrix}。直接相乘可检查,l1=(1,1)′/2\mathbf l_1=(1,1)'/\sqrt2 对应特征值 7×10−47\times10^{-4},l2=(1,−1)′/2\mathbf l_2=(1,-1)'/\sqrt2 对应 1×10−41\times10^{-4}。前一个方向提取共同涨跌,后一个方向提取相对涨跌;二者正交、单位长度,合起来完整还原原矩阵。

只保留第一个方向时,公共部分为 0.0007l1l1′=0.00035[1111]0.0007\mathbf l_1\mathbf l_1'=0.00035\begin{bmatrix}1&1\\1&1\end{bmatrix},解释样本总方差的 7/8=87.5%7/8=87.5\%。精确余项是 0.00005[1−1−11]0.00005\begin{bmatrix}1&-1\\-1&1\end{bmatrix},含有负的跨资产协方差。若把余项近似为对角矩阵,重建后的对角方差仍是 0.00040.0004,非对角协方差却变成 0.000350.00035,不再是原来的 0.00030.0003。这展示了“保留主要方向”和“把剩余风险视为互不相关”是两个不同决定。

这个近似会怎样影响持仓,可以在同一组输入上检查。取相对头寸 h=(0.5,−0.5)′\mathbf h=(0.5,-0.5)',它对第一个共同涨跌方向的暴露为零,风险完全来自第二个相对涨跌方向。完整协方差给出的方差为 0.000050.00005、月度标准差约 0.70711%0.70711\%;把余项对角化后的模型只给出方差 0.0000250.000025、标准差 0.5%0.5\%。虽保留了 87.5%87.5\% 的全体股票样本方差,却遗漏了这组对冲头寸一半的方差。

因此,主成分保留比例用于描述样本压缩程度,不能代替针对目标持仓的风险检验。选择因子数 KK 时,既要查看保留了哪些共同方向,也要将候选矩阵代入实际关注的多头、相对或中性持仓,并在随后窗口比较预测与实现误差。方向对应的特征值很接近时,单个方向可以旋转;单纯的符号翻转不改变由它重建的协方差,不能解释为经济作用反转。

4. 协方差更新与样本外校准#

前面的回归每月增加一个因子收益观测,但计算协方差时给所有月份相同权重。若希望新数据更快改变风险估计,需要改变的是这些历史观测的权重,而不是股票持仓,也不是本月横截面回归中各股票的权重。

权重半衰期(Weight Half-life):指数加权中,一条历史观测的权重衰减为最新观测一半所需的期数。给定半衰期,就能确定每隔一期保留多少权重;若距当前 jj 期的相对权重为 ωj\omega^j,其中 0<ω<10<\omega<1,由 ωh=1/2\omega^h=1/2 得:

h1/2=ln⁡(1/2)ln⁡ω.h_{1/2}=\frac{\ln(1/2)}{\ln\omega}.

例如 ω=2−1/12\omega=2^{-1/12} 对应 12 期半衰期;月度数据就是 12 个月。这里的 h1/2h_{1/2} 是权重衰减尺度,不是投资持有期。

用截至 tt 已实现的 TT 期因子序列估计协方差,一种明确的加权二阶矩口径为:

aj=ωj∑ℓ=0T−1ωℓ,j=0,…,T−1,fˉt=∑j=0T−1ajf^t−j,F^t=∑j=0T−1aj(f^t−j−fˉt)(f^t−j−fˉt)′.\begin{aligned} a_j&=\frac{\omega^j}{\sum_{\ell=0}^{T-1}\omega^\ell}, \qquad j=0,\ldots,T-1,\\ \bar{\mathbf f}_t&=\sum_{j=0}^{T-1}a_j\widehat{\mathbf f}_{t-j},\\ \widehat{\mathbf F}_t &=\sum_{j=0}^{T-1}a_j (\widehat{\mathbf f}_{t-j}-\bar{\mathbf f}_t) (\widehat{\mathbf f}_{t-j}-\bar{\mathbf f}_t)'. \end{aligned}

aja_j 是归一化时间权重;该式是加权中心二阶矩,没有加入小样本无偏修正。归一化保证历史窗口长度改变时,不会仅因多加几项权重就机械放大方差。

继续使用四股票例估计出的四期因子收益。为显示衰减的作用,取教学半衰期为 1 个月,即 ω=1/2\omega=1/2;从最旧的第 1 月到最新的第 4 月,归一化权重为 (1,2,4,8)/15(1,2,4,8)/15。风格因子的加权均值为 (0.02−0.02+0+0.08)/15=0.00533333(0.02-0.02+0+0.08)/15=0.00533333,加权中心方差约为 0.00006488890.0000648889。若四期等权,按相同的中心二阶矩口径计算,风格方差为 0.0001250.000125。

保持前例的暴露、主动权重和特质方差不变,只替换因子协方差,则 TE^ 2=0.62F^22+0.00000117\widehat{TE}^{\,2}=0.6^2\widehat F_{22}+0.00000117,得到:

历史时间权重风格方差估计候选持仓的月度 TE
四期等权的中心二阶矩0.00012500000.67949%
半衰期 1 个月的中心二阶矩0.00006488890.49528%

这两行都没有小样本修正;前面 0.78211%0.78211\% 的 TE 使用了 T−1T-1 分母,不能把它与本表的差额全部归因于半衰期。表中较近两期的风格收益更集中,增加它们的权重使此例预测风险下降;换一段历史,方向可能相反。半衰期是对过去信息重要性的选择,不是自动提高预测准确率的参数,更不能为了通过风险限额而事后调整。

短历史资产的特质方差还可能非常不稳定。一种处理是将该股残差估计与特征相近股票的估计按事前规则加权,降低单个短样本的影响;这会改变 D^ii\widehat D_{ii},并经 ∑iwi2D^ii\sum_iw_i^2\widehat D_{ii} 改变组合风险。残差持续共同变动时,则要检查是否遗漏了共同因子,而不是仅把对角方差放大。

比较风险模型时,先检查其协方差矩阵是否对称且半正定,再冻结每期的预测和持仓,等相应收益实现后评价。例如预测月度标准差为 1%,而扣除预期收益后的实现偏离为 2%,就是一次约两倍预测标准差的偏离;一次出现并不证明失准,但若此类偏离持续聚集,就须复查风险更新方式及均值模型。半衰期、因子数和特质方差处理规则应在训练、验证阶段选择,不能用待评价的未来期间反复挑选后仍称为样本外结果。

第三节 从因子协方差到组合风险#

1. 总风险与主动风险的同一二次型#

组合绝对风险(Absolute Risk):总持仓收益的不确定性,本节以标准差度量。设 w\mathbf w 为 N×1N\times1 总权重,X\mathbf X 为 N×KN\times K 暴露,F\mathbf F、D\mathbf D 分别为 K×KK\times K 因子协方差与 N×NN\times N 特质协方差;均使用同一预测期距,并暂省略时点下标。

组合暴露是各资产暴露的持仓加权和:

bP=X′w,σP2=w′Σw=bP′FbP⏟vF+w′Dw⏟vD.\mathbf b_P=\mathbf X'\mathbf w, \qquad \sigma_P^2=\mathbf w'\boldsymbol\Sigma\mathbf w =\underbrace{\mathbf b_P'\mathbf F\mathbf b_P}_{v_F} +\underbrace{\mathbf w'\mathbf D\mathbf w}_{v_D}.

bP\mathbf b_P 为 K×1K\times1;vFv_F、vDv_D 分别是共同因子方差与特质方差。若二者交叉协方差为零,方差可以直接加总,但 vF+vD\sqrt{v_F}+\sqrt{v_D} 一般不等于总波动率 σP=vF+vD\sigma_P=\sqrt{v_F+v_D}。

主动风险(Active Risk):相对指定基准的主动收益的不确定性,其标准差称为跟踪误差(Tracking Error, TE)。对同一资产集合中的基准权重 wb\mathbf w_b,令主动权重 h=w−wb\mathbf h=\mathbf w-\mathbf w_b,则:

rA=h′r,TE=h′Σh.r_A=\mathbf h'\mathbf r, \qquad TE=\sqrt{\mathbf h'\boldsymbol\Sigma\mathbf h}.

r\mathbf r 为同期资产收益列向量。将总权重换成主动权重,后续风险分析可以原样用于跟踪误差;这并不把相对低配变成实际卖空。两边净投资额相同时 1′h=0\mathbf1'\mathbf h=0,但资金中性不保证市场或行业暴露中性。

2. 三资产、两因子的协方差合成#

设三只教学资产的月度风险输入如下;暴露无量纲,所有方差均以小数收益率平方计,未做年化:

X=[111−1−0.50],F=10−4[40.60.62.25],\mathbf X= \begin{bmatrix} 1&1\\1&-1\\-0.5&0 \end{bmatrix}, \qquad \mathbf F=10^{-4} \begin{bmatrix} 4&0.6\\0.6&2.25 \end{bmatrix},D=10−4diag⁡(1,1,0.25),w=[0.50.30.2].\mathbf D=10^{-4}\operatorname{diag}(1,1,0.25), \qquad \mathbf w=\begin{bmatrix}0.5\\0.3\\0.2\end{bmatrix}.

因子月度标准差分别为 2%2\%、1.5%1.5\%,相关系数为 0.6/4×2.25=0.20.6/\sqrt{4\times2.25}=0.2。第三项被有意设为对因子 1 负暴露的资产,以隔离对冲机制;这些参数不是历史估计,也不代表现实股票通常具有这种暴露。

按矩阵乘法合成:

Σ=XFX′+D=10−4[8.451.75−2.301.756.05−1.70−2.30−1.701.25].\boldsymbol\Sigma =\mathbf X\mathbf F\mathbf X'+\mathbf D =10^{-4} \begin{bmatrix} 8.45&1.75&-2.30\\ 1.75&6.05&-1.70\\ -2.30&-1.70&1.25 \end{bmatrix}.

例如 Σ11=(4+2×0.6+2.25+1)×10−4=0.000845\Sigma_{11}=(4+2\times0.6+2.25+1)\times10^{-4}=0.000845;Σ13=−0.5(4+0.6)×10−4=−0.00023\Sigma_{13}=-0.5(4+0.6)\times10^{-4}=-0.00023。特质项只进入对角,是本例设定,不是所有风险模型的必然结构。

组合层面得到:

bP=(0.7,0.2)′,vF=0.72(0.0004)+0.22(0.000225)+2(0.7)(0.2)(0.00006)=0.0002218,vD=0.52(0.0001)+0.32(0.0001)+0.22(0.000025)=0.000035,σP=0.0002568≈1.6025%.\begin{aligned} \mathbf b_P&=(0.7,0.2)',\\ v_F&=0.7^2(0.0004)+0.2^2(0.000225) +2(0.7)(0.2)(0.00006)=0.0002218,\\ v_D&=0.5^2(0.0001)+0.3^2(0.0001)+0.2^2(0.000025) =0.000035,\\ \sigma_P&=\sqrt{0.0002568}\approx1.6025\%. \end{aligned}

共同和特质部分各自的标准差为 1.4893%1.4893\%、0.5916%0.5916\%,直接相加会得到错误的总风险。图 3-1 右侧采用方差分配 bP,k(FbP)kb_{P,k}(\mathbf F\mathbf b_P)_k,包含共同因子间的协方差;各项再除以总方差,才得到可加总的份额。

月度协方差 × 10⁻⁴组合方差份额资产 1资产 18.451.75-2.30资产 2资产 21.756.05-1.70资产 3资产 3-2.30-1.701.25共同因子 179.60%共同因子 26.78%特质合计13.63%0%40%80%100%
图 3-1 协方差与风险来源

资产 3 与另两项的协方差均为负,但其自身方差为正。共同因子合计占本例组合方差的 86.37%86.37\%,特质部分占 13.63%13.63\%;这些份额不同于各部分独立标准差占总标准差的比例。

第四节 边际风险、调仓与风险预算#

1. 边际风险是对当前权重的局部导数#

总波动率 1.6025%1.6025\% 说明当前组合承担多少风险,却不能直接回答增持哪只股票会降低风险。资产自身波动率也不够:一只会与现有持仓反向变动的资产,即使自身有风险,也可能提供对冲。调仓需要的是当前持仓附近的风险变化率。

边际风险贡献(Marginal Risk Contribution, MRC):在协方差固定时,组合风险对某项资产权重的偏导,表示其他风险资产权重不变时微调该权重的局部影响。

令 w\mathbf w 为 N×1N\times1 权重,Σ\boldsymbol\Sigma 为对称资产收益协方差,σP=w′Σw>0\sigma_P=\sqrt{\mathbf w'\boldsymbol\Sigma\mathbf w}>0。第二章已将二次型展开为权重乘积之和,其对 wiw_i 的偏导是 2(Σw)i2(\boldsymbol\Sigma\mathbf w)_i。现在目标从方差变成方差的平方根,使用单变量复合函数求导,再乘 1/(2σP)1/(2\sigma_P);把各项偏导排成梯度向量,得到:

∇w(w′Σw)=2Σw,MRC=∇wσP=ΣwσP.\nabla_{\mathbf w}(\mathbf w'\boldsymbol\Sigma\mathbf w) =2\boldsymbol\Sigma\mathbf w, \qquad \mathbf{MRC}=\nabla_{\mathbf w}\sigma_P =\frac{\boldsymbol\Sigma\mathbf w}{\sigma_P}.

MRC\mathbf{MRC} 为 N×1N\times1;MRCiΔwiMRC_i\Delta w_i 是标准差变化的一阶近似。单独改变 wiw_i,若需保持预算,隐含由不计风险的现金头寸融资;全额投资的股票组合不能直接执行这种单项偏导所描述的交易。σP=0\sigma_P=0 时上述除法不适用,不能把它硬设为零。

继续使用三资产月度输入,有:

Σw=(0.000429,0.000235,−0.000141)′,MRC≈(0.0267707,0.0146646,−0.0087988)′.\boldsymbol\Sigma\mathbf w =(0.000429,0.000235,-0.000141)', \qquad \mathbf{MRC}\approx(0.0267707,0.0146646,-0.0087988)'.

第三项为负,表示在当前持仓点以现金融资增持资产 3 可局部降低波动率;它自身仍有 0.000125≈1.1180%\sqrt{0.000125}\approx1.1180\% 的月度波动率。MRC 衡量与当前组合的共同变动,不等于资产自身风险。

共同与特质部分各自也可计算 MRC。设 A=XFX′\mathbf A=\mathbf X\mathbf F\mathbf X',σF=w′Aw>0\sigma_F=\sqrt{\mathbf w'\mathbf A\mathbf w}>0,σD=w′Dw>0\sigma_D=\sqrt{\mathbf w'\mathbf D\mathbf w}>0,则:

MRCF=AwσF,MRCD=DwσD,MRC=σFσPMRCF+σDσPMRCD.\begin{aligned} \mathbf{MRC}^{F}&=\frac{\mathbf A\mathbf w}{\sigma_F}, &\mathbf{MRC}^{D}&=\frac{\mathbf D\mathbf w}{\sigma_D},\\ \mathbf{MRC} &=\frac{\sigma_F}{\sigma_P}\mathbf{MRC}^{F} +\frac{\sigma_D}{\sigma_P}\mathbf{MRC}^{D}. \end{aligned}

这里两个系数的平方和为 1,通常不是系数和为 1;它不是普通凸加权平均。两种分母回答的问题不同:除以各部分自己的标准差,是“这部分独立风险会怎样变”;除以总标准差,则可将它们的影响合成总风险的变化。

本例资产 3 的共同风险梯度分子为 (Aw)3=−0.000146(\mathbf A\mathbf w)_3=-0.000146,特质部分为 (Dw)3=0.000005(\mathbf D\mathbf w)_3=0.000005。二者相加再除以 σP\sigma_P,才得到 MRC3≈−0.0087988MRC_3\approx-0.0087988。因此增持它会增加自己的特质风险,却更大幅度地抵消共同风险;负 MRC 不是说两种风险都减少,也不是说这只股票没有风险。

2. 预算约束下的调仓方向#

设调仓为 Δw=εd\Delta\mathbf w=\varepsilon\mathbf d,d\mathbf d 为 N×1N\times1 方向列向量,ε\varepsilon 为调仓尺度。保持净投资额要求 1′d=0\mathbf1'\mathbf d=0;保持市场 beta 暴露还要求 β′d=0\boldsymbol\beta'\mathbf d=0,其中 β\boldsymbol\beta 为逐股市场暴露。只满足其中一项不保证另一项。

方向导数(Directional Derivative):沿给定可行方向改变权重时风险的局部变化率。固定协方差下:

ΔσP≈εd′MRC,σP(w+εd)=σP2+2εd′Σw+ε2d′Σd.\begin{aligned} \Delta\sigma_P&\approx\varepsilon\mathbf d'\mathbf{MRC},\\ \sigma_P(\mathbf w+\varepsilon\mathbf d) &=\sqrt{\sigma_P^2 +2\varepsilon\mathbf d'\boldsymbol\Sigma\mathbf w +\varepsilon^2\mathbf d'\boldsymbol\Sigma\mathbf d}. \end{aligned}

等额买入资产 ii、卖出资产 jj 的斜率为 MRCi−MRCjMRC_i-MRC_j。有限调仓的二阶项不应省略,且仍须检查仅多头、行业限额等约束。

本例按原比例卖出资产 1、2,以增持资产 3,方向取 d=(−0.625,−0.375,1)′\mathbf d=(-0.625,-0.375,1)'。增持 1 个百分点,即 ε=0.01\varepsilon=0.01,得到:

d′MRC≈−0.0310297,ΔσPlinear≈−0.000310297,ΔσPexact≈−0.000310060.\begin{aligned} \mathbf d'\mathbf{MRC}&\approx-0.0310297,\\ \Delta\sigma_P^{\mathrm{linear}}&\approx-0.000310297,\\ \Delta\sigma_P^{\mathrm{exact}}&\approx-0.000310060. \end{aligned}

两种结果分别表示月度波动率下降约 0.031030.03103、0.031010.03101 个百分点。图 3-2 让资产 3 权重 xx 在 [0,1][0,1] 内变化,同时取 w(x)=(0.625(1−x),0.375(1−x),x)′\mathbf w(x)=(0.625(1-x),0.375(1-x),x)';三项始终仅多头且权重和为 1。

精确风险当前点切线月度波动率(%)-0.50.00.51.01.52.02.50%20%40%60%80%100%资产 3 权重 x当前:20%,1.6025%最低点:67.94%
图 3-2 精确风险与局部调仓

切线只在当前 x=20%x=20\% 附近准确。沿这一固定配资比例继续增持,风险在 x≈67.94%x\approx67.94\% 后重新上升;“当前增持能够降风险”不能线性外推为“持仓越大越安全”。

3. 风险贡献与方差贡献的单位#

MRC 比较的是再增加一点持仓的后果,不是现有持仓已经承担多少风险。要给当前组合分配可加总的风险份额,还必须考虑每项头寸的规模;一只几乎没有持有的股票,即使边际影响很大,也不能据此分到很大的当前风险。

标准差有一个有用的尺度性质:固定收益分布,将所有风险头寸正比例放大 cc 倍,总标准差也放大 cc 倍,即 σP(cw)=cσP(w)\sigma_P(c\mathbf w)=c\sigma_P(\mathbf w)。对 cc 求导并在 c=1c=1 处取值,左边按复合函数求导得到 ∑iwi∂σP/∂wi\sum_iw_i\partial\sigma_P/\partial w_i,右边得到 σP\sigma_P。这就是当前风险函数的欧拉分解;它解释了为什么应当用“权重乘边际风险”加总,而不能直接相加 MRC。

风险贡献(Risk Contribution, RC):将当前组合风险按权重与边际风险乘积分配给各项头寸的欧拉归因量。本节风险以标准差计:

RCi=wiMRCi=wi(Σw)iσP.RC_i=w_iMRC_i =\frac{w_i(\boldsymbol\Sigma\mathbf w)_i}{\sigma_P}.

对权重的正比例缩放满足 σP(cw)=cσP(w)\sigma_P(c\mathbf w)=c\sigma_P(\mathbf w),其中 c>0c>0。直接加总也可验证欧拉恒等式:

∑iRCi=w′ΣwσP=σP.\sum_iRC_i =\frac{\mathbf w'\boldsymbol\Sigma\mathbf w}{\sigma_P} =\sigma_P.

百分比风险贡献(Percentage Risk Contribution, PCR):某项 RC 占总标准差的份额,PCRi=RCi/σPPCR_i=RC_i/\sigma_P,所有份额之和为 1。它是风险归因比例,不是该资产未来亏损的概率。

如果按方差归因,定义 VCi=wi(Σw)iVC_i=w_i(\boldsymbol\Sigma\mathbf w)_i,则 ∑iVCi=σP2\sum_iVC_i=\sigma_P^2。三种可加总口径的关系为:

VCi=σPRCi=σP2PCRi.VC_i=\sigma_PRC_i=\sigma_P^2PCR_i.

方差是二阶齐次函数,∑iwi∂σP2/∂wi=2σP2\sum_iw_i\partial\sigma_P^2/\partial w_i=2\sigma_P^2;因此 VCiVC_i 对应半个权重乘方差梯度,不能把标准差的欧拉公式不作调整地套到方差上。

资产权重方差贡献 VCiVC_i波动率贡献(百分点)PCRiPCR_i
150%0.00021451.338583.53%
230%0.00007050.439927.45%
320%−0.0000282−0.1760−10.98%
合计100%0.00025681.6025100.00%

表中由完整精度计算后分别舍入,显示值相加可能有末位差异。第三项为多头仍有负贡献,前两项的正份额合计超过 100%;这并不违反加总恒等式。

图 3-3 沿用图 3-2 的同一配资规则,每个点均重新计算 Σw\boldsymbol\Sigma\mathbf w 与 σP\sigma_P,而非固定当前 MRC 后线性外推。

组合波动率资产 1+2 贡献资产 3 贡献月度波动率 / 贡献(百分点)-0.50.00.51.01.52.02.50%20%40%60%80%100%资产 3 权重 x当前负贡献转正:62.41%
图 3-3 负风险贡献

资产 3 的 RC 在 x≈62.41%x\approx62.41\% 由负转正,早于组合风险曲线的最低点。RC 的符号对应对现金融资的单项边际作用;预算约束下的增持还要减去被卖出资产的边际风险,两者临界点不必一致。

4. 行业、共同因子与特质风险预算#

风险预算配置(Risk Budgeting):以事先规定的各项风险贡献目标或限额参与组合选择的过程。上一节的 RC 表是对现有持仓的分解;只有进一步用该表判断哪些候选持仓允许、怎样调整,才进入风险预算配置。它不等于把资金等分,也不要求各项 RC 相等。

例如另设一组教学限额:总月度波动率不超过 1.58%,资产 1 的波动率贡献不超过 1.33 个百分点。当前风险约 1.60250%、资产 1 的 RC 约 1.33854 个百分点,都超过限额。沿前面已经计算的方向调仓 1 个百分点,权重变为 (0.49375,0.29625,0.21)′(0.49375,0.29625,0.21)';重新计算协方差乘权重及总标准差后,总风险为 1.57149%,资产 1 的 RC 为 1.32200 个百分点,满足这两项限额。这里用的是新持仓的 RC,不能把旧 MRC 直接当成新风险份额。

这只证明候选交易通过了这两项风险检查,并未比较收益损失、费用或全部可行持仓,因而不是交易建议或最优性证明。对互不重叠的资产分组 GG,可以将同一检查改成组限额:RCG=∑i∈GRCiRC_G=\sum_{i\in G}RC_i。如将资产 1、2 视为同一组,当前组 RC 约为 1.778471.77847 个百分点,超过总风险,是因为资产 3 的负贡献在抵消它;这并不违反加总关系。组 RC 由头寸贡献相加,不能用组内 MRC 直接相加代替。

对主动权重 h=w−wb\mathbf h=\mathbf w-\mathbf w_b,设 TE>0TE>0,边际主动风险为 MRCiA=(Σh)i/TEMRC_i^A=(\boldsymbol\Sigma\mathbf h)_i/TE。若某行业满足 ∑i∈Ghi=0\sum_{i\in G}h_i=0,令 di=hid_i=h_i(i∈Gi\in G)、其余为零,则按比例扩大该行业的超配和低配自动保持资金中性,并有:

dTE(h+εd)dε∣ε=0=∑i∈GhiMRCiA=RCGA.\left.\frac{dTE(\mathbf h+\varepsilon\mathbf d)}{d\varepsilon}\right|_{\varepsilon=0} =\sum_{i\in G}h_iMRC_i^A=RC_G^A.

这是指定“组内成比例加杠杆”方向的特殊解释,不是所有行业调仓的通用斜率;其他暴露约束仍需另检验。

按风险来源归因,定义组合因子暴露 bP=X′w\mathbf b_P=\mathbf X'\mathbf w,则:

RCkF=bP,k(FbP)kσP,RCiD=wi(Dw)iσP,∑kRCkF+∑iRCiD=σP.RC_k^{F}=\frac{b_{P,k}(\mathbf F\mathbf b_P)_k}{\sigma_P}, \qquad RC_i^{D}=\frac{w_i(\mathbf D\mathbf w)_i}{\sigma_P}, \qquad \sum_kRC_k^F+\sum_iRC_i^D=\sigma_P.

它们均使用总标准差作分母。因子之间相关时,单项因子贡献包含协方差并可能为负;只算 bP,k2Fkkb_{P,k}^2F_{kk} 会漏掉交叉风险。若 D\mathbf D 为对角矩阵,则 RCiD=wi2Dii/σP≥0RC_i^D=w_i^2D_{ii}/\sigma_P\ge0,不论该资产是多头还是空头;允许特质相关后,单项特质贡献也可能为负。

本例两个共同因子的方差贡献为 0.00020440.0002044、0.00001740.0000174,三项特质方差贡献合计 0.0000350.000035,与总方差一致。证券分组归因与因子来源归因是同一风险的两套切分,不能再把两套总和相加。因子换基底时单项归属可以改变,但在暴露和协方差同步变换下,总协方差与总风险应保持不变。

第五节 风险贡献的损失解释与 VaR#

1. 条件期望损失,不是实际损失的确定分摊#

第二章的条件期望以决策时已经知道的信息为条件,服务事前配置。这里仍使用概率加权平均,但改问一个压力分析问题:在假设组合恰好发生某种损失的情景中,哪些头寸平均贡献了多少损失? 条件变成未来损失水平,不表示管理者在交易前已经知道这项结果;它只能用于情景分析或事后解释,不能倒填为期初信号。

令 r\mathbf r 为固定持有期的 N×1N\times1 资产收益向量,μ=E(r)\boldsymbol\mu=E(\mathbf r),Σ=Cov⁡(r)\boldsymbol\Sigma=\operatorname{Cov}(\mathbf r)。固定权重 w\mathbf w 下,rP=w′rr_P=\mathbf w'\mathbf r,μP=w′μ\mu_P=\mathbf w'\boldsymbol\mu,σP2=w′Σw>0\sigma_P^2=\mathbf w'\boldsymbol\Sigma\mathbf w>0。百分比风险贡献可写成:

PCRi=Cov⁡(wiri,rP)σP2.PCR_i=\frac{\operatorname{Cov}(w_ir_i,r_P)}{\sigma_P^2}.

这与第二章 beta 的形式相同,只是解释对象从单只股票收益换成了持仓贡献 wiriw_ir_i,参照变量换成组合收益。要进一步解释“组合亏损时这一头寸平均会怎样”,需要的是条件均值,而非仅凭协方差就能得到的每次实现结果。

设 Zi=wiriZ_i=w_ir_i、Y=rPY=r_P,将 ZiZ_i 写成均值、随 YY 线性变化的部分和剩余 viv_i。选择系数为 Cov⁡(Zi,Y)/Var⁡(Y)=PCRi\operatorname{Cov}(Z_i,Y)/\operatorname{Var}(Y)=PCR_i,使 vi=Zi−E(Zi)−PCRi(Y−EY)v_i=Z_i-E(Z_i)-PCR_i(Y-EY) 与 YY 的协方差为零。零协方差一般不足以推出 E(vi∣Y)=0E(v_i\mid Y)=0;收益联合正态时,线性组合仍联合正态,零协方差又意味着独立,才可以消去这个条件均值。因此在该分布条件下:

E(wiri∣rP=y)=wiμi+PCRi(y−μP).E(w_ir_i\mid r_P=y) =w_i\mu_i+PCR_i(y-\mu_P).

设组合发生正的收益率损失 ℓ>0\ell>0,即 rP=−ℓr_P=-\ell,资产损失项为 −wiri-w_ir_i。条件期望损失占比(Expected Percentage Contribution to Loss):给定组合损失水平时,某项头寸的条件期望损失除以该组合损失。记为 PCLi(ℓ)PCL_i(\ell),则:

PCLi(ℓ)=E(−wiri∣rP=−ℓ)ℓ=PCRi+PCRiμP−wiμiℓ.PCL_i(\ell) =\frac{E(-w_ir_i\mid r_P=-\ell)}{\ell} =PCR_i+\frac{PCR_i\mu_P-w_i\mu_i}{\ell}.

修正项之和为零,故 ∑iPCLi(ℓ)=1\sum_iPCL_i(\ell)=1。当各项均值为零时,PCLi=PCRiPCL_i=PCR_i;均值不为零时,只有在 ℓ\ell 远大于相应修正项的绝对值、且分布模型仍适用时,两者才近似相等。不能据此断言危机中常态协方差必然解释实际损失。

沿用三资产的协方差与权重,另设月度期望收益 μ=(0.005,0.002,0)′\boldsymbol\mu=(0.005,0.002,0)',则 μP=0.0031\mu_P=0.0031。假设收益联合正态,并观察组合损失 ℓ=0.03\ell=0.03 的条件情景。风险份额仍为约 (83.5280%,27.4533%,−10.9813%)(83.5280\%,27.4533\%,-10.9813\%),代入均值修正后,条件期望损失占比却为约 (83.8259%,28.2901%,−12.1160%)(83.8259\%,28.2901\%,-12.1160\%)。均值不改变这组协方差下的 PCR,却改变给定损失水平时的条件解释。资产 3 的负占比表示它在该条件下平均提供收益抵消,而不是每次危机都必然盈利。

条件均值之外仍有不确定性:

Std⁡ ⁣(−wiriℓ  |  rP=−ℓ)=wi2Σii−PCRi2σP2ℓ.\operatorname{Std}\!\left( \frac{-w_ir_i}{\ell}\;\middle|\;r_P=-\ell \right) =\frac{\sqrt{w_i^2\Sigma_{ii}-PCR_i^2\sigma_P^2}}{\ell}.

所以预期占比相同不表示每次损失必然按 PCR 实现。非零均值下的小幅损失、非线性敞口或分布改变尤其会削弱这种解释。

风险与预期收益的比例一致还需要特定最优性条件。若以超额收益为对象、现金可自由调整且无其他约束,目标 w′μ−λw′Σw/2\mathbf w'\boldsymbol\mu-\lambda\mathbf w'\boldsymbol\Sigma\mathbf w/2 的内部解满足 μ=λΣw\boldsymbol\mu=\lambda\boldsymbol\Sigma\mathbf w,其中 λ>0\lambda>0;于是 wiμi=PCRiμPw_i\mu_i=PCR_i\mu_P。若另有 1′w=1\mathbf1'\mathbf w=1 等约束,一阶条件通常含预算乘子,这个逐项等式不再自动成立。“均值—方差最优”本身不足以保证风险份额等于收益份额。

2. VaR 的损失口径与正态计算#

风险价值(Value at Risk, VaR):固定持有期、给定持仓的损失分布在指定置信水平的分位数。设固定的期初资本为 V>0V>0,货币损失为 L=−VrPL=-Vr_P,置信水平为 q∈(0,1)q\in(0,1):

VaRq=inf⁡{l:Pr⁡(L≤l)≥q}.VaR_q=\inf\{l:\Pr(L\le l)\ge q\}.

VV 和 LL 使用同一货币单位,q=95%q=95\% 对应连续分布下 5%5\% 的超过门槛概率。VaR 是损失门槛,不是最大可能损失,也不说明门槛之外平均会损失多少;所定义的分位数在特殊分布下也可能为负。

若线性组合收益近似正态,令 zq=Φ−1(q)z_q=\Phi^{-1}(q),其中 Φ\Phi 为标准正态分布函数,则:

VaRq=V(zqσP−μP).VaR_q=V(z_q\sigma_P-\mu_P).

μP\mu_P、σP\sigma_P 必须与 VaR 持有期一致。独立同分布的可加损益允许方差按期数缩放;简单收益跨期复利、波动聚集、相关变化或动态交易下,不能无条件使用平方根时间法则。

设三资产例的月度均值均为零,期初资本 V=100V=100 万元,q=95%q=95\%,取 zq≈1.644853627z_q\approx1.644853627,则一个月正态参数 VaR 为:

VaR95%=1,000,000×1.644853627×0.0002568≈26,358.75 元.VaR_{95\%} =1{,}000{,}000\times1.644853627\times\sqrt{0.0002568} \approx26{,}358.75\text{ 元}.

零均值和正态性均为教学假设;该数值不是对未来真实损失的保证。

3. VaR 的欧拉贡献与分位边界#

边际 VaR(Marginal Value at Risk):VaR 对某项权重的局部偏导。令 v(w)=VaRqv(\mathbf w)=VaR_q,定义:

MVaRi=∂v∂wi,RCiVaR=wiMVaRi.MVaR_i=\frac{\partial v}{\partial w_i}, \qquad RC_i^{VaR}=w_iMVaR_i.

固定 VV、收益分布及置信水平,对线性损失有 v(cw)=cv(w)v(c\mathbf w)=cv(\mathbf w)(c>0c>0)。在所考察权重点可微时,欧拉定理给出 ∑iRCiVaR=v\sum_iRC_i^{VaR}=v。固定本金下缩放的是头寸敞口,不是把归一化权重重新归一化后再比较;若交易成本、冲击或头寸相关的平仓规则破坏正齐次性,不能直接沿用该恒等式。

在正态模型中对均值和标准差分别求导:

MVaRi=V(zqMRCi−μi),RCiVaR=V(zqRCi−wiμi).MVaR_i=V(z_qMRC_i-\mu_i), \qquad RC_i^{VaR}=V(z_qRC_i-w_i\mu_i).

沿用零均值月度例,三项 VaR 贡献依次约为 22,016.9422{,}016.94、7,236.347{,}236.34、−2,894.54-2{,}894.54 元;完整精度之和为 26,358.7526{,}358.75 元。负贡献来自当前组合的对冲作用,并非该资产没有尾部风险。

这些贡献分配的是现有损失门槛;评价一笔交易仍要使用边际量。沿前面的预算中性方向 d=(−0.625,−0.375,1)′\mathbf d=(-0.625,-0.375,1)' 调仓 ε=0.01\varepsilon=0.01,有 ΔVaR≈εd′MVaR≈−510.39\Delta VaR\approx\varepsilon\mathbf d'\mathbf{MVaR}\approx-510.39 元。将新持仓重新代入正态 VaR 公式,精确变化约为 −510.00-510.00 元。两者在小额交易处接近,但不能用现有三项 VaR 贡献的简单大小顺序替代对整笔买卖的计算。该比较仍固定了正态分布、零均值、资本和持有期。

非正态情形下,VaR 贡献的损失解释需要分位数求导,而不只是比较两个加总式。记单位权重损失 li=−Vril_i=-Vr_i,故 L(w)=∑iwiliL(\mathbf w)=\sum_iw_il_i;设联合分布足够光滑、分位点唯一且损失密度 pL(v)>0p_L(v)>0,并允许交换微分与积分。

保持置信水平 qq 不变,微增 wiw_i 会使每个情景的损失增加 li dwil_i\,dw_i,门槛 vv 也必须随之移动。门槛上移 dvdv 增加的累计概率,一阶近似为 pL(v) dvp_L(v)\,dv;损失移动而穿过原门槛的情景则减少累计概率,其一阶影响取决于门槛附近情景的平均 lil_i,即 pL(v)E(li∣L=v) dwip_L(v)E(l_i\mid L=v)\,dw_i。两项相抵才能保持原累计概率,因此对 Pr⁡(L(w)≤v(w))=q\Pr(L(\mathbf w)\le v(\mathbf w))=q 求导得到:

0=pL(v)∂v∂wi−pL(v)E(li∣L=v),0=p_L(v)\frac{\partial v}{\partial w_i} -p_L(v)E(l_i\mid L=v),MVaRi=E(li∣L=VaRq),RCiVaR=E(wili∣L=VaRq).MVaR_i=E(l_i\mid L=VaR_q), \qquad RC_i^{VaR}=E(w_il_i\mid L=VaR_q).

连续分布中的 L=vL=v 是零概率事件,条件期望通过条件密度或适当的局部极限定义。这个结果只对应所选分位边界的条件期望损失,不对应全部超过门槛的损失。改变置信水平后,贡献需要重算,不能无条件按同一组 PCR 比例放大。

4. 非正态估计与失效检查#

不采用正态分布时,可以用历史上的联合收益情景重估当前持仓损失,也可以按指定联合分布模拟情景。两者的计算对象都是同一持仓在不同情景下的损失:先按 L=−Vw′rL=-V\mathbf w'\mathbf r 重估,再排序取分位点;不能分别抽取每只股票互不相干的历史日期,否则会丢掉本来要保留的共同冲击。

例如自拟 20 个等概率的月度货币损失情景,按从小到大依次为 0,1,…,18,300,1,\ldots,18,30 万元。95% 分位数是累计概率首次达到 95% 的第 19 项,即 18 万元。把最坏情景从 30 万元改为 60 万元,95% VaR 仍是 18 万元,但最差 5% 情景的平均损失已经加倍。因此,判断承受能力时还要检查门槛之外的损失幅度;相同 VaR 不意味着相同尾部严重程度。这里的排序是离散情景计算,不能把前面要求连续密度的 VaR 导数公式直接套在某个跳变点上。

有限样本的分位点可能出现并列或跳变,扰动持仓后情景排序也可能改变。若需估计分位边界附近的条件贡献,应检查附近究竟有多少有效情景,以及扩大或缩小取样范围是否明显改变结果。增加模拟次数只能减少给定分布内的抽样误差,不能修复错误暴露、错误分布或无法平仓的假设。

实际验证分别检查超越门槛的次数、超越是否集中发生,以及超越后的损失大小;再对共同因子、特质事件、融资和可交易性施加压力情景。前面调仓虽然降低了模型 VaR,实施时还要比较预测收益、约束和成本,不能仅因一个风险指标下降就断定应当交易。

Footnotes#

  1. Edward E. Qian、Ronald H. Hua、Eric H. Sorensen,Quantitative Equity Portfolio Management: Modern Techniques and Applications,2007,第 3 章。正文数值均为自拟教学计算;理论关系按所列条件使用。 ↩

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

评论区

Profile Image of the Author
罗小饭
AI 软件开发工程师,热爱编程、开源与折腾,长期记录 AI、网络、软路由、博客搭建和云服务实践中的经验与思考。
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
站点统计
文章
47
分类
5
标签
146
总字数
647,126
运行时长
0 天
最后活动
0 天前

文章目录