1 votos

QuantLib : ¿Cómo obtener la "última" y "próxima" fecha de flujo de caja y la cantidad de la fecha de valoración en el intercambio de tasas de interés plain vanilla en Python?

¿Tenemos algún método directo para obtener la "última" y "próxima" fecha de flujo de caja y la cantidad desde la fecha de valoración en Quantlib Python usando una cantidad fija o flotante, contador de días, fecha de valoración, nocional, índice, frecuencia de pago, etc.? Por favor, sugiera.

1voto

Chris Mc Puntos 31

No creo que haya un método directo pero puedes implementar fácilmente esa lógica extendiendo la clase que quieras.

Aquí hay un ejemplo:

import QuantLib as ql

today = ql.Date().todaysDate()
calendar = ql.TARGET()
start = calendar.advance(today, 2, ql.Days)
maturity = calendar.advance(start, ql.Period('5y'))
fixedSchedule = ql.MakeSchedule(start, maturity, ql.Period('1Y'))
floatSchedule = ql.MakeSchedule(start, maturity, ql.Period('6M'))

class MyVanillaSwap(ql.VanillaSwap):
    def fixedLegCashFlows(self):
        return list(map(ql.as_coupon, self.fixedLeg()))
    def nextFixed(self):
        nextCashFlow = list(filter(lambda x: x.date() > today, self.fixedLegCashFlows()))[0]
        return (nextCashFlow.date(), nextCashFlow.amount())

swap = MyVanillaSwap(
    ql.VanillaSwap.Payer, 250e6,
    fixedSchedule, 0.0195, ql.Thirty360(),
    floatSchedule, ql.Euribor6M(), 0, ql.Actual360()
)

swap.nextFixed()

La salida sería:

(Date(12,3,2021), 4875000.000000019)

1voto

Brad Tutterow Puntos 5628

Métodos nextCashFlow y previousCashFlow se añadieron a la CashFlows en Python en una reciente solicitud de extracción (véase https://github.com/lballabio/QuantLib-SWIG/pull/255 ) y estará disponible en la versión 1.19. Una vez que se publique (o antes si puedes compilar el master actual desde GitHub), podrás escribir

CashFlows.nextCashFlow(swap.fixedLeg())

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