1 votos

No se puede encontrar coincidencias en los ejemplos de quantlib

Actualmente estoy aprendiendo Quantlib usando C++ y sigo las muy buenas instrucciones aquí:

https://www.quantlib.org/slides/dima-ql-intro-2.pdf

Específicamente en la construcción de curvas de rendimiento por tramos (diapositiva 102), el código de ejemplo da la siguiente salida:

Fecha de liquidación: 15 de septiembre de 2009
Zero 3M: 0.299690 % Capitalización simple Actual/360
Zero 6M: 0.682500 % Capitalización simple Actual/360
Zero 9M: 0.997500 % Capitalización simple Actual/360

Sin embargo, al copiar el código textualmente usando el encabezado YieldCurve6.h, consistentemente obtengo lo siguiente:

Fecha de liquidación: 15 de septiembre de 2009
Zero 3M: 0.240698 % Capitalización simple Actual/360
Zero 6M: 0.240770 % Capitalización simple Actual/360
Zero 9M: 0.240844 % Capitalización simple Actual/360

¿Alguien más puede ejecutar el código de ejemplo dentro de las diapositivas y obtener resultados coincidentes?

Actualización 1

Según el comentario a continuación, he puesto el código aquí que proviene del código utilizado en las diapositivas:

https://gist.github.com/imrichardcole/2859eccb2240e4c663b64fecf77ed407

2voto

Brad Tutterow Puntos 5628

El código en la diapositiva no está estableciendo la fecha de evaluación, por lo tanto, el cálculo se realiza a partir de 2023, lo que por supuesto lo desajusta. Necesitas agregar

Settings::instance().evaluationDate() = today;

después de que defines today en el código. Esto te dará los resultados en la diapositiva.

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