1 votos

Convenciones de comilla de LIBOR y precios de swaps

Dado que las comillas de LIBOR tienen una fecha de valor T+2, al considerar un simple IRS, ¿qué fechas se consideran al fijar la tasa flotante? Digamos que la pata flotante es Euribor 3M y la próxima fecha de fijación es hoy (02/12/2020), ¿se establece la tasa fija en la tasa establecida hoy (que es esencialmente una tasa a 2 días en el futuro)?

La razón por la que hago esta pregunta es porque al cargar las fijaciones de LIBOR en un IborIndex de Quantlib, la serie temporal de fijaciones se desplaza hacia atrás dos días, es decir, cuando cargo datos de fijación de Bloomberg para la fecha T, la serie temporal del IborIndex lista estos datos bajo la fecha T-2.

¿El motor de intercambio tiene en cuenta esta "desviación" en las fechas o me estoy perdiendo algo?

4voto

Chris Mc Puntos 31

En un swap de vanilla, la primera tasa flotante ya es conocida en realidad. Por lo tanto, un swap hoy tendrá una fecha de inicio t+2 y la fijación de hoy para la pierna flotante.

En QuantLib, cuando proporcionas una fijación, debes proporcionar la fecha correcta, es decir, 2 días antes del inicio de devengo (en el caso del EUR al menos).

Si estás estimando forwards, deberías usar las fechas de inicio y fin de devengo. La fijación en t-2 sería la tasa relevante para ese período.

Observa en este código, QuantLib usará la fijación para el 02.12.2020 para el primer período y no la fijación para el 04.12.2020

import QuantLib as ql
import pandas as pd

yts = ql.YieldTermStructureHandle(ql.FlatForward(2, ql.TARGET(), 0.05, ql.Actual360()))

tenor = ql.Period('2y')
index = ql.Euribor6M(yts)
index.clearFixings()
index.addFixing(ql.Date(2,12,2020), 0.02)
index.addFixing(ql.Date(4,12,2020), 0.066666)
fixedRate = 0.05
forwardStart = ql.Period("0D")

swap = ql.MakeVanillaSwap(tenor, index, fixedRate, forwardStart)

pd.DataFrame([{
    'fixingDate': cf.fixingDate().ISO(),
    'accrualStart': cf.accrualStartDate().ISO(),
    'accrualEnd': cf.accrualEndDate().ISO(),
    "paymentDate": cf.date().ISO(),
    'fixing/forward': cf.indexFixing(),
    'rate': cf.rate(),
    "amount": cf.amount()
} for cf in map(ql.as_floating_rate_coupon, swap.leg(1))])    

enter image description here

0 votos

Siendo pedante, solo conocerás la corrección si operas después de las 11am (¡o cuando llegue la corrección a tu zona horaria)!

0 votos

10 a. m. en mi zona horaria, pero tienes razón... Si operas antes de la fijación, la primera tasa en la tasa flotante no se conocerá

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