bondbyzero - Price bond from set of zero curves

Syntax

Price = bondbyzero(RateSpec, CouponRate, Settle, Maturity,
Period, Basis, EndMonthRule, IssueDate, FirstCouponDate,
LastCouponDate, StartDate, Face)

Arguments

RateSpec

Structure containing the properties of an interest-rate structure. See intenvset for information on creating RateSpec.

CouponRate

Decimal annual rate.

Settle

Settlement date. A vector of serial date numbers or date strings. Settle must be earlier than Maturity.

Maturity

Maturity date. A vector of serial date numbers or date strings.

Period

(Optional) Coupons per year of the bond. A vector of integers. Allowed values are 1, 2, 3, 4, 6, and 12. Default = 2.

Basis

(Optional) Day-count basis of the instrument. A vector of integers.

  • 0 = actual/actual (default)

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ISMA)

  • 9 = actual/360 (ISMA)

  • 10 = actual/365 (ISMA)

  • 11 = 30/360E (ISMA)

  • 12 = actual/365 (ISDA)

EndMonthRule

(Optional) End-of-month rule. A vector. This rule applies only when Maturity is an end-of-month date for a month having 30 or fewer days. 0 = ignore rule, meaning that a bond's coupon payment date is always the same numerical day of the month. 1 = set rule on (default), meaning that a bond's coupon payment date is always the last actual day of the month.

IssueDate

(Optional) Date when a bond was issued.

FirstCouponDate

(Optional) Date when a bond makes its first coupon payment. When FirstCouponDate and LastCouponDate are both specified, FirstCouponDate takes precedence in determining the coupon payment structure.

LastCouponDate

(Optional) Last coupon date of a bond before the maturity date. 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.

StartDate

Ignored.

Face

(Optional) Face value. Default = 100.

All inputs are either scalars or number of instruments (NINST)-by-1 vectors unless otherwise specified. Dates can be serial date numbers or date strings. Optional arguments can be passed as empty matrix [].

Description

Price = bondbyzero(RateSpec, CouponRate, Settle, Maturity, Period, Basis, EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate, StartDate, Face) returns a NINST-by-NUMCURVES matrix of clean bond prices. Each column arises from one of the zero curves.

Examples

Price a 4% bond using a set of zero curves.

Load the file deriv.mat, which provides ZeroRateSpec, the interest-rate term structure needed to price the bond.

load deriv.mat; 

Set the required values. Other arguments will use defaults.

CouponRate = 0.04;
Settle = '01-Jan-2000';
Maturity = '01-Jan-2004';

Use bondbyzero to compute the price of the bond.

Price = bondbyzero(ZeroRateSpec, CouponRate, Settle, Maturity)

Price =

  97.5334

See Also

cfbyzero, fixedbyzero, floatbyzero, swapbyzero

  


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