3 votos

Quantlib: ¿Es importante vincular la curva a la curva de descuento en swaps simples?

A continuación se muestran los pasos que seguí para valorar unos swaps. Solo quiero saber si he incluido los pasos clave en las definiciones anteriores. En algunos ejemplos encontré que también estamos agregando indexcurve.linkTo(). Creo que la vinculación no es necesaria ya que mi estructura de términos de rendimiento ya está vinculada a yts_discount. Por favor sugiera.

#tasas como sigue
tasas = Fecha_Vencimiento   Tasa_Cero
       8/25/2022    0.000556
       8/31/2022    0.000580
       9/7/2022     0.000569
       9/14/2022    0.000573
       9/23/2022    0.000577

def ConstruirCurva(clave_valor):
   dc = ql.ActualActual()
   crv = ql.ZeroCurve(
   fechas, tasas, dc, ql.NullCalendar(), ql.Linear(), ql.Compounded, ql.Annual)
   crv.enableExtrapolation()
   desplazada = ql.ZeroSpreadedTermStructure(ql.YieldTermStructureHandle(crv),ql.QuoteHandle(desplazamiento))
   return ql.YieldTermStructureHandle(desplazada)

def ConstruirSwap():
    yts = curvas.get(floatindex)
    yts_descuento = curvas.get(disc_curve)
    fixingCalendar = index.fixingCalendar()
    fixedSchedule = ql.MakeSchedule(effectiveDate, terminationDate, fixed_leg_tenor)
    floatSchedule = ql.MakeSchedule(effectiveDate, terminationDate, float_leg_tenor,
                                             convention=ql.ModifiedFollowing, endOfMonth=True
                                              ,calendar=fixingCalendar)

    swap = ql.VanillaSwap(
    ql.VanillaSwap.Receptor, nominal,
    fixedSchedule, fixedRate, fixed_leg_daycount,floatSchedule, index, spread, float_leg_daycount)

    engine = ql.DiscountingSwapEngine(yts_descuento)
    swap.setPricingEngine(engine)
    return swap, tenor_original

#dataframe de unos pocos swaps
for idx, row in df.iterrows():
    swap, tenor_original = ConstruirSwap()
    vn = swap.VN()

1voto

Brad Tutterow Puntos 5628

Hay dos curvas diferentes involucradas en la fijación de precios de intercambio: la curva de pronóstico que el índice utilizará para pronosticar futuros cupones y la curva de descuento que se utilizará para descontar los montos de los cupones. En QuantLib, la curva de descuento se pasa al motor; eso es yts_discount en tu código. La curva de pronóstico se pasa al índice. Tu código no muestra cómo se inicializa index, así que no puedo comentar sobre eso, pero el identificador de la curva debería haber sido pasado a su constructor.

Si estás preguntando específicamente sobre el método linkTo, ese se utiliza en caso de que quieras cambiar a una curva diferente, por ejemplo porque quieres hacer un cálculo de sensibilidad. Si tu identificador ya fue creado con una curva (como haces en CurveBuilding aquí) y no deseas cambiarlo, entonces linkTo no es necesario.

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