I have the data for a lot of forwarding starting interest rate swaps. i.e 2Y1Y, 3Y1Y, 5Y1Y, 3Y2Y, 5Y2Y, ... (so different forwarding and maturities).

I would like to calculate the roll down over 1 year for each of them. I don't have other data (Libor, Euribor, etc). What I call a "roll-down" is the difference between xYzY - (x-n)YzY given that the yield curve stays the same. n is the roll-down period. For example, for the 2Y1Y, to get the one-year roll-down I do 2Y1Y - (2-1)Y1Y.

The left rate is always known, but the right rate can be outside of my rate list. So, I need to find its value.

From QuantLib, how could I retrieve this swap rate from all my input data and/or explain the process?

Thanks in advance.


If you have enough forward rates for a given observation date, you should be able to construct a full swap curve for that date. This would involve some curve fitting and some interpolation , so it’s not trivial. However once you’ve done that , you can observe any rate that you like from the curve so you can calculate your roll down.

  • $\begingroup$ I see how to do this for non-forwarded starting swaps. You build/adjust a curve, then you can find any point of this curve. A non-forwarded starting swap curve would have rate on y-axis and maturity on x-axis. But for forwarded starting swap do we have to work with a 3d curve (forwarding on z-axis)? I don't succeed to figure out this $\endgroup$ – ZottoZ Jul 29 '19 at 13:00
  • $\begingroup$ For example you can chain together some forward swaps to get all the forward rates: 1y1y, 2y1y, 3y2y, 5y5y, 10y10y for example. (I selected these because the end date of each rate matches the start date of the next one). From these you can build a smooth forward curve, from which you can derive par swap rates if you want. $\endgroup$ – dm63 Jul 29 '19 at 13:05
  • $\begingroup$ Does it make sense to build a curve such that y=rate value and x=Forward+Maturity? So, in your example, I have on the x-axis 2, 3, 5, 10, 20. Then if I want the 3y1y, I look for the corresponding points on the curve having 3+1=4 on the x-axis? $\endgroup$ – ZottoZ Jul 29 '19 at 14:04
  • $\begingroup$ Yes you could do that $\endgroup$ – dm63 Jul 29 '19 at 15:50

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.