1
$\begingroup$

Given that LIBOR quotes have value date T+2, when considering a simple IRS, which dates are considered when fixing the floating rate? Say floating leg is Euribor 3M and next fixing date is today (02/12/2020), is the fixed rate set to the rate set today (which is essentially a 2 day forward rate)?

The reason I am asking this question is because when loading LIBOR fixings into a Quantlib IborIndex the fixing time series is shifted backwards by two days, that is when I upload fixing data from Bloomberg for date T, the time-series of the IborIndex lists this data under Date T-2.

Does the swap engine account for this "shift" in dates or am I missing something?

$\endgroup$
4
$\begingroup$

In a vanilla swap, the first floating rate is in fact already known. So a swap today will have start date t+2 and todays fixing for the floating leg.

In QuantLib, when you supply a fixing, you have to supply the correct date, ie, 2 days before the accrual start (in the EUR case at least).

If you are estimating forwards, you would use the accrual start and end dates. The fixing at t-2 would be the relevant rate for that period.

Notice in this code, QuantLib will use the fixing for 02.12.2020 for the first period and not the fixing for 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

$\endgroup$
2
  • $\begingroup$ Being pedantic, you only know the fixing if you trade after 11am (or whenever the fix arrives in your time zone)! $\endgroup$ – DS_London Dec 2 '20 at 18:17
  • $\begingroup$ 10am in my time zone, but you are correct... If you trade before the fixing, the first rate on the floating rate will not be known $\endgroup$ – David Duarte Dec 2 '20 at 18:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.