I'm a little embarrassed about this because I have a PhD in math, but I'm having a little trouble working out how to bootstrap an OIS curve from libor rates and basis swap rates. If I had an equation for valuing everything I'd be set. What I have is a libor curve and a mysterious rate (US dollar OIS) coming from Bloomberg that is somehow related to basis swaps. I have been told that the basis swaps are between Libor and OIS, and I don't know what the equation for that looks like.

For some background, I just learned how to value a swap today, and from that I was able to figure out how to bootstrap the libor curve. I just need an equation to fit the numbers into. I've gotten loads of verbal explanations, so no need to go out of your way to provide one. Thanks.

  • 4
    $\begingroup$ Have you checked out the following paper? papers.ssrn.com/sol3/papers.cfm?abstract_id=2219548 $\endgroup$
    – Olorun
    Commented Jul 23, 2015 at 12:31
  • $\begingroup$ @Olorun thanks, this looks like it'll be helpful. $\endgroup$
    – Math
    Commented Jul 23, 2015 at 13:03
  • $\begingroup$ @Olorun this is exactly what I needed, thanks! Had to sift through the notation but I figured out what the number means and what to do with it. $\endgroup$
    – Math
    Commented Jul 23, 2015 at 13:54
  • $\begingroup$ The paper @Olorun mentioned looks quite interesting. Keep in mind that for your stated problem you need to derive OIS rates, hence you need to build an OIS curve. A traditional libor curve is of very little help here. Most practitioners nowadays build OIS curves rather than libor curves. So for your situation you need OIS rates as input and need to build an OIS curve. Libor curves are irrelevant in this context. $\endgroup$
    – Matt Wolf
    Commented Jul 24, 2015 at 4:54
  • 1
    $\begingroup$ @MattWolf I have swap and basis swap rates as input (and eurodollar futures) and need to construct both a libor and an OIS curve. Quoted OIS rates are not available. $\endgroup$
    – Math
    Commented Jul 24, 2015 at 11:13

2 Answers 2


An OIS, or Overnight Index Swap, is an interest rate swap whose floating leg payments are calculated as a geometric average of the daily fixings of some underlying O/N or T/N index (these indices are generally volume-weighted averages of reported daily transactions). The annualized floating leg rate is defined as $$ c_T^{float} = \frac{\prod^{s+T}_{t=s}{(1+r_t\delta (t))}-1}{\delta (T-s)}, $$ where $s$ is the first fixing day of the coupon period and $T$ is the last. $r$ is the value of the underlying index at time $t$, and $\delta (\cdot)$ is the year fraction according to an appropriate day count convention.

A basis swap is an exchange of one floating rate for another. In this case, it refers to the exchange of USD Libor for USD OIS or vice versa. Generally, if we refer to the two bases in a basis swap as $\alpha$ and $\beta$ and you are fixed payer in the swap with basis $\alpha$, your basis swap rate (or fixed rate spread) is $$ r_{basis swap} = c^{fixed}_\beta-c^{fixed}_\alpha, $$ where $c_b^{fixed}$ is the fixed coupon rate for a interest rate swap with basis $b$. From here on out, you may derive your implied OIS rates from the two rates and bootstrap as normal.

  • $\begingroup$ Could you elaborate a bit on how to derive OIS rates from IRS rates and ois/libor basis spread? For example 7Y IRS rate is 2% and 7Y basis swap spread is 22.2bps. How do I derive 7Y OIS rate? I assume it is more complex than simply subtracting basis spread from IRS rate, correct? $\endgroup$
    – andr111
    Commented Aug 14, 2015 at 19:11
  • $\begingroup$ in your first formula is each time period expected to be 1 day (thus you compound for weekends) or periods between reset days (in which case daycount is sometimes 3 days). Difference between (1+rd)^n and (1+rdn) where n is a number that is not 1 and d is the year-fraction for a single day (often 1/360). Using log1p it would be the difference between adding n(log1p(rd)) and log1p(rdn). $\endgroup$
    – CashCow
    Commented Oct 4, 2019 at 14:01

One should note that the exact implementation can be bank/system dependent, but the general idea in the OIS/Libor world was

  1. First bootstrap OIS curve. It is a self-discounting curve, i.e. both discount factors and forward are computed using same curve. Conceptually, it replaces the self-discounting Libor curve.

  2. Assuming perfect collateralisation in the same currency, strip standard projection curve (3m for US, 6m for EUR and GBP etc), using the standard IRSs for such fixed/floating swap. It was currency dependent. E.g. for USD it was 3m float vs 6m fixed, for Euro it was 6m float vs 1y fixed etc. Ois curve, stripped at step 1) will be used for discounting.

This gives you the "standard" tenor projection (forward) curve in corresponding currency, assuming cash collateral hence OIS discounting.

  1. Now you can strip projection curves for all other non-standard tenors, e.g. 1m or 6m or 12m for USD.

The products from which you will be stripping will strongly depend on the currency. It can be a basis floating/floating swap against the standard tenor (e.g. 3m/6m swaps for USD), or direct swaps against 6m USD. Ois curve, stripped at step 1 will be used for discounting in ALL cases, only projection curve will be built.

Importantly, the internal implementation of such projection curve can be either as a yield curve on its own (yield or DF interpolator) or a basis curve to another curve, e.g. standard tenor swap. The pricing result will be same for the observable swaps, but risk decomposition will be different. Practically, this is decided based on what instruments really drive the market, basis swaps (in which case non standard projection curve would be a basis curve) or straight swaps with non-standard basis. It is possible that different time segments of the curve are interpolated differently because of that.

To conclude, prod-grade set up of the discount curve is very different from what you see in the textbooks.


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.