He empezado a trabajar en el modelo CDS usando Quantlib y como punto de partida, he utilizado el código proporcionado en los ejemplos de GitHub Quantlib/Python con modificaciones en el código inicial como se indica al final y tengo la siguiente consulta:
Cuando se utiliza la tasa de recuperación como 0,60, se obtiene un error como "RuntimeError: 1ª iteración: fallo en el 3er instrumento vivo, pilar 21 de junio de 2021, vencimiento 21 de junio de 2021, fecha de referencia 22 de marzo de 2019: root no entre corchetes: f[2,22045e-16,1] -> [1,320123e-01,1,328986e-02]" pero no he observado ningún error al valorar en la calculadora BBG. También la tasa de recuperación de 0,4 proporciona un valor perfectamente correcto. ¿Por qué esta discrepancia con el BBG?
todaysDate = Date(22,March,2019);
todaysDate = calendar.adjust(todaysDate)
Settings.instance().evaluationDate = todaysDate
risk_free_rate = YieldTermStructureHandle(
FlatForward(todaysDate, 0.01,
Actual365Fixed()
)
)
recovery_rate = 0.60
quoted_spreads = [ 0.1214, 0.1769, 0.2471, 0.2816]
tenors = [ Period(6, Months), Period(1, Years),
Period(2, Years),Period(3, Years)]