Why Separate Rate Sensitivities by Maturity?
A change in the spot curve need not be parallel: short-term rates can rise while longer-term rates fall. A single duration based on a parallel shift does not show how much value is exposed to each part of the curve. Key-rate sensitivity separates that exposure by selected maturities, then combines the separate effects to estimate the impact of a specified nonparallel movement.
The analysis below treats cash flows as fixed and discounts each one at the spot rate for its maturity. It is a local, first-order estimate: it is most useful for small rate shifts and does not account for changes in cash flows or higher-order effects.
Specifying a Key-Rate Shift
A key-rate sensitivity depends on how the curve is bumped. Write \(z_j\) for the spot rate at node \(j\), and \(w_j(t)\) for the weight assigned to that node’s shift at maturity \(t\). A small change \(\Delta z_j\) then changes the spot rate at maturity \(t\) by approximately \(w_j(t)\Delta z_j\). For a cash flow exactly at node \(j\), its weight for that node is 1; for a cash flow at another node, its weight is 0. Between nodes, a common choice is linear interpolation, so a maturity halfway between two nodes has weight one-half on each.
The weights are part of the definition of the bump, not an extra cash flow assumption. In a usual interpolated curve, the weights for the selected nodes at a maturity sum to 1 when those nodes fully describe the curve there. A bump to one node may therefore affect nearby maturities as well as the node itself. Always use the stated bump convention; sensitivities calculated under different conventions need not agree.
With effective annual spot rates, the discount factor for a cash flow at time \(t\) is \((1+z(t))^{-t}\). Applying the chain rule gives the sensitivity to node \(j\):
For cash flows located exactly at the selected nodes, this simplifies to a sum over cash flows at node \(j\). The minus sign reflects the usual inverse relationship between a positive cash flow’s present value and its discount rate. A project may include negative cash flows, however, so the sign of its total sensitivity must be calculated rather than assumed.
Deriving and Interpreting Key-Rate Duration
The derivative gives the dollar change in value per unit change in the decimal spot rate. For small changes at several nodes, add the first-order effects:
This approximation follows from the first-order change of a differentiable function: the change in value is approximately the sum of each partial derivative multiplied by its associated rate change. The definition of key-rate duration simply rewrites each partial derivative as \(-P\operatorname{KRD}_j\). The formula uses rate changes as decimals: 10 basis points is \(0.001\), not \(0.10\).
For a positive-valued asset, a positive key-rate duration usually corresponds to a negative value change when that node’s rate rises. For a signed project value, that interpretation cannot be transferred without considering the sign of \(P\). If \(P=0\), the signed sensitivities remain meaningful, but the normalized key-rate durations are undefined.
Worked Example: Calculating Sensitivity at Two Nodes
A project pays \(\$104\) at time 1 and \(\$110.25\) at time 2. The effective annual spot rates are 4% at time 1 and 5% at time 2. Treat these maturities as separate key-rate nodes. Calculate the project value, each signed sensitivity, and each key-rate duration. The method is to discount each cash flow at its own spot rate, then differentiate with respect to its node. This avoids treating the curve as flat.
At time 1, the present value is \(104/(1.04)=\$100\). At time 2, the present value is \(110.25/(1.05)^2=110.25/1.1025=\$100\). Therefore \(P=100+100=\$200\).
Each cash flow is at its own node, so its weight for that node is 1 and its weight for the other node is 0. The time-1 sensitivity is \[ \frac{\partial P}{\partial z_1} =-\frac{1(104)}{(1.04)^2} =-\frac{100}{1.04} =-\$96.1538 \] per unit rate. The time-2 sensitivity is \[ \frac{\partial P}{\partial z_2} =-\frac{2(110.25)}{(1.05)^3} =-\frac{2(100)}{1.05} =-\$190.4762 \] per unit rate.
Normalize each signed sensitivity by \(-P\): \[ \operatorname{KRD}_1=-\frac{-96.1538}{200}=0.480769,\qquad \operatorname{KRD}_2=-\frac{-190.4762}{200}=0.952381. \] The key-rate durations are approximately 0.4808 and 0.9524 years. As a check, increasing either rate alone gives a negative first-order change in this positive-valued project, consistent with both sensitivities being negative.
Combining a Nonparallel Curve Movement
Once the signed sensitivities are known, a nonparallel scenario is handled node by node. Convert every stated movement to a decimal, multiply by its matching signed sensitivity, and add the results. Equivalently, use the key-rate durations and the project value in the first-order formula. A rate rise at one node can be partly or fully offset by a rate fall at another.
Worked Example: Estimating Value Change Under Three Node Shifts
A project has cash flows at times 1, 2, and 3. The spot rates are 3%, 5%, and 4%, respectively. The cash flows are \(\$51.50\), \(\$165.375\), and \(\$112.4864\). Treat the three maturities as separate nodes. Estimate the change in value if the rates move by \(+10\), \(-20\), and \(+15\) basis points, respectively. The method is to calculate each node’s dollar sensitivity and multiply it by that node’s rate change.
The discounted values are \(51.50/1.03=\$50\), \(165.375/(1.05)^2=165.375/1.1025=\$150\), and \(112.4864/(1.04)^3=112.4864/1.124864=\$100\). Thus \(P=50+150+100=\$300\).
Using the derivative formula at each node, the sensitivities are \[ \frac{\partial P}{\partial z_1}=-\frac{1(50)}{1.03}=-\$48.5437,\quad \frac{\partial P}{\partial z_2}=-\frac{2(150)}{1.05}=-\$285.7143,\quad \frac{\partial P}{\partial z_3}=-\frac{3(100)}{1.04}=-\$288.4615. \] The given rate changes in decimals are \(+0.001\), \(-0.002\), and \(+0.0015\). The three estimated contributions are \[ (-48.5437)(0.001)=-\$0.0485,\quad (-285.7143)(-0.002)=+\$0.5714,\quad (-288.4615)(0.0015)=-\$0.4327. \] Their sum is \(\Delta P\approx -0.0485+0.5714-0.4327=+\$0.0902\). To the nearest cent, the estimated value increase is \(\$0.09\).
As a check using normalized sensitivities, the three key-rate durations are \(48.5437/300=0.161812\), \(285.7143/300=0.952381\), and \(288.4615/300=0.961538\). Substitution in \(-300\sum_j\operatorname{KRD}_j\Delta z_j\) gives approximately \(+\$0.0902\), agreeing with the signed-sensitivity calculation. The positive net estimate results because the decrease at the second node offsets the increases at the other two nodes.
Signed Values and the Basis-Point Trap
Key-rate duration is normalized by the value \(P\), which may be negative for a signed position or project. A positive key-rate duration does not, by itself, mean that a rate rise increases value. The change is determined by \(\partial P/\partial z_j\) and the rate movement, or equivalently by \(-P\operatorname{KRD}_j\Delta z_j\).
Worked Example: A Negative Position and a 10-Basis-Point Increase
A signed position has value \(P=-\$250\) and signed sensitivity \(\partial P/\partial z_j=+\$12.50\) per unit rate. Find its key-rate duration and estimate the value change for a 10-basis-point increase at that node. The method is to preserve the signs in the definition and convert the basis-point movement before multiplying. This avoids confusing a decimal rate change with a percentage-point change.
The key-rate duration is \[ \operatorname{KRD}_j=-\frac{1}{-250}(12.50)=0.05\text{ years}. \] A 10-basis-point increase is \(10/10{,}000=0.001\) in decimal form. Therefore \[ \Delta P\approx (12.50)(0.001)=+\$0.0125. \] The value increases by approximately 1.25 cents, or \(\$0.01\) to the nearest cent. This sign is consistent with the positive signed sensitivity. The duration formula gives the same result: \(-(-250)(0.05)(0.001)=+\$0.0125\).
Practical Checks Before Using the Estimate
Key-rate analysis is useful when the question specifies which maturities move and by how much. Before calculating, check the following:
- Match each shift to its node. Do not apply a short-rate movement to a long-maturity sensitivity.
- Use the stated curve-bump convention. A cash flow between nodes may respond to more than one node’s shift.
- Convert basis points to decimals. Divide a basis-point count by 10,000 before multiplying a sensitivity.
- Keep signed sensitivities distinct from durations. Sensitivities are dollar changes per unit rate; key-rate durations divide by \(-P\).
- Recognize the approximation. The result is first order. Large shifts may produce material error because the present-value function is not linear in rates.
The method assumes fixed cash flows, a differentiable spot curve, and discounting at the stated effective annual spot rates. It does not directly cover a product whose cash flows change in response to rates, nor does it provide an exact repricing for a large curve movement. Those cases require additional modeling or repricing rather than relying on the local estimate alone.
Check Your Understanding
For each problem, use decimal rate changes and keep track of the sign of value and sensitivity.
- A \(\$216.32\) payment is due at time 2 and is discounted at a 4% effective annual spot rate. Treat time 2 as its own node. Find its present value and signed sensitivity to that node. (Answer: \(P=\$200\); \(\partial P/\partial z_2=-\$384.6154\) per unit rate.)
- A position has \(P=\$500\) and \(\partial P/\partial z_j=-\$275\) per unit rate. Find its key-rate duration. (Answer: \(0.55\) years.)
- A project has signed sensitivities of \(-\$80\), \(+\$120\), and \(-\$40\) per unit rate at three nodes. The corresponding changes are \(+10\), \(-5\), and \(+25\) basis points. Estimate the total value change. (Answer: \(-\$0.24\).)
- A project has value \(\$1{,}000\) and key-rate durations of \(0.2\), \(0.7\), and \(0.4\) years. The three nodes move by \(-15\), \(+20\), and \(+5\) basis points. Estimate the value change. (Answer: \(-\$1.30\).)
- A signed position has value \(-\$400\) and key-rate duration \(0.25\) years at one node. Estimate its value change for a 4-basis-point rise at that node. (Answer: \(+\$0.04\).)