4 votos

Quantlib FuturesRateHelper desencadena no válido IMM fecha de error

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()]

0voto

Ralph Willgoss Puntos 3452

Creo que la verificación es correcta.

De wikipeida: https://en.wikipedia.org/wiki/IMM_dates

La IMM fechas son las cuatro trimestral de las fechas de cada año, que la mayoría de los contratos de futuro y contratos de opción de uso como su fecha de vencimiento o fecha de terminación. Las fechas son el tercer miércoles de Marzo, junio, septiembre y diciembre (es decir, entre el 15 y el 21, lo que tal día es el miércoles), y el IMM de stands para la organización Internacional del Mercado Monetario.

Así que usted tiene un par de opciones:

1) utilizar una fecha correcta

2) modificar el método de manera que siempre devuelve true, reconstruir quantlib, vuelva a ejecutar el trago para construir los enlaces python y ir a la ciudad.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X