Estoy empezando a usar QuantLib con Python TRAGO, y tratando de construir un EUROS la curva de rendimientos.
Me enfrento a este error que, francamente, yo no lo entiendo, he mirado el código de bool IMM::isIMMdate en imm.cpp y esa fecha no debería representar un problema. Otras fechas pueden causar problemas debido a que algunos días son < 15 y en imm.cpp al parecer, un futuro cuya fecha de caducidad es < 15 no es un IMM fecha - bien, pero aún en ese caso el 19 de Dic 2016 debe ser OK, es un Euribor futuro.
this = _QuantLib.new_FuturesRateHelper(*args)
RuntimeError: December 19th, 2016 is not a valid IMM date
Aquí está mi pieza de código que desencadena el error:
print('futures: {}'.format(futures))
Se emite:
futures: {Date(19,12,2016): 100.01, Date(13,6,2016): 100.04, Date(19,9,2016): 100.035, Date(14,3,2016): 100.045, Date(14,12,2015): 100.035, Date(18,9,2017): 99.905, Date(13,3,2017): 99.985, Date(19,6,2017): 99.95}
futuresHelpers = [ql.FuturesRateHelper(ql.QuoteHandle(futures[d]),
d, months,
calendar, ql.ModifiedFollowing,
True, dayCounter,
ql.QuoteHandle(ql.SimpleQuote(0.0)))
for d in futures.keys()]