Yield, duration y convexity: el toolkit matematico de renta fija
Vas a poder calcular yield, duration y convexity de cualquier bono con papel y lapiz (o calculadora). Y vas a entender por que un bono de 30Y cae 15% cuando la tasa sube 100bps -- y por que el mismo bono cae solo 13.5% si calculas con convexity.
Yield to Maturity (YTM) -- la TIR del bono
El YTM es la tasa de descuento que iguala el precio actual del bono al valor presente de TODOS sus cashflows futuros.
Price = sum_{t=1}^{N} (cf_t / (1+y)^t)
donde:
cf_t= cashflow en el periodo t (cupon + principal en t=N).y= YTM (lo que queremos despejar).
YTM asume:
- Mantenes el bono hasta el vencimiento.
- Reinviertes los cupones a la misma tasa y.
- No hay default.
Ejemplo concreto: GD30 (Global AR 2030)
Suponer:
- Precio actual: 50 (% del nominal).
- Cupon promedio anualizado: 1.0%.
- Pago semestral: 0.5% cada 6 meses.
- 5 años hasta vencimiento = 10 cupones de 0.5 + principal 100 al final.
YTM (semestral): la tasa y tal que 50 = 0.5/(1+y) + 0.5/(1+y)^2 + ... + (100+0.5)/(1+y)^10
Solving iterativamente: y ≈ 8.5% semestral, anualizado ≈ 17%.
Interpretacion: si todo sale bien (no default), tu retorno anualizado es 17%. El mercado esta pricing GD30 con yield 17% porque descuenta probabilidad significativa de default/restructuracion.
Compara con Treasury US 10Y a 4.2%: el spread Argentina vs US es ~13% puntos (1300 bps), reflejando el riesgo soberano AR.
Modified Duration -- sensibilidad lineal del precio a tasa
La modified duration mide cuanto cambia el precio del bono cuando la tasa cambia 1pp (100 basis points):
ModDur ≈ - (1/P) * dP/dy
En la practica, para un bono con cupones periodicos:
ModDur = MacaulayDuration / (1 + y/m)
donde m es la frecuencia de cupon (2 para semestral).
Ejemplo: T-Bond US 30Y a 4.2% YTM
- Macaulay duration ≈ 18 años.
- Modified duration ≈ 18 / 1.021 ≈ 17.6.
Si la tasa US 30Y sube de 4.2% a 5.2% (+100bps):
- dP/P ≈ -ModDur * dy = -17.6 * 0.01 = -17.6%.
Es decir, el bono cae ~17.6% en precio.
Ejemplo: T-Bill US 13W (3 meses)
- Duration = 0.25 años.
- Si tasa sube 100bps: dP/P ≈ -0.25%.
Comparacion practica: en tu cartera, USD 10k en T-Bond 30Y y USD 10k en T-Bill son DOS posiciones radicalmente distintas en riesgo de tasa. T-Bond es 70 veces mas sensible.
Convexity -- correccion no-lineal
La aproximacion lineal de modified duration es buena para movimientos chicos (10-50bps) pero falla en movimientos grandes (200-500bps).
La realidad es que la relacion precio-yield es curva (no lineal). Eso se mide con convexity:
Convexity = (1/P) * d^2P/dy^2
Mejor aproximacion de cambio de precio:
dP/P ≈ -ModDur * dy + 0.5 * Convexity * (dy)^2
Ejemplo: T-Bond 30Y con convexity ≈ 350
Si tasa sube 100bps (dy = 0.01):
- Solo duration: dP/P = -17.6 * 0.01 = -17.6%.
- Con convexity: dP/P = -17.6 * 0.01 + 0.5 * 350 * (0.01)^2 = -17.6% + 1.75% = -15.85%.
La convexity te "salva" 175bps en ese movimiento. En movimientos a tu favor (tasas caen), la convexity te REGALA mas precio del que predice duration. La convexity siempre es positiva para bonos vanilla.
Reglas de duration
- Mayor maturity = mayor duration: bond 30Y > 10Y > 2Y > 3M.
- Mayor cupon = menor duration: cupones altos te devuelven plata antes (PV-weighted).
- Mayor YTM = menor duration: cuando la tasa es alta, los cupones futuros valen menos en PV.
- Zero-coupon: duration = maturity: sin cupones, todo el PV esta en el final.
Inmunizacion
Inmunizar una cartera de renta fija significa matchear duration total con tu horizonte de inversion. Si tu horizonte es 5 años, construis cartera con duration ~5.
Resultado: aunque tasas suban y los precios caigan, los cupones se reinvierten a tasas mas altas. Al final del horizonte, el efecto se compensa.
Ejemplo institucional: una compania de seguros sabe que va a pagar USD 10M de claims en 7 años. Construye cartera de bonos con duration exactamente 7. Cambios en tasas no afectan su capacidad de pagar.
Calculadora practica de bonos
Pasos para calcular YTM en Excel/calculadora:
- Lista todos los cashflows (cupones + principal final).
- Lista los timings (en años o periodos).
- Goal seek: encuentra y tal que sum(cf/(1+y)^t) = precio.
En Excel: =YIELD(settlement, maturity, rate, price, redemption, frequency).
En Python:
from scipy.optimize import brentq
def npv(y, cashflows, times):
return sum(cf / (1+y)**t for cf, t in zip(cashflows, times))
ytm = brentq(lambda y: npv(y, cashflows, times) - price, 0.001, 1.0)
Aplicacion practica: comparar 2 bonos
Imagina dos bonos:
- Bono A: maturity 3Y, cupon 5%, YTM 6%, precio ~97.3.
- Bono B: maturity 10Y, cupon 3%, YTM 5%, precio ~84.5.
Cual prefieres?
Depende:
- Si crees que tasas van a SUBIR: prefieres A (menor duration, menos sensible).
- Si crees que tasas van a CAER: prefieres B (mayor duration, mas sensible al alza de precio).
- Para income corriente: A da 5% cupon, B da 3%.
- Para reinvertir capital: A te devuelve plata a 3Y para reinvertir a la tasa de ese momento (riesgo de reinversion).
No hay respuesta universal -- depende de tu vision macro + horizonte.
Quiz mental
Intenta responder antes de abrir cada respuesta.
PREGUNTA DE COMPRENSIÓN
Si el T-Bond 30Y tiene Macaulay duration de 18 y la tasa cae 50bps, cuanto sube aproximadamente el precio?
↳ RESPUESTA
Sube ~8.8%. Pasamos a modified duration: ModDur = 18 / (1 + 0.042/2) ~ 17.6. Luego dP/P ~ -ModDur x dy = -17.6 x (-0.005) = +8.8%. (Si usaras la Macaulay cruda, 18 x 0.005 ~ +9%.) Como las tasas caen, el precio sube; y por la convexity positiva, en la realidad subiria un poco mas que esa aproximacion lineal.
PREGUNTA DE COMPRENSIÓN
Por que zero-coupon bonds tienen duration igual a la maturity?
↳ RESPUESTA
Porque no hay cupones intermedios: todo el valor presente esta en un unico flujo, al vencimiento. La duration de Macaulay es el promedio de los tiempos de los flujos ponderado por su PV; con un solo flujo en t = maturity, ese promedio es exactamente la maturity. Por eso un zero es el instrumento con mayor sensibilidad a tasa por dolar invertido para un plazo dado.
PREGUNTA DE COMPRENSIÓN
Si dos bonos tienen mismo YTM pero uno tiene mayor convexity, cual prefieres y por que?
↳ RESPUESTA
El de mayor convexity. Para bonos vanilla la convexity es positiva: te da mas precio cuando las tasas caen y te hace caer menos cuando suben -- una asimetria a tu favor. A igual yield (y duration), mayor convexity es practicamente un free lunch. En el mercado real esa ventaja suele "pagarse" con un yield algo menor; aca, como el YTM es el mismo, es ventaja pura.
Referencias y lecturas adicionales
- CFA Investment Foundations, Module 5 + Refresher Readings Fixed Income.
- Hull, "Options, Futures and Other Derivatives" capitulo bond math.
- Fabozzi, "Bond Markets, Analysis and Strategies" -- referencia industria.
- Damodaran NYU, "Bond Valuation" lectures.
- FRED, yield curve historic data + bond price calculators.
- BIS, "Term structure of interest rates" papers.
- Bonistas.com -- calculadora YTM AR especifica.