4. Key Rate Duration定义

在上一节中,我们已经看到传统久期只能给出“收益率曲线整体平移”情形下的价格敏感度。但真实市场里,收益率曲线很少整体平移,更常见的是短端不动、长端上行,或者中段凸起、两端下沉。要刻画这种“局部变化”的风险,就必须引入关键利率久期(Key Rate Duration,KRD)。它把一条完整的曲线拆成若干个关键期限点,分别衡量每个点位的收益率变动对债券或组合价格的影响。

一、核心原理:从“整体久期”到“逐点敏感度”

关键利率久期的基本思想是:不再把收益率曲线视为一个整体,而是选取一组具有代表性的关键期限(如1年、2年、3年、5年、7年、10年、20年、30年),并假设在每个关键期限上发生一个微小的收益率变动,而其他关键期限的收益率保持不变。通过重新定价,就能得到价格对该关键期限的敏感度。

其数学定义可以写成:

KRD_i = - (1/P) * (ΔP_i / Δy_i)

其中:
P      = 债券或组合当前价格
Δy_i   = 第 i 个关键期限的收益率微小变动(通常取1个基点)
ΔP_i   = 仅第 i 个关键期限变动时,债券或组合价格的变化量

这里的关键在于“仅第 i 个关键期限变动”。为了在曲线上只改变一个点,通常采用线性插值或分段线性插值:当第 i 个关键期限变动时,相邻关键期限之间的收益率按距离比例变化,从而保证曲线在关键点之间平滑过渡。这样,每个关键利率久期就对应曲线上的一个“局部风险敞口”。

把所有关键利率久期相加,理论上可以得到组合的有效久期。也就是说,传统久期是 KRD 的“总和”,而 KRD 是传统久期的“分解”。

一句话理解:传统久期告诉你“曲线整体动1个基点,价格变多少”;关键利率久期告诉你“曲线在某个期限点动1个基点,价格变多少”。

二、方法流程:如何计算一组关键利率久期

在实际工作中,计算 KRD 通常遵循以下步骤:

  1. 确定关键期限集合:根据组合的现金流分布和交易习惯,选择一组关键期限。常见选择为1Y、2Y、3Y、5Y、7Y、10Y、20Y、30Y。
  2. 构建基准曲线:用市场数据拟合一条基准收益率曲线,并确保每个关键期限上都有对应的收益率节点。
  3. 逐点冲击:对第 i 个关键期限的收益率施加+1bp冲击,其他关键期限保持不变;相邻期限之间用插值方法调整。
  4. 重新定价:用冲击后的曲线对债券或组合进行全量重定价,得到价格变化 ΔP_i。
  5. 计算 KRD_i:按公式 KRD_i = -(ΔP_i / P) / 0.0001 计算,单位通常为“年”。
  6. 汇总与校验:将所有 KRD_i 相加,与有效久期对比,检查分解是否合理。

下面是一个简化的 Python 伪代码示例,展示逐点冲击的计算逻辑:

key_rates = [1, 2, 3, 5, 7, 10, 20, 30]
base_curve = {1: 0.020, 2: 0.022, 3: 0.024, 5: 0.028,
              7: 0.031, 10: 0.034, 20: 0.038, 30: 0.040}

def price_bond(curve, bond):
    # 根据曲线插值得到各现金流对应折现率,并计算价格
    ...

krd = {}
for t in key_rates:
    shocked_curve = base_curve.copy()
    shocked_curve[t] += 0.0001   # 仅该关键期限+1bp
    # 对相邻期限做线性插值调整
    p_up = price_bond(shocked_curve, bond)
    krd[t] = -(p_up - p_base) / p_base / 0.0001

需要注意的是,冲击幅度通常取1个基点,因为太大时会引入凸性误差,太小则容易受数值精度影响。1bp是市场惯例,也是风险系统中最常用的标准。

三、案例与场景:曲线陡峭化下的风险暴露

假设某投资组合持有一只10年期国债,同时持有一只2年期信用债。用传统久期看,组合久期约为5.2年。但如果市场发生“短端下行、长端上行”的陡峭化变化,传统久期无法告诉我们哪一部分在亏钱。

通过 KRD 分解,我们可能得到如下结果:

关键期限KRD(年)风险贡献主要来源
1Y0.051%现金类资产
2Y1.1021%2年期信用债
3Y0.357%信用债现金流
5Y0.408%过渡段
7Y0.5010%过渡段
10Y2.8053%10年期国债
20Y0.000%无敞口
30Y0.000%无敞口
合计5.20100%—

这张表清楚地显示:组合的风险主要集中在2年期和10年期。如果交易员判断曲线将“2年下行、10年上行”,他就可以针对性地减仓10年期国债,或者用10年期利率互换对冲,而不必整体降低久期。这就是 KRD 在实战中的核心价值——把“方向性风险”转化为“结构性风险”。

关键利率久期:把曲线风险拆到每个期限点 关键期限 KRD(年) 1Y 2Y 3Y 5Y 7Y 10Y 20Y 30Y 0.05 1.10 0.35 0.40 0.50 2.80 短端风险 长端风险 曲线形态

四、误区与复盘:KRD 不是“越多越好”

在实际应用 KRD 时,有几个常见误区需要警惕:

  • 关键期限选得过多或过少:选得太少,无法覆盖现金流集中区;选得太多,计算量大且相邻节点高度相关,分解结果不稳定。一般8~12个关键期限是较优区间。
  • 忽略插值方法的影响:不同插值方式(线性、三次样条、单调凸)会导致同一笔现金流在不同关键期限上的分摊不同,进而影响 KRD 数值。必须与风险系统保持一致。
  • 把 KRD 当成独立风险:KRD 之间并非完全独立,曲线局部变动往往伴随相邻期限的联动。KRD 是“局部敏感度”,不是“独立风险因子”。
  • 用 KRD 替代情景分析:KRD 是线性近似,遇到大幅曲线变动或凸性显著的品种时,仍需结合情景分析和全量重定价。

复盘提醒:如果发现所有 KRD 都集中在某一个期限,而组合现金流明明分散在多个期限,通常说明曲线构建或插值环节出了问题,而不是组合真的只暴露在一个点上。此时应先检查关键期限节点是否覆盖了主要现金流,再检查插值逻辑。

总结来说,关键利率久期的含义可以概括为:它是收益率曲线风险的最小可操作单元。作用则体现在三个层面:第一,把组合的总久期拆解为各期限的局部敞口;第二,支持针对曲线形态变化的精细化对冲;第三,为交易员和风险经理提供“曲线往哪个方向动、哪个期限最受伤”的量化依据。掌握 KRD,是从“看久期数字”走向“看曲线结构”的关键一步。