# how to derive yield curve from interest rate swap?

According to some textbooks, to derive the yield curve, quote

• overnight to 1 week: rates from interbank money market deposit,
• 1 month to 1 year: LIBOR;
• 1 year to 7 years: Interest Rate Swap;
• 7 years above: government bond.

I'm a bit lost here: how can an IRS rate be used to derive yield curve?

Yield rate is the discount rate, if $yield (5 years) = 4.1 \%$ , it means the NPV of 1 dollar 5 years later is $NPV ( 1 dollar, 5 years) = 1/[(1+4.1\%)^5] = 0.818$.

While interest rate swap is a contract among to legs. Assume a 5 years' IRS contract is

• leg A pays fixed rate to B @ 8.5%, while A receives floating rate @ LIBOR +1.5%
• leg B pays floating rate to A @ LIBOR +1.5%, B receives fixed rate@ 8.5%.

, how could this swap contract help deriving the 5 years' yield rate?

-
I am not a quant. I am still/just learning about IRS recently. My question was why/how forward rates are used to calculate Interest Rate Swap? I was told that we need to build the swap curve before we try to value floating leg of an IRS. The main reason being, at the start of the IRS contract we do not have realistic LIBOR rates for the entire term and to calculate all the cashflows. Thus we use zero-rate curve derived from yields of defined/liquid securities to build swap curve (bootstrapping). Then use the rates from each tenor in Swap curve to value the cashflows of IRS floating leg. –  bonCodigo May 22 '14 at 23:22
Conceptually above may be correct. And hint me if I am "believing" wrong concept. Market wise, above may be no longer in practice but improvised versions. –  bonCodigo May 22 '14 at 23:22

You should take a look at the example from Hull's book.

Assume that the 6-month, 12-month, 18-month zero rates are 4%, 4.5%, and 4.8%, respectively.

Suppose we know that the 2-year swap rate is 5%, which implies that a bond with a semiannual coupon of 5% per annum sells for par: $$2.5 e^{-0.04 \bullet 0.5} + 2.5 e^{-0.045 \bullet 1.0} + 2.5 e^{-0.048 \bullet 1.5} + 102.5 e^{-2 \bullet R} = 100 \; .$$ Solving for $R$ above gives a 2-year zero rate $R$ of 4.953%. We can keep going to compute the 3-year zero rates, etc.

-
Can you please expand a bit on this: "Suppose we know that the 2-year swap rate is 5%, which implies that a bond with a semiannual coupon of 5% per annum sells for par" ? Do you mean a bond representing the fixed leg of the swap? –  Armen Safieh-Garabedian Aug 29 '14 at 16:32

I like to present to you a slightly different approach:

Historically, only one single yield curve was derived from different instruments, such as OIS, deposit rates, or swap rates. However, market practice nowadays is to derive multiple swap curves, optimally one for each rate tenor. This idea goes against the idea of one fully-consistent zero coupon curve, however the last paper I referenced below explains how a Libor Market model can be generalized to account for the new practice of deriving different curves.

P.S.: Mercurio is on the rigor level pretty much on par with Carr, Rebonato and other outstanding quants.

-
thanks @freddy , let me digest.... –  athos Mar 1 '13 at 6:52

With "modern" multi-curve setups: You have to distinguish between discount curves (which describe todays value of the a future fixed payoff (e.g. a zero coupon bond)) and forward curve, which describe the expectation (in a specific sense) of future interest rate fixings.

Swaps pay LIBOR rates and are usually collaterlized with respect to an OIS accruing account. The collateralization implies that you discount (fixed) payments on the OIS curve. From the swap you may then calculate forward rates for the LIBOR fixings.

Bond spread are usually given above LIBOR an from bond prices you may derive the bond curve, which can be seen as the discount curve of uncollaterlized funding.

Theses (discount) curves can be represented in terms of yields (r(T) := log(df(T))/T)).

I have a multi-curve curve calibration algorithm in source code here: http://www.finmath.net/topics/curvecalibration/

There is a spreadsheet for download performing bootstrapping of OIS curve, forward curve, funding curves, cross-currency discount curves. Maybe you find it useful, e.g. to benchmark your calibration.

If your funding is performed using a mix of instruments, e.g. short term funding and long term fusing, then it can still make sense to setup a "mixed" curve. Howerver, you have to distiguish forward curves and funding curves. See also http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2194907

(Disclaimer: I am the author of the source code referenced and the paper).

-
Wonderful exposition and a joy to read! –  Don Shanil Apr 16 '14 at 1:29

These days you need to maintain a separate funding (usually OIS) curve to your Libor* type curves. Once you have this discounting curve, you can calculate from Libor instrument market data what the market estimations of that Libor are: 3m instruments like Interest Rate Futures, IRS with a 3m float leg, 3m FRAs can be used to create the 3m Libor curve.

To price an instrument, you use your Libor curve to estimate the Libor fixing, and your funding curve to calculate NPV. This way you can calculate the price of a given instrument even though the old assumptions of zero coupon curves are no longer valid.

The short answer to the original question is: Swaps are quoted at par, i.e. what fixed coupon rate has a matching present value to the floating coupons. Its level therefore contains information about the quoter's estimates of Libor; if they think it will be higher, they would need a higher fix rate to balance the values of the legs.

* Libor can be replaced with whatever fixing is being used in the market; Euribor etc.

-
thanks :) i'm trying to get the idea... –  athos Mar 2 '13 at 12:44
@PhilH when you said "To price an instrument, you use your Libor curve to estimate the Libor fixing, and your funding curve to calculate NPV." Does it mean, your own customized/constructed libor curve? And fundig curve refers to your own swap curve? Can you please share what are we using to build each libor and funding curve in your point? –  bonCodigo May 22 '14 at 23:30