¿Cómo calculo una duración modificada usando Matlab?

Aproximacion a la estimacion de TIRs futuras (Abril 2024)

Aproximacion a la estimacion de TIRs futuras (Abril 2024)
¿Cómo calculo una duración modificada usando Matlab?
Anonim
a:

La duración modificada mide la sensibilidad de los valores de renta fija a los cambios en las tasas de interés. Para calcular la duración modificada en Matlab, especifique la tasa de cupón del bono, la fecha de liquidación, la fecha de vencimiento y el rendimiento al vencimiento sobre una base semestral. La función que calcula la duración modificada en Matlab para un rendimiento dado se denomina "bnddury" y el comando es "result = bnddury (Rendimiento, tasa de comisión, liquidación, vencimiento)". Si desea calcular la duración modificada en función del precio actual del bono en lugar del rendimiento al vencimiento, hágalo utilizando la función "bnddurp" y ejecutando el comando "result = bnddurp (Price, CouponRate, Settle, Maturity)". El resultado en ambos casos es una matriz con tres arreglos que contienen duración modificada, duración de Macaulay en años y duración de Macaulay semestral.

La duración modificada es un concepto que establece que los precios de los bonos y las tasas de interés están inversamente relacionados. La duración modificada se calcula como duración de Macaulay / (1 + rendimiento / n), donde n es la frecuencia de composición por año. La duración de Macaulay representa un tiempo promedio ponderado hasta el pago del bono y se mide en años. La duración modificada mide la sensibilidad del precio del bono a los cambios en los rendimientos y se mide en porcentaje.

Considere un inversionista interesado en calcular una duración modificada para su bono con una fecha de liquidación del 2 de agosto de 1999, fecha de vencimiento del 15 de junio de 2004, una tasa de cupón de 5. 5%, dos pagos de cupones por año y días contados a partir de real / real. El inversor está interesado en conocer la duración modificada cuando el rendimiento del mercado para este bono es del 4%.

Primero, el inversionista necesita crear variables para rendimiento con el comando "Rendimiento = 0. 04", tasa de cupón con el comando "Remuneración = 0. 055", fecha de liquidación con el comando "Reponer = '02 -Agosto 1999 '" , fecha de vencimiento con el comando "Vencimiento = '15 -Jun-2004 '", frecuencia de pago de cupón con el comando "Periodo = 2" y base de días contados con el comando "Base = 0". Tenga en cuenta que las variables para las fechas de liquidación y vencimiento deben ser números de fecha de serie o cadenas de fecha.

El comando "result = bnddury (Yield, CouponRate, Settle, Maturity)" produce un resultado de matriz que contiene tres números, que representan una duración modificada de 4. 24, duración de Macaulay sobre una base anual de 4. 33 y la duración de Macaulay sobre una base semestral de 8. 66.

Si el inversor no tiene un rendimiento hasta el vencimiento, pero tiene un precio del bono, en función del cual le gustaría calcular la duración modificada, puede hacerlo usando la función "bnddurp". Supongamos que el mismo bono tiene un precio de 106. El inversor debe especificar una variable de precio con el comando "Precio = 106".El comando "result = bnddurp (Price, CouponRate, Settle, Maturity)" produce resultados similares a los de la función "bnddury".

El inversor también puede indicar diferentes días contados al especificar diferentes valores numéricos de 0 a 13 para la variable "Bases". Por ejemplo, el valor 1 representa 30/360 base, 2 para la base real / 360 y 3 representa la base real / 365. Además, el inversor puede especificar otros parámetros, como la fecha del primer cupón, la fecha del último cupón y la regla del mes final.