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?

  • $\begingroup$ 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. $\endgroup$
    – bonCodigo
    Commented May 22, 2014 at 23:22
  • $\begingroup$ 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. $\endgroup$
    – bonCodigo
    Commented May 22, 2014 at 23:22

6 Answers 6


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 2-year 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.

  • $\begingroup$ 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? $\endgroup$
    – rex
    Commented Aug 29, 2014 at 16:32
  • $\begingroup$ @armensg90 Since the 2-year bond is at par, the fixed coupon payments over the 2 years match the payments in the fixed leg of the 2-year swap exactly. Hence the par rate of the bond is the same as the par swap rate. $\endgroup$
    – wsw
    Commented Feb 3, 2016 at 16:38
  • 2
    $\begingroup$ @wsw Since this is the accepted answer, I'd recommend that you incorporate the feedback from Matt and Phil below. The methodology in this answer is unfortunately quite outdated. $\endgroup$
    – Helin
    Commented Feb 3, 2016 at 16:45

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.


(In addition to the answers of Freddy and Phil H):

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).

  • 1
    $\begingroup$ Wonderful exposition and a joy to read! $\endgroup$
    – Don Shanil
    Commented Apr 16, 2014 at 1:29

To elaborate on Freddy's answer:

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.

  • $\begingroup$ @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? $\endgroup$
    – bonCodigo
    Commented May 22, 2014 at 23:30

thanks for all answers above.

William's answer is more direct. actually i was quite new to the calibration area one year ago, so my question is quite simple but that simplicity might mislead others to a complex context.

to comment on my own question in case anyone new to it might drop it, Damiano Brigo's book Interest Rate Models Theory and Practice (2006) could serve as a simple start-up.


Swap rates can be used to calibrate a discount curve as follows, the full algebra follows this webpage: Bootstrapping the Discount Curve from Swap Rates

The fair value for the swap rate is related to the zero rate as follows

$$X = {Z_{0y} - Z_{Ny} \over \sum_{n=0}^{N-1} \tau \cdot Z_{ny}}$$

So if we have yearly swap rates $X_{1y}, X_{2y}$... visible on the market (so $\tau = 1$) then

$$X_{1y} = {1 - Z_{1y} \over Z_{1y}}$$

and so

$$Z_{1y} = {1 \over 1 + X_{1y}}$$

This is the first point on the calibrated curve. We can continue this process for the next year's swap rate

$$X_{2y} = {1 - Z_{2y} \over \Bigl( Z_{1y} + Z_{2y} \Bigr)}$$

and substituting the value for $Z_{1y}$ above,

$$Z_{2y} = {1 - Z_{1y}\cdot X_{1y} \over 1 + X_{2y}}$$

and so on, we can bootstrap a full discount curve from visible swap rates. A more general expression is given in the page I linked above.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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