I am currently working on pricing bonds and intend to utilize the S490 curve sourced from Bloomberg. This curve is constructed exclusively using swap rates. However, I have encountered challenges when incorporating the I-Spread and performing bond pricing calculations using this curve. As a result, I would like to ascertain whether I have selected the correct curve for my purposes or if an alternative curve is more suitable.

Initially, I attempted to incorporate the I-Spread using a parallel shift across the entire yield curve. However, after recalculating the zero coupon curve based on the market rate plus the I-Spread, I discovered that it produces incorrect bond prices. This discrepancy has prompted me to question the efficacy of a parallel shift approach with a constant spread applied uniformly across the yield curve.

To elaborate further, I am interested in obtaining insights on the following aspects:

  1. The compatibility of the S490 curve, constructed solely using swap rates, for accurate bond pricing calculations.
  2. Any potential limitations or considerations when incorporating the I-Spread with the S490 curve.
  3. If the S490 curve is not appropriate for bond pricing, guidance on selecting an alternative curve that aligns better with the bond valuation requirements.

I would greatly appreciate any advice, suggestions, or references to relevant resources that can assist me in understanding the compatibility of the S490 curve for bond pricing calculations. Additionally, if an alternative curve is recommended, I would appreciate guidance on selecting the most suitable curve and any necessary adjustments to incorporate the I-Spread accurately.

Thank you for your assistance in resolving these queries and providing clarity on the appropriate curve selection for bond pricing.

Note : From what I know, The I-spread of a bond is the difference between its yield to maturity and the linearly interpolated yield for the same maturity on an appropriate reference yield curve.

enter image description here

  • 1
    $\begingroup$ Bloomberg's I-spread is calculatd like this: find the 2 swap rate quotes nearest the bond maturity. Linearly interpolate to get the swap rate at the bond's maturity. (Unless you happen to have a swap rate quote exactly at the bond's maturity.) I-spread = interpolated swap rate - the bond's conventional yield. I commented in quant.stackexchange.com/questions/75703 perhaps not clearly enough. $\endgroup$ Jun 7, 2023 at 11:00
  • $\begingroup$ If you parallel-shift every swap quote by the some number of basis points shock, keeping the I-spread constant, and back out the bond's price using the perturbed swap curve, it should have the same impact as just adding the same shock to the bond's yield. You can skip the swap curve manipulations and just limit your calculations to price-yield. For non-callable investment-grade fixed-coupon bonds this may be good enough. But for other bonds you may need more sophsticated calculations for market risk stress testing. $\endgroup$ Jun 7, 2023 at 11:11

1 Answer 1


This is probably a question that should be addressed by the Helpdesk. Anyways, in terms of your questions:

  1. The SOFR curve is indeed constructed using swap rates, from very short dated weekly swaps to long dated tenors (e.g. 50 years). If you think the choice of instruments is not appropriate, e.g. short dated SOFR swaps are not representative or illiquid then you can decide to replace them by futures (1 month or 3 month). It's entirely up to you.

  2. Post-LIBOR, SOFR is perhaps the main curve for pricing USD interest rate derivatives. Since I-Spread is just the difference between the interpolated mid swap rate and the bond yield, using the SOFR curve is therefore a decent choice.

  3. The problem does not lie in your choice of a IR curve. Even if you were to use the Fed Funds curve you might only notice a difference of a few bp.

The real problem for pricing corporate bonds lies in your choice of spread. I-Spread for one does not consider the term structure of interest rates. If you have a 20 year bond then each cashflow is discounted with the same risk free rate - that's not right. Especially now where you have ~100bp of steepness at some points of the curve. You can "fix" this issue by using the Z-spread (or zero-volatility spread) which discounts each cashflow at the appropriate zero-coupon rate plus constant spread.

The main issue with using Z-Spread is that it doesn't account for optionality, and this is a big deal for corporate bonds. Thus, the standard spread to measure (and compare) bond credit risk is the Option Adjusted Spread, or OAS.

Now without going into too much detail, the OAS can be thought of the Z-Spread minus cost of optionality:

$$\text{OAS} \approx \text{Z-Spread} - PV[\text{Call}]$$

Calculating OAS is non-trivial and model dependent, you can find a lot of information online, e.g. here or this oldie but goldie primer from Lehman. The Fabozzi book also offers a great overview on the various types of spreads and ways to calculate them.

When comparing bonds of similar maturity, OAS is a much better way to gauge the relative credit riskiness. For example, if you have two bonds, say both trading at a premium with 20 years to maturity but one can be called in 6 months time, then the OAS will be very different. The I-Spread might be very close. Since you already have access to a terminal, you can simply retrieve the OAS from YAS. OAS is typically also calculated vs a swap curve such as SOFR.

Final comment: since you're looking at a market traded bond, the price is a given and the "target variable" is the spread. Since you've mentioned that you're getting incorrect prices, perhaps there's an error in your implementation? Whether you use YTM or I-Spread should not make a difference when discounting cashflows.


Using the SOFR curve is fine but the choice of spread is wrong, use OAS instead.

  • $\begingroup$ Thank you very much for your valuable insights. I have encountered an interesting observation in my bond pricing calculations. When using the Yield to Maturity (YTM) approach, I obtain an accurate bond price. However, when attempting to incorporate the Swap Curve with the addition of the I-Spread, the resulting bond price is incorrect. This has led me to question whether applying a parallel shift of x basis points (I-Spread) to the curve prior to bootstrapping is the correct approach. I will try using OAS spread to see if I have correct price and let you know. $\endgroup$
    – TourEiffel
    Jun 7, 2023 at 9:27
  • 2
    $\begingroup$ A market stress test scenario that changes the risk-free rates change by a lot, but not any spreads, doesn't sound compehensive to me. $\endgroup$ Jun 7, 2023 at 10:21
  • 1
    $\begingroup$ 1 As @oronimbus points out, corporate bonds are often callable (and on rarer occasions even puttable). An interest rate shock is likely to affect the moneyness of the call and the price of the bond. 2 consider, for example, a very simple credit-risky zero coupon bond. let PD denote the probability of default, LGD loss given default, DF discount factor, and its fair price. When DF (i.e. risk-free interest rates) change, the value (1-PD) part changes, but the PD*(1-LGD) doesn't. The higher the PD, the less sensitive the bond price is to the change in interest rates. $\endgroup$ Jun 7, 2023 at 11:52
  • 1
    $\begingroup$ a good practice is to run interest rates shocks with unchanged PD, and the same interest rates shocks with increased PD $\endgroup$ Jun 7, 2023 at 11:54
  • 1
    $\begingroup$ That's right - the more distrrssed the credit, the more the bond's price is driven by the LGD, rather than by the present value of the promised future cash flows. $\endgroup$ Jun 7, 2023 at 13:10

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.