Estoy tratando de hacer coincidir el interés devengado, el precio limpio, el precio sucio y la duración de los datos subyacentes de iBoxx. He llegado casi a igualar perfectamente sus medidas pero me he encontrado con un caso límite en el que no estoy seguro de cómo abordarlo mejor.
Tengo un bono emitido el 2017-11-09 con una fecha de inicio de devengo de intereses el 2017-11-14 y una fecha de vencimiento el 2024-11-15. Cuando creo el objeto Schedule como se muestra a continuación:
# Crear schedule
Schedule = ql.Schedule(FechaInicio,
FechaVencimiento,
ql.Period(FrecuenciaCupon),
Calendario,
ql.Unadjusted,
ql.ModifiedFollowing,
ql.DateGeneration.Backward,
False)
Obtengo la siguiente salida cuando llamo a
list(Schedule)
Obtengo
[Date(14,11,2017), Date(15,11,2017), Date(15,5,2018), Date(15,11,2018), Date(15,5,2019), Date(15,11,2019), Date(15,5,2020), Date(15,11,2020), Date(15,5,2021), Date(15,11,2021), Date(15,5,2022), Date(15,11,2022), Date(15,5,2023), Date(15,11,2023), Date(15,5,2024), Date(15,11,2024)]
Como se puede ver en las primeras dos entradas, tenemos la fecha de inicio de devengo de intereses y luego una fecha de cupón al día siguiente (en la fecha semestral asociada con la fecha de vencimiento).
Mi pregunta es: ¿debería resetearse el devengo de intereses el 2017-11-15? Para referencia el cusip es 911312BL9. Encontré la siguiente información a través de FactSet que la fecha inicial de cupón es de hecho el 2018-05-15. Por lo tanto, parece que la forma en que he construido mi Schedule es incorrecta. Sin embargo, no estoy seguro de cómo ajustar mi código en Python. La diferencia entre mi salida y la de iBoxx desaparece después del 2018-05-15 lo que indica que están contabilizando correctamente el hecho de que el devengo de intereses no se reinicia el 2017-11-15.