Skip to Main Content Skip to Search
Product Documentation

cbprice - Price convertible bond

Syntax

[CbMatrix, UndMatrix, DebtMatrix, EqtyMatrix]
= cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ConvRatio,
NumSteps, IssueDate, Settle, Maturity, CouponRate)
[CbMatrix, UndMatrix, DebtMatrix, EqtyMatrix]
= cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ConvRatio,
NumSteps, IssueDate, Settle, Maturity, CouponRate,
Name,Value)

Description

[CbMatrix, UndMatrix, DebtMatrix, EqtyMatrix] = cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ConvRatio, NumSteps, IssueDate, Settle, Maturity, CouponRate) price a convertible bond with a one-factor lattice method.

[CbMatrix, UndMatrix, DebtMatrix, EqtyMatrix] = cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ConvRatio, NumSteps, IssueDate, Settle, Maturity, CouponRate, Name,Value) price a convertible bond with a one-factor lattice method with additional options specified by one or more Name,Value pair arguments.

Input Arguments

RiskFreeRate

Annual yield of the risk-free bond with the same maturity as the convertible, compounded continuously. Scalar value of risk-free rates is in decimal. (Recommended value is the yield of a risk-free bond with the same maturity as the convertible.)

StaticSpread

Scalar value of the constant spread to risk-free rate. Adding StaticSpread to the RiskFreeRate produces the issuer's yield, which reflects the credit risk.

Sigma

Scalar value of the annual volatility environment in decimal.

Price

Scalar value of the price of the asset at the settlement or valuation date.

ConvRatio

Scalar value of the number of assets convertible to one bond.

NumSteps

Scalar value of the number of steps within the binomial tree.

IssueDate

Scalar value of the issue date of the convertible bond.

Settle

Scalar value of the settlement date of the convertible bond.

Maturity

Scalar value of the maturity date of the convertible bond.

CouponRate

Scalar value of the coupon rate in decimal form or a C-by-2 vector of dates and associated coupon rates.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments, where Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'Basis'

Day-count basis of the bond. A vector of integers.

  • 0 = actual/actual

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ICMA)

  • 9 = actual/360 (ICMA)

  • 10 = actual/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = actual/actual (ISDA)

  • 13 = BUS/252

For more information, see basis.

Default: 0 (actual/actual)

'CallType'

Scalar value for the call type. Values are 0 for a call on cash price, or 1 for a call on clean price.

Default: 0 (cash price)

'CallInfo'

Two-column matrix containing the call information. The first column is the call dates and the second column is the call prices for every $100 face of the bond. The call, in the amount of call prices, is activated after the corresponding call date.

Default: No call feature

'ConvInfo'

Two-column matrix containing convertible information. The first column is the convertible dates and the second column is whether the issue is convertible or not.

Default: Bond is always convertible

'DividendInfo'

Two-column matrix of dividend information. The first column is the ex-dividend date and the second column is the corresponding amount. Enter any amount known at any time; only the amounts that are within the lifespan of the option are used. If the DividendType is 2, DividendInfo is a 1-by-2 matrix where the first entry is the Settle date and the second entry is the continuous dividend yield.

Default: No dividend

'DividendType'

Scalar value for dividend type. Values are:

  • 0 — Dollar dividend

  • 1 — Dividend yield

  • 2 — Continuous dividend yield

Default: 0 (Dollar dividend)

'EndMonthRule'

NINST-by-1 vector for end-of-month rule. Values are 1 (on, in effect) and 0 (off, not in effect).

Default: 1 (on, in effect)

'Period'

Scalar value for number of coupon payments. Values are:

  • 1 — One coupon per year

  • 2 — Semiannual

  • 3 — Three times a year

  • 4 — Quarterly

  • 6 — Bimonthly compounding

  • 12 — Monthly

Default: 2 (Semiannual)

'IssueDate'

NINST-by-1 vector of bond issue date.

Default: If you do not specify an IssueDate, the cash flow payment date is determined from other inputs.

'FirstCouponDate'

Date when a bond makes its first coupon payment; used when bond has an irregular first coupon period. When FirstCouponDate and LastCouponDate are both specified, FirstCouponDate takes precedence in determining the coupon payment structure.

Default: If you do not specify a FirstCouponDate, the cash flow payment dates are determined from other inputs.

'LastCouponDate'

Last coupon date of a bond before the maturity date; used when bond has an irregular last coupon period. In the absence of a specified FirstCouponDate, a specified LastCouponDate determines the coupon structure of the bond. The coupon structure of a bond is truncated at the LastCouponDate, regardless of where it falls, and is followed only by the bond's maturity cash flow date.

Default: If you do not specify a LastCouponDate, the cash flow payment dates are determined from other inputs.

'Period'

NINST-by-1 vector for coupons per year.

Default: 2 per year

'PutInfo'

Two-column matrix containing put information. The first column is the put dates and the second column is the put prices for every $100 face of the bond. The put, in the amount of put prices, is activated after the corresponding put date.

Default: No put feature

'PutType'

Scalar value for put type. Value are 0 for a put on cash price or 1 for a put on clean price.

Default: 0 (put on cash price)

'TreeType'

Scalar value for tree type. Values are 0 for binomial lattice or 1 for trinomial lattice.

Default: 0 (binomial lattice)

Output Arguments

CbMatrix

Matrix of CB prices in binomial format. Price of convertible is CbMatrix(1,1).

UndMatrix

Matrix of stock prices in binomial format.

DebtMatrix

Matrix of CB debt component in binomial format.

EqtyMatrix

Matrix of CB equity component in binomial format.

Definitions

Convertible Bond

A convertible bond (CB) is a debt instrument that you can convert into a predetermined amount of the issuing company's equity at certain times before the bond's maturity. In addition to standard bond features (for example, maturity date, face value, coupon), a convertible bond often has callable and puttable features.

Examples

Perform a spread effect analysis of a 4% coupon convertible bond callable at 110 at the end of the second year, maturing at par in 5 years, with yield to maturity of 5%, and spread (of yield to maturity versus 5-year treasury) of 0, 50, 100, and 150 basis points. The underlying stock pays no dividend.

RiskFreeRate = 0.05;
Sigma        = 0.3;
ConvRatio    = 1;
NumSteps     = 200;
IssueDate    = '2-Jan-2002';
Settle       = '2-Jan-2002';
Maturity     = '2-Jan-2007';
CouponRate   = 0.04;
Period       = 2;
Basis        = 1;
EndMonthRule = 1;
DividendType = 0;
DividendInfo = [];
CallInfo     = [datenum('2-Jan-2004') , 110];
CallType     = 1;
TreeType     = 1;
Spreads = 0:0.005:0.015;
Prices = 40:10:140;
stock = repmat(Prices',1,length(Spreads));
  
convprice = zeros(length(Prices),length(Spreads));
  
  for spreadidx = 1:length(Spreads)
      for priceidx = 1:length(Prices)
        [CbMatrix, UndMatrix, DebtMatrix, EqtyMatrix] = ...
           cbprice(RiskFreeRate, Spreads(spreadidx), Sigma, Prices(priceidx), ...
           ConvRatio, NumSteps, IssueDate, Settle, ...
           Maturity, CouponRate, Period, Basis, EndMonthRule, ...
           DividendType, DividendInfo, CallType, CallInfo, TreeType);
          
        convprice(priceidx,spreadidx) = CbMatrix(1,1);
      end
  end
  
 plot(stock,convprice);
 legend({'+0 bp'; '+50 bp'; '+100 bp'; '+150 bp'});
 title ('Effect of Spread using Trinomial tree - 200 steps')
 xlabel('Stock Price');
 ylabel('Convertible Price');
 text(50, 150, ['Coupon 4 semiannual,', sprintf('\n'), ...
 '110 Call-on-clean after 2 years,' sprintf('\n'), ...
 'maturing par in 5 years'],'fontweight','Bold')

References

Andersen, L. and D. Buffum, "Calibration and implementation of convertible bonds models," Working paper, Banc of America Securities, 2003.

Ayache, E., P.A. Forsyth, and K.R. Vetzal, "Valuation of Convertible Bonds with Credit Risk," Journal of Derivatives, 11 (Fall 2003), 9-29.

Tsiveriotis, K. and C. Fernandes, "Valuing Convertible Bonds with Credit Risk," Journal of Fixed Income 8, 95-102, 1998

Zabolotnyuk, Yuriy, Jones, Robert A. and Veld, Chris H., "An Empirical Comparison of Convertible Bond Valuation Models," (October 15, 2009). Available at SSRN: http://ssrn.com/abstract=994805.

Tutorials

  


Free Interactive Computational Finance CD

View demos and recorded presentations led by industry experts.

Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS