En la terminología tradicional, PV01 es el 'valor presente de un punto base' y DV01 es el 'valor en dólares de un punto base', que técnicamente sólo difieren en distintas monedas. También he visto considerar que DV01 es el 'valor delta de un punto base'. Bloomberg y otros han decidido tergiversar la terminología para diferentes tipos de bumps en la curva, así que no le daría demasiada importancia al nombre. En cualquier caso...
PV01 Analítico
Lo que me gusta llamar PV01 analítico es cuando cambias el valor del cupón fijo por 1bp y evalúas el impacto en el 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{pierna fija analítica}}$$
donde $d$ es la fracción del día, $v$ son los factores de descuento, y $r$ son las tasas flotantes. La notación aquí es un poco confusa porque los i y los j podrían referirse a calendarios de frecuencias diferentes. Si la pierna fija es anual y la pierna flotante es semestral, entonces $v_{i=1}$ es igual a $v_{j=2}$, por ejemplo.
Observa que esta es una medida útil para los dealers que calculan el PnL exacto generado al aplicar un spread (o margen) a una tasa fija lejos de la tasa de mercado.
PV01 / Delta del Portafolio Real / (también puede llamarse DV01)
Si realizas un IRS y quieres conocer el riesgo (lineal) si el mercado se mueve realmente, este es un cálculo ligeramente diferente. Arriba, los factores de descuento no cambiaron cuando la tasa fija varió, pero en el escenario 'real' la tasa fija está, bueno, fija y las tasas flotantes se mueven, así que también debes tenerlo en cuenta. Si consideraras lo que sucede si cada tasa pronosticada $r_j$ cambia en paralelo, podrías derivar la expresión:
$$ \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 )$$
En general, una aproximación para $\frac{\partial v_i}{\partial r_j} \approx -d_j v_i$ si la tasa $r_j$ impacta en $v_i$ (es decir, si la tasa está antes de $v_i$) y cero en caso contrario. Si los calendarios tienen la misma frecuencia ($n_i=n_j$) podemos ignorar la confusión i, j y decir,
$$ \frac{\partial P}{\partial r} \approx \underbrace{- \sum_{j=1}^{n_j} d_j v_j}_{\text{pierna flotante analítica}} +\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{efecto de curvatura y flujos de caja}}$$
Si la curva es plana, es decir, $r_j = R \forall j$, entonces el componente de curvatura es cero.
Cálculo Numérico
El método que utiliza Bloomberg es intentar estimar el PV01 real mencionado arriba, utilizando un método de diferencia finita central para derivarlo. Bloomberg sabe que los swaps tienen convexidad, así que la teoría es la siguiente:
Supongamos que el PnL en un swap es casi su pnl lineal más su convexidad:
$$ \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$$
Luego, al aumentar en +1bp y -1bp, dividir por 2 elimina el elemento de convexidad y aproxima muy precisamente el PV01 real:
$$ \frac{\Delta P(+1) - \Delta P(-1)}{2} = \frac{\partial P}{\partial r} $$
Otro método común de cálculo es usar una única curva modificada por, digamos, $\frac{1}{100}$ de un bp, y escalar el resultado por 100. Aunque menos preciso, ya que la convexidad se margina y no se elimina, el cálculo es el doble de rápido, por ejemplo:
$$ 100 \Delta P(+\frac{1}{100}) = \frac{\partial P}{\partial r} + \frac{1}{200} \frac{\partial^2 P}{\partial r^2} $$
Enlace Externo
Puedes ver un ejemplo de rateslib
calculando lo que denomina delta
y analytic_delta
para replicar los valores de Bloomberg DV01
y PV01
respectivamente, https://rateslib.readthedocs.io/en/stable/z_swpm.html