Skip to content
All library documents

LIBOR Fixing Dates and the First Floating Rate in a Vanilla Swap

Article Quant Q&A · Author: Jon

Summary

This note explains how fixing dates relate to accrual periods in a vanilla interest rate swap. Under the EUR convention described, a fixing is observed two business days before the accrual period begins. Consequently, a swap starting at the standard spot date can have its first floating rate already known on the trade date: that day’s fixing applies to the period beginning two days later. For forward estimates, the accrual start and end dates define the relevant period, while the index fixing date precedes the accrual start.

The answer applies this convention to QuantLib: historical fixing data should be associated with the index’s fixing date, which may be earlier than the accrual start date. Its example distinguishes the fixing for the first period from a later fixing, showing that the swap uses the former. The explanation is specific to the EUR index convention discussed; calendars, business-day adjustments, index tenor, and swap setup can affect dates, so users should verify the applicable market conventions for their instrument.

Key ideas

  • A floating-rate fixing date can precede its accrual period’s start date.
  • Under the EUR convention described, the fixing occurs two business days before accrual begins.
  • The first floating rate in a spot-starting vanilla swap may already be known on the trade date.
  • QuantLib historical fixings should be entered under the appropriate fixing date.
  • Market calendars and index conventions determine the dates used for other instruments.

Tags

Full text
# LIBOR Quoting Conventions and Swap Pricing


# LIBOR Quoting Conventions and Swap Pricing












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?

## Answer by David Duarte (score 4)

https://quant.stackexchange.com/a/59701

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))])
```

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.