# Linear Interpolation around End of Month (EOM) for IRS with standard rolls

I have a USD IRS S/A v 3M LIBOR with the following dates:

Effective: 30th April 2018 Maturity: 28th April 2028 (Rolls day of month = 28)

Therefore stub period runs from 30th April 2018 to 28th July 2018 but as the latter is a Saturday, the accrual period would adjust to 30th July 2018.

The 3M LIBOR print for value date 30th April 2018 would be for a maturity of 31st July 2018 given LIBOR follows the 'end-end' convention so I would expect to have to use a linear interpolation of (2M, 3M) for my period 30/04/18-30/07/18 as it falls one day short of the actual LIBOR period but it seems market middleware/CCPs default to straight 3M with no interpolation.

Is that because calculation of stub period length in our example swap should be based on the roll convention of the actual swap (28th = NOT end of month) and not the underlying LIBOR length? That's to say, because the swap doesn't follow end of month roll convention, 30th April 2018 to 30th July 2018 is exactly 3M - and therefore only 3M LIBOR is acceptable despite the fact that the 3M LIBOR print is actually derived from dates 30th April 2018 to 31st July 2018?

The legal definition of the swap is given by the ISDA confirm which will specify “Floating Rate Option” USD Libor with a maturity of 3 months. If so, this means you always take 3month Libor no matter what the actual accrual period is. You can specify “Interpolated” but this is usually used for stub periods at beginning or end of the swap only.

To me this you have uncovered a slightly ambiguous state of affairs.

What if you had traded a 30 Apr 18 - 30 Apr 2028 swap with 30th rolls?

Then you would have the following:

 Accrual Start - Accrual End - Fixing Start - Fixing End 30 Apr 2018 - 30 July 2018 - 30 April 2018 - 31 July 2018 

So you would be in exactly the same scenario as you purport now for this first period, except in this case you would not expect to have any interpolation.

My opinion is that your swap should actually have a short front stub, and you should indeed interpolate between 2M and 3M. However, the coding of schedule objects on swaps is very complex and my suspicion is that you need to explicitly state a "short-front" where it has not been automatically detected. The swap probably doesnt have the "short-front" flag.

Or the software is not adjusting for month end in its calculation of final Libor value data, which is a more serious problem.