Custom Sensitivity Based Risk Measures

Overview

Sensitivity Base Risk Measures are measures of risk that ask what the effect of a small change in the market has in the value of an asset or portfolio of assets. This can be useful because

  • Large changes can be somewhat extrapolated from the small change
  • The underlying risk factors can be effectively hedged by trading the portfolio so that the change in value becomes zero for a change in the underlying paramter.

Generic Outline

A
{% value = v(x_1, x_2, ..., x_n) %}
{% \Delta value = v(x_1, ... x_i + \delta_i ..., x_n) - v(x_1, x_2, ..., x_n) %}

Fixed Income Risk

{% value = val(contract, curve) %}
where the curve is function of some parameters
{% curve = curve(x_1, x_2, ...) %}
Here, the parameters could be such things as

  • Yield at various points along the curve
  • Any of the Nelson Siegel Parameters
  • Rate volatility

Then one could calculate
{% sensitivity = val(contract, curve(x_1, x_2, ... x_i + \delta_i , ...)) - \\ val(contract, curve(x_1, x_2, ..., x_i, ...)) %}
Note, you need not increment each input separately. For instance, if there are a set of inputs representing yields at different points along the curve, you can add a delta to each point, with the result being a level shift up of the curve.

Using QuantLib