2. 风险因子体系:系统性因子与特质性因子的识别与分类

风险因子是组合风险归因的原子单元。一个因子的定义质量直接决定了归因结果的可解释性与稳定性。本章将因子体系拆解为系统性因子与特质性因子两大类别,并给出可操作的识别与分类标准。

2.1 因子分类总览

从风险来源的广度与可分散性出发,所有因子可归入以下两类:

类别 定义 可分散性 典型数量 归因用途
系统性因子 影响全市场或大部分资产的共同风险源 不可分散 3–10 个 解释组合与基准的主动回报
特质性因子 仅影响单个资产或极小群体的特有风险 可分散(理论上) 数百至数千个 残差风险监控与压力测试
实践提示:在 API 设计中,系统性因子通常作为必选参数传入;特质性因子则通过可选参数或独立端点暴露,避免请求体过于臃肿。

2.2 四大经典系统性因子

现代投资组合理论中,以下四个因子构成了最常用的系统性因子集:

  • 市场因子(Market):代表整体股票市场的超额收益,通常以宽基指数(如沪深 300、标普 500)为代理变量。是所有多因子模型的基准因子。
  • 规模因子(Size):小市值股票相对于大市值股票的超额收益。Fama-French 三因子模型的核心扩展因子。
  • 价值因子(Value):高账面市值比(低估值)股票相对于低账面市值比(高估值)股票的超额收益。常以 PB、PE 或 EP 排序构建。
  • 动量因子(Momentum):过去 6–12 个月表现优异的股票在未来短期内的延续效应。Carhart 四因子模型的标志性因子。
API 字段映射建议:在风险归因 API 的 factor_exposure 对象中,建议使用 mkt、size、value、mom 作为因子标识符,并附带 loading(暴露度)与 return_contribution(收益贡献)两个子字段。

2.3 系统性因子与特质性因子的识别边界

识别一个因子属于系统性还是特质性,需通过以下三个维度进行判定:

  1. 截面覆盖度:该因子是否对超过 80% 的资产有显著暴露?若是,倾向系统性。
  2. 时间稳定性:因子收益的符号与幅度在 3 年以上是否保持统计显著?若是,倾向系统性。
  3. 经济解释力:是否存在公认的经济学或行为金融学解释?若是,倾向系统性。

以下表格展示了常见因子的分类归属:

因子名称 截面覆盖度 时间稳定性 经济解释力 最终分类
市场因子 高(>95%) 高 强(CAPM) 系统性
行业因子 中(30–70%) 中 中(行业轮动) 系统性
个股特质波动 低(<5%) 低 弱(残差) 特质性
流动性冲击 中(20–50%) 低 中(市场微观结构) 特质性

2.4 因子体系架构图

下图展示了从原始数据到因子暴露的完整链路,以及系统性因子与特质性因子在归因流程中的位置:

风险因子体系架构 原始数据 价格 / 财务 / 交易量 因子计算引擎 标准化 / 中性化 / 正交化 因子暴露矩阵 N 资产 × K 因子 系统性因子 市场 / 规模 / 价值 / 动量 特质性因子 个股特质 / 流动性冲击 系统性风险归因 因子暴露 × 因子收益 特质性风险归因 残差方差 / 特异度 组合总风险 = 系统性 + 特质性 可归因部分 + 残差部分 说明:系统性因子通过多因子模型归因;特质性因子通过残差分析单独处理。

2.5 特质性因子的处理策略

特质性因子虽然数量庞大,但在 API 设计中可通过以下策略高效管理:

  • 聚合为残差项:在标准归因 API 中,特质性因子不单独返回,而是合并为 residual_risk 字段。
  • 按风险预算拆分:对于需要深度归因的场景,提供 specific_risk_breakdown 端点,按行业或风格分组展示特质风险。
  • 阈值过滤:仅当特质性因子暴露超过预设阈值(如 |t| > 2)时,才在归因报告中单独列出。
常见误区:不要将所有统计显著的因子都归为系统性因子。一个因子可能在历史回测中显著,但缺乏经济解释力,此时应归为特质性因子,避免过度拟合。

2.6 因子分类的 API 实现示例

以下代码展示了如何在风险归因 API 中定义因子分类结构:

{
  "factor_classification": {
    "systematic": {
      "factors": ["mkt", "size", "value", "mom"],
      "description": "四大经典系统性因子",
      "covariance_method": "shrinkage"
    },
    "idiosyncratic": {
      "factors": ["residual"],
      "description": "特质性因子聚合为残差项",
      "estimation_method": "sample_cov"
    }
  },
  "exposure_matrix": {
    "asset_1": {"mkt": 1.05, "size": -0.23, "value": 0.45, "mom": 0.12, "residual": 0.34},
    "asset_2": {"mkt": 0.98, "size": 0.56, "value": -0.11, "mom": -0.08, "residual": 0.21}
  }
}

2.7 因子分类决策流程图

当需要判断一个新因子应归入哪一类时,可参考以下决策流程:

因子分类决策流程 新因子候选 截面覆盖度 > 80%? 是 时间稳定性显著? 是 存在经济解释? 是 系统性因子 否 否 否 特质性因子

2.8 因子分类清单(快速参考)

以下清单可作为日常因子分类的快速参考:

因子名称 分类 典型代理变量 API 标识符
市场因子 系统性 沪深 300 超额收益 mkt
规模因子 系统性 小市值 - 大市值 size
价值因子 系统性 高 BM - 低 BM value
动量因子 系统性 过去 12 个月收益 mom
行业因子 系统性 申万一级行业哑变量 ind_xx
个股特质波动 特质性 残差标准差 residual
流动性冲击 特质性 Amihud 非流动性指标 liq
API 设计建议:在 /v1/factors/classification 端点中,返回一个包含 systematic 与 idiosyncratic 两个数组的 JSON 对象,每个数组内包含因子名称、描述、代理变量及历史统计量,方便前端直接渲染分类表格。