Valoración y análisis de bonos en Python
Joshua Mayhew
Options Trader
Duración = % de cambio en el precio del bono por 1% de cambio en la yield
Duración en dólares = cambio en $ del precio por 1% de cambio en la yield:
Indica cuánto ganamos o perdemos ante cambios en tasas
$ \text{Duración en dólares} = \text{Duración} \times \text{Precio del bono} \times 0.01$
DV01 = cambio en $ del precio del bono por un cambio de 0,01% en la yield.
0,01% = 1% de 1% = 1 punto básico
Sigla de "dollar value of one basis point"
$ \text{DV01} = \text{Duración} \times \text{Precio del bono} \times 0.0001$
Bono con precio USD 92,28 y duración de 7,98%:
dollar_duration = 92.28 * 7.98 * 0.01
print("Dollar Duration: ", dollar_duration)
Dollar Duration: 7.36
DV01 = 92.28 * 7.98 * 0.0001
print("DV01: ", DV01)
DV01: 0.0736
portfolio_dv01 = 10000
bond_dv01 = 0.0736
hedge_quantity = portfolio_dv01 / bond_dv01
print("Number of bonds to sell: ", hedge_quantity)
Number of bonds to sell: 135,869
bond_price = 92.28
hedge_amount = hedge_quantity * bond_price
print("Dollar amount to sell: USD", hedge_amount)
Dollar amount to sell: USD 12,538,043
$ \text{Cambio de precio} = -100 \times \text{Duración en dólares} \times \Delta y$
Cambio estimado del precio si las tasas bajan 3%:
-100 * 7.36 * -0.03
22.08
Cambio real al reprociar el bono:
-npf.pv(rate=0.02, nper=10, pmt=4, fv=100) - 92.28
25.69
Valoración y análisis de bonos en Python