Documentation Center

  • Trial Software
  • Product Updates

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. cbprice expects the ConvRatio to be in terms of a $100 face or par value.

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

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

Examples

expand all

Price a Convertible Bond

This example shows how to price a convertible bond that matures in 2035 and is callable after 2025.

Define the convertible bond characteristics.

Settle = datenum('20-Sep-2013');
IssueDate = datenum('15-Dec-2005');
Maturity = datenum('15-Dec-2035');
CouponRate = .03;
ConvRatio = 3.4; % Per 100 face value
CallDate = datenum('15-Dec-2025');
CallPrice = 100;
RiskFreeRate = 0.03;
StockPrice = 24;
Volatility = 0.2;
CreditSpread = 0.005;
DivType = 2; % Continous
DivYield = 0.04;

Calculate the price for the convertible bond.

NumberSteps = 100;

ConvPrice = cbprice(RiskFreeRate,CreditSpread,Volatility,StockPrice,ConvRatio,...
NumberSteps,IssueDate,Settle,Maturity,CouponRate,'DividendType',DivType,...
'DividendInfo',[Settle DivYield],'CallInfo',[CallDate CallPrice]);

Price a Convertible Bond With a One-Factor Lattice Method

This example shows how to 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')

More About

expand all

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.

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.

Was this topic helpful?