2 votos

¿Por qué debemos especificar la fecha de evaluación al utilizar la curva de rendimiento de Quantlib? Y por qué la actualización de la fecha de evaluación requiere mucho tiempo

Estaba haciendo algunas pruebas utilizando la estructura de la curva de rendimiento en quantlib principalmente: PiecewiseYieldCurve

Parece que tengo que fijar la fecha de evaluación utilizando dicha línea : Settings::instance().evaluationDate() = today; o de lo contrario obtengo resultados diferentes mi prueba es el zSpread y OAS.

Cuál es su función, si ya tenemos un calendario, y especificamos la fecha de referencia, y al utilizar la función como zSpread doy la fecha, por qué todavía tengo que fijar la fecha de evaluación. ¿Hay algún código interior que lo utilice?

La segunda pregunta es sobre el tiempo de ejecución de este código, estoy haciendo un bucle sobre un conjunto de fechas, la primera vez cuando establezco la fecha de evaluación, es rápido, pero luego cuando lo actualizo al día siguiente se vuelve muy lento como más de 5 segundos, sólo esta línea (he utilizado el modo de depuración para comprobarlo). Tal vez lo estoy haciendo mal, ¿hay otra forma de actualizarlo?

3voto

Brad Tutterow Puntos 5628

La curva a trozos utiliza la fecha de evaluación para saber en qué fecha se cotizaron los tipos de depósito/futuros/swap pasados.

En cuanto al tiempo de ejecución: cuando la fecha de evaluación cambia, envía notificaciones a todos los objetos que dependen de ella para el cálculo. Sin embargo, no he visto que esto tome tanto tiempo como reportas. Puede que tengas muchos objetos creados y guardados por ahí, o que la notificación desencadene algún cálculo, pero es difícil decirlo sin ver tu código.

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