Swaps son derivados no valores, y no tienen costo intrínseco de carry, en un sentido de precios. No implican un desembolso de efectivo para la compra, por lo que no requieren financiamiento.
Otra forma de considerarlo es si transaccionas un IRS de un solo período a precio intermedio, y el mercado evoluciona exactamente como se pronosticó inicialmente sin variación, entonces nunca se intercambiará ninguna cantidad de dinero.
Un swap compensado está colateralizado, por lo que incluso si el swap no es de un solo período y tiene flujos de efectivo intermedios, estos se publicarían de inmediato al titular del activo, por lo que el swap está autofinanciado. Nuevamente, si el mercado evolucionara exactamente como se pronosticó al final, ninguna de las partes habría ganado ni perdido dinero.
Los swaps no colateralizados tienen un costo de carry integrado como la diferencia entre la tasa de financiación y la tasa de garantía, pero esto generalmente se denomina como uno de los componentes de XVA, es decir, FVA (ajuste de valoración por financiamiento), generalmente no se llama costo de carry.
(También pueden existir costos de carry exógenos en términos comerciales como capital regulatorio, margen inicial, tarifas de compensación, tarifas contables, etc., pero no están directamente relacionados con la mecánica de precios en un sentido tradicional, y también pueden incluirse en otro tipo de XVA)
Roll-down es una métrica utilizada para afirmar la ganancia/pérdida de valor en un instrumento si la curva transita bajo un escenario de movimiento de mercado específico. Ese escenario es que "después de un período de tiempo, la curva aparecerá exactamente igual que lo hace hoy".
En este caso, el instrumento subyacente permanece igual y el mecanismo es volver a valorar el instrumento utilizando una curva transformada. Considera una curva y un irs:
from rateslib import *
curve = Curve(
nodes={
dt(2023, 8, 2): 1.0, # <- Supone que hoy es 2 de agosto del '23 para el VP.
dt(2023, 9, 2): 0.998,
dt(2023, 12, 2): 0.99,
dt(2024, 3, 2): 0.98,
dt(2024, 6, 2): 0.97,
dt(2025, 6, 2): 0.93,
},
calendar="nyc",
convention="act360",
)
irs = IRS(
efectiva=dt(2023, 5, 15),
terminación=dt(2024, 5, 15),
nocional=-100e6, # <- Recibido Fijo en 100m USD
frecuencia="Q",
frecuencia_leg2="M",
especificación="usd_irs",
fijaciones_leg2=defaults.fixings.sofr, # <- Fijaciones históricas hasta 1 de agosto del '23
tasa_fija=3.0262739134324823, # <- Este es el PUNTO MEDIO: el VP es cero
curvas=curva,
)
assert abs(irs.vp()) < 1e-9
Ahora aplicamos la transformación de la curva y volvemos a valorar el instrumento. Esto da un monto de roll-down para 3 meses.
curva_enrollada = curva.roll("3m")
curva.graficar("1b", comparadores=[curva_enrollada], etiquetas=["original", "roll de 3m"])
Calcula las nuevas métricas del irs usando la curva enrollada:
irs.vp(curvas=curva_enrollada)
427859.4537451416
irs.tasa(curvas=curva_enrollada)
2.600482092636524
irs.delta_analítico(curva=curva)
-10023.28904450776
Este monto de VP ganado bajo el supuesto de roll down, 427,859 USD, puede expresarse en puntos básicos, aunque hay formas subjetivas de determinar este cálculo. El monto en dólares es definitivo para el cálculo de roll-down de este IRS. Se aproxima sugiriendo que la tasa fija de la operación ha cambiado de 3.0262 a 2.6005 (-42.57 puntos básicos) bajo un delta de tasa fija analítica de -10,023 USD = 426,679 USD (cambio positivo, que es descuento / gamma).