En mi aprendizaje de los bonos, estoy escribiendo un programa informático, uno de los cuales calculará el vencimiento de un bono dada la curva de rendimiento como función y una duración solicitada. La parte complicada es que la duración depende de los tipos de interés, y el tipo de interés depende (a través de la curva de rendimiento) del vencimiento, que depende de la duración. Esta parte funciona bien para duraciones y tipos de interés razonables, aunque con cierta lentitud, simplemente iterando entre el cálculo del vencimiento y el cálculo de los tipos de interés, hasta que se llega a una solución.
Sin embargo, se supone que otra función genera una cartera de dichos bonos llamando a la función anterior, dada una duración media y una desviación estándar de la duración de los bonos en la cartera. Ahora el paradigma se rompe, ya que el generador solicitará ocasionalmente duraciones superiores a la duración máxima del propio bono. La solución más sencilla para ambas funciones es calcular una duración máxima aproximada y evitar las solicitudes de duración que superen ese límite.
Mi comprensión de la duración máxima es algo limitada, excepto para decir que la relación duración-madurez tiene forma de U invertida y generalmente no se presta a soluciones de forma cerrada. Sólo he podido localizar un documento sobre el tema que es sólo para bonos por debajo del par. Las aproximaciones brutas están bien; sólo necesito estar en el punto de mira para esta aplicación. Pero las soluciones de forma cerrada son esenciales, ya que esta comprobación se ejecutará en cada bono creado (y si simulo puedo crear miles o más con el tiempo).