2 votos

Convención Actual360 en el cronograma de QuantLib

Estoy tratando de hacer un cronograma de pagos para diferentes bonos en quantlib. Por ejemplo, hice un cronograma como este:

schedule = ql.Schedule(fecha_efectiva, fecha_vencimiento, ql.Periodo(ql.Semestral),
ql.India(), ql.SiguienteModificado, ql.Actual365Fixed.Estandar, ql.GeneracionDeFechas.HaciaAtras, False)

Sin embargo, cuando intento hacer otro cronograma con la convención de días actual/360, no puedo encontrar ningún método en la clase ql.Actual360 (como Standard en ql.Actual365Fixed) que funcione. Solo intenté este código:

schedule = ql.Schedule(fecha_efectiva, fecha_vencimiento, ql.Periodo(ql.Trimestral),
ql.India(), ql.SiguienteModificado, ql.Actual360(), ql.GeneracionDeFechas.HaciaAtras, False)

con solo ql.Actual360() en su lugar. Recibí el siguiente error:

TypeError: Cantidad incorrecta o tipo de argumentos para la función sobrecargada 'new_Schedule'.

¿Hay alguna manera de construir un cronograma con la convención Actual360 en quantlib?

1voto

Brad Tutterow Puntos 5628

La convención de conteo de días no entra en la construcción del calendario, lo que te da un conjunto de fechas de cupón. Solo importa después de que se construye el calendario, y te da una medida del tiempo entre dos fechas en el calendario.

Puedes tener el mismo calendario, pero puedes calcular el tiempo entre sus fechas según diferentes convenciones de conteo de días.

El hecho de que el conteo de días parezca ser utilizado en el primer constructor es engañoso. ql.Actual365Fixed.Standard es un proxy de Python para una enumeración, y en realidad es el número 0. En ese lugar, el constructor Schedule espera una convención de día hábil, otra enumeración, y tu 0 se interpreta como ql.Following. Me temo que en absoluto estás utilizando act/365.

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