Bloomberg defines PV01 as PV of adding 1 bps on a fixed coupon , while 'DV01' as (down - up principal) / 2 * bps shift. The resulting PVs are generally very close but could there be a case where they are significantly different? Also, with the curve shift, do we shift zero rates?


1 Answer 1


In traditional terminology PV01 is 'present value of a basis point' and DV01 is 'dollar value of a basis point' which might technically only different in different currencies. I have also seen it considered that DV01 is 'delta value of a basis point'. Bloomberg / and others has decided to bastardise the terminology for different types of curve bumps so I wouldn't place too much attachment to the name. Regardless..

Analytic PV01

What I like to call analytic PV01 is when you change the value of the fixed coupon by 1bp and evaluate the impact on the IRS:

$$ P = R \sum_{i=1}^{n_i} d_i v_i - \sum_{j=1}^{n_j} r_j d_j v_j $$ $$ \frac{\partial P}{\partial R} = \underbrace{\sum_{i=1}^{n_i} d_i v_i }_{\text{analytic fixed leg}}$$

where $d$ is day fraction, $v$ the discount factors, and $r$ the floating rates. The notation here is a bit mangled because the i's and the j's might refer to schedules of different frequencies. If fixed leg is annual and float leg is semi-annual then $v_{i=1}$ is equal to $v_{j=2}$, for example.

Note that this is a useful measure for dealers calculating the exact PnL generated by applying a spread (or margin) to a fixed rate away from the mid-market rate.

Real Portfolio PV01 / Delta / (might be called DV01)

If you transact an IRS an you want to know the (linear) risk if the market actually moves this is a slightly different calculation. Above, the discount factors did not change when the fixed rate was varied, but in the 'real' scenario the fixed rate is, well, fixed and floating rates move, so will so you also have to consider that. If you were to consider what happens if every forecast rate $r_j$ changed in parallel then you might derive the expression:

$$ \frac{\partial P}{\partial r} = \sum_{j=1}^{n_j} \frac{\partial P}{\partial r_j} = - \sum_{j=1}^{n_j} d_j v_j + \sum_{j=1}^{n_j} \left ( R \sum_{i=1}^{n_i} d_i \frac{\partial v_i}{\partial r_j} - \sum_{k=1}^{n_j} r_k d_k \frac{\partial v_k}{\partial r_j} \right )$$

Generally speaking an approximation for $\frac{\partial v_i}{\partial r_j} \approx -d_j v_i$ if the rate $r_j$ impacts $v_i$ (i.e. if the rate is before $v_i$) and zero otherwise. If the schedules were the same frequency ($n_i=n_j$) we can ignore the i,j mangling and state,

$$ \frac{\partial P}{\partial r} \approx \underbrace{- \sum_{j=1}^{n_j} d_j v_j}_{\text{analytic float leg}} +\underbrace{ \sum_{j=1}^{n_j} \left ( -R \sum_{i=j}^{n_i} d_i d_j v_i + \sum_{k=j}^{n_j} r_k d_k d_j v_k \right )}_{\text{effect of curvature and cashflows}}$$

If the curve is flat, i.e. $r_j = R \forall j$ then the curvature component is zero.

Numerical Calculation

The method Bloomberg uses is to try and estimate the above real PV01, by using a central finite difference method to derive it. Bloomberg knows swaps have convexity so the theory is as follows.

Assume the PnL on a swap is almost its linear pnl plus its convexity:

$$ \Delta P(\Delta r) \approx \frac{\partial P}{\partial r} \Delta r + \frac{1}{2} \frac{\partial^2 P}{\partial r^2} \Delta r^2$$

Then bumping by +1bp and -1bp, dividing by 2 eliminates the convexity element and very accurately approximates the real PV01:

$$ \frac{\Delta P(+1) - \Delta P(-1)}{2} = \frac{\partial P}{\partial r} $$

Another common method of calculation is to use a single bumped curve by, say, $\frac{1}{100}$th of a bp, and scale the result by 100. Although less accurate, since the convexity is marginalised and not eliminated, the calculation is twice as fast, for example:

$$ 100 \Delta P(+\frac{1}{100}) = \frac{\partial P}{\partial r} + \frac{1}{200} \frac{\partial^2 P}{\partial r^2} $$

External Link

You can see an example of rateslib calculating what it terms delta and analytic_delta to replicate the Bloomberg values DV01 and PV01 respectively, https://rateslib.readthedocs.io/en/stable/z_swpm.html

  • $\begingroup$ Is $\frac{\partial v_i}{\partial r_j} = d_j v_i$ in fact exact for continuously compounded forwards? Thank you $\endgroup$
    – Confounded
    Feb 12, 2021 at 20:31
  • $\begingroup$ if $v_i = e^{-\sum_{k=1}^{i}d_k r_k}$ where $r_k$ is a continuously compounded rate then yes it is exact. $\endgroup$
    – Attack68
    Feb 13, 2021 at 8:37
  • $\begingroup$ but note that definition would change the PV of the swap since a floating leg cashflow does not reference continuously compounded rates $\endgroup$
    – Attack68
    Mar 4, 2021 at 22:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.