Dow JonesS&P 500
4. Duración y convexidad: derivadas aplicadas a renta fija · Lección 8 de 14

El precio de un bono como función del rendimiento

¿Por qué y cuándo se usa esto? Todo bono (y todo fondo de renta fija) cambia de precio cuando cambian las tasas de interés. La duración es la herramienta que usa cualquier gestor de renta fija para responder, en segundos, "si la Fed sube la tasa 0.5%, ¿cuánto pierdo?" — sin tener que recalcular el precio completo del bono.

El precio de un bono es una función del rendimiento (yield) yy:

P(y)=∑t=1nC(1+y)t+F(1+y)nP(y) = \sum_{t=1}^{n}\frac{C}{(1+y)^t} + \frac{F}{(1+y)^n}

La duración modificada mide la sensibilidad del precio a cambios en yy usando la primera derivada:

Dmod=−1PdPdy⟹ΔPP≈−Dmod ΔyD_{mod} = -\frac{1}{P}\frac{dP}{dy} \qquad\Longrightarrow\qquad \frac{\Delta P}{P} \approx -D_{mod}\,\Delta y

Procedimiento paso a paso (a mano), para estimar el impacto de un cambio de tasa:

  1. Escribe P(y)P(y), el precio del bono en función del rendimiento.
  2. Deriva: dP/dydP/dy (para un cupón cero es simple; para un bono con cupones, deriva cada término de la suma por separado).
  3. Divide entre −P-P para obtener DmodD_{mod}.
  4. Multiplica DmodD_{mod} por el cambio de tasa esperado Δy\Delta y (con signo negativo) para estimar el cambio porcentual de precio.
  5. Si Δy\Delta y es grande, no te quedes solo aquí — pasa a la siguiente lección (convexidad).

Ahora aplica el procedimiento:

Problema. Para simplificar la derivada, usa un bono cupón cero a n=5n=5 años, valor facial F=$1,000F=\$1{,}000, con y=6%y=6\%: P(y)=F(1+y)−nP(y)=F(1+y)^{-n}.

  1. Calcula P(0.06)P(0.06).
  2. Deriva P(y)P(y) respecto a yy y evalúa en y=0.06y=0.06.
  3. Calcula DmodD_{mod} y estima ΔP\Delta P si yy sube a 6.5%6.5\%.
  4. Compara con el precio exacto recalculado a y=6.5%y=6.5\%.

Solución.

  1. P(0.06)=1000(1.06)−5=$747.26P(0.06) = 1000(1.06)^{-5} = \$747.26.
  2. dPdy=−nF(1+y)−(n+1)=−5(1000)(1.06)−6=−$3,525.75\dfrac{dP}{dy} = -nF(1+y)^{-(n+1)} = -5(1000)(1.06)^{-6} = -\$3{,}525.75.
  3. Dmod=−1747.26(−3525.75)=4.718D_{mod} = -\dfrac{1}{747.26}(-3525.75) = 4.718 años. Con Δy=+0.005\Delta y=+0.005: ΔP≈−4.718×747.26×0.005≈−$17.63\Delta P \approx -4.718 \times 747.26 \times 0.005 \approx -\$17.63, es decir P≈$729.63P\approx \$729.63.
  4. Precio exacto: 1000(1.065)−5=$729.881000(1.065)^{-5} = \$729.88. La aproximación lineal (duración) se equivocó por apenas $0.25\$0.25 — muy cerca, porque el cambio de tasa fue pequeño.

Practica tú (resuelve antes de mirar la respuesta). Bono cupón cero a n=10n=10 años, F=$1,000F=\$1{,}000, y=5%y=5\%. Calcula DmodD_{mod}. Pista: para un cupón cero, Dmod=n/(1+y)D_{mod}=n/(1+y). Respuesta: Dmod=10/1.05≈9.52D_{mod}=10/1.05\approx 9.52 años.

🔧 En código libre: QuantLib y FinancePy calculan duración de bonos reales (con cupones, calendarios, convenciones de día) en una línea; SymPy puede obtener la derivada simbólica automáticamente con sympy.diff en vez de hacerlo a mano.

📌 Para repasar: Dmod=−1PdPdyD_{mod}=-\frac1P\frac{dP}{dy}; ΔPP≈−DmodΔy\frac{\Delta P}{P}\approx -D_{mod}\Delta y. Para un cupón cero, Dmod=n/(1+y)D_{mod}=n/(1+y): a mayor plazo, mayor sensibilidad a las tasas.

Práctica paso a paso

Duración con derivadas

Mira cómo se resuelve completo y por qué se hace cada paso.

Un bono cupón cero (un solo pago de $1,000.00 al final) vence en 5 años y hoy rinde 6%. Si el rendimiento sube 0.5 puntos, ¿cuánto cambia su precio? Usa la derivada del precio.

  1. 1Precio actual

    Calcula el precio hoy: P = $1,000.00 × (1 + 0.06)^(−5). Redondea a 2 decimales.

    P(y)=F (1+y)−nP(y) = F\,(1+y)^{-n}
    P=$1,000.00×(1+0.06)−5=$747.26P = \$1,000.00 \times (1+0.06)^{-5} = \$747.26
  2. 2Derivada del precio

    Deriva P(y) respecto a y y evalúa en y = 0.06: dP/dy = −n·F·(1 + y)^(−(n+1)). Redondea a 2 decimales (da negativo).

    dPdy=−n F (1+y)−(n+1)\dfrac{dP}{dy} = -n\,F\,(1+y)^{-(n+1)}
    dPdy=−5×1000×(1+0.06)−6=−$3,524.80\frac{dP}{dy} = -5\times 1000\times (1+0.06)^{-6} = −\$3,524.80

    Significa: por cada 1 unidad (100 puntos) que suba y, el precio caería ~$3,524.80; para cambios pequeños se escala.

  3. 3Duración modificada

    Calcula D_mod = −(dP/dy) ÷ P. Redondea a 3 decimales (en años).

    Dmod=−1PdPdyD_{mod} = -\dfrac{1}{P}\dfrac{dP}{dy}
    Dmod=−−$3,524.80$747.26=4.717 an˜osD_{mod} = -\frac{−\$3,524.80}{\$747.26} = 4.717\ \text{años}

    Comprobación: n ÷ (1 + y) = 5 ÷ 1.06 = 4.717.

  4. 4Precio estimado con la duración

    Estima el nuevo precio: P × (1 − D_mod × Δy), con Δy = 0.005. Redondea a 2 decimales.

    Pnuevo≈P (1−Dmod Δy)P_{nuevo} \approx P\,(1 - D_{mod}\,\Delta y)
    Pnuevo≈$747.26×(1−4.717×0.005)=$729.63P_{nuevo} \approx \$747.26\times(1 - 4.717\times 0.005) = \$729.63

    Cambio estimado: -2.36%.

  5. 5Precio exacto

    Para comparar, recalcula el precio con el nuevo rendimiento (6.5%): $1,000.00 × (1 + 0.065)^(−5). Redondea a 2 decimales.

    P(y+Δy)=F (1+y+Δy)−nP(y+\Delta y) = F\,(1+y+\Delta y)^{-n}
    Pexacto=$729.88P_{exacto} = \$729.88

    La estimación con duración ($729.63) se equivoca por solo $0.25: es muy buena para cambios pequeños. Con cambios grandes hace falta la convexidad (siguiente práctica).

Los errores que más se repiten
  • Olvidar el signo menos de la derivada o de la duración modificada.

  • No restarle 1 al exponente al derivar (1 + y)^(−n).

  • Usar Δy en puntos (1.0) en vez de en decimal (0.01).

  • Multiplicar en vez de dividir al traer un pago futuro al presente.

  • Creer que la duración es exacta: es una aproximación lineal, buena solo para cambios pequeños.