Login  Register

Re: bond spreads/option adjusted spreads

Posted by FORNAROLA CHIARA on Jul 24, 2007; 6:58pm
URL: http://quantlib.414.s1.nabble.com/Re-bond-spreads-option-adjusted-spreads-tp9658.html

Hi Allen,

 

for non callable bonds you calculate the Z-spread which is the required shift to the  zero-cpn rates so that when you sum the value of the bond’s discounted payments, you get the observed market price of the bond. For bonds with embedded options, such as callable bonds, the z-spread is often not meaningful. This is because it is usually not appropriate to value a callable bond simply by discounting its scheduled payments. To value a callable bond properly, a model that explicitly takes into account volatility in interest rates is needed, so that the risk of the bond being called can be taken into account.

Considered a stochastic term structure model, this will take as input a curve of zero cpn interest rates and some parameters determining the volatility of these interest rates. >From these inputs the model generates a large number of possible scenarios for futures interest rates. A callable bond then is valued by first discounting the cashflows of the security in each scenario separately and then averaging over all the scenarios. Given this assumptions, the OAS is simply the constant absolute shift to the zero cpn rates in all scenario that is requires to ensure that the model value of the bond equals the market price. For bonds without embedded options, the OAS is exactly the same as the Z-spread (when adjusting for the proper daycount and coumpounding conventions).

I hope this will help to clarify the difference between the two kinds of spread you mentioned.

 

Chiara

p.s.

Regarding, Z-spread, in the next release you’ll find in the bond class cleanPriceFromZSpread and dirtyPriceFromZSpread.

 

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Allen Kuo
Sent:
Sunday, July 15, 2007 10:06 AM
To: [hidden email]
Subject: [Quantlib-dev] bond spreads/option adjusted spreads

 

Hi:

 

I am interested in calculating the spread over a reference zero curve (Fabozzi's "zero volatility spread") for a bond. I would approach via Newton Raphson iteration, varying the spread (using ZeroSpreadedTermStructure) to make NPV() match the market quote on the bond. I would look to create a method under Bond to do this, e.g. myBond.zeroVolSpread(Handle<Quote> marketQuoteCleanPrice).

 

What I was ultimately trying to get at was the CallableFixedRateBond "option adjusted spread" (OAS). I was looking at Fabozzi and his OAS for a callable bonds was the constant rate added to all the nodes on his binomial short rate tree that make the NPV equal the observed market price. Isn't  the spread over the tree a spread over forward rates, rather than zero rates ? Could I instead compute the spread the same way as I do for a non-callable bond, as mentioned above, by varying the spread over the input reference zero curve so that the the forward rate tree gets "raised" by the spread automatically/implicitly when you do this ? This would be easier than to go into the ShortRateModel and add the spread to each node of the tree.

 

Thanks,

GZH


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev