Financial Derivatives Toolbox | ![]() ![]() |
Price bond by a set of zero curves
Syntax
Price = bondbyzero(RateSpec, CouponRate, Settle, Maturity, Period, Basis, EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate, StartDate, Face)
Arguments
RateSpec |
A structure encapsulating 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 or equal to 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 bond. A vector of integers.0 = actual/actual (default), 1 = 30/360, 2 = actual/360, 3 = actual/365. |
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 prior to 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 will be followed only by the bond's maturity cash flow date. |
StartDate |
Ignored. |
Face |
(Optional) Face value. Default is 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
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 = 107.6912
See Also
cfbyzero
, fixedbyzero
, floatbyzero
, swapbyzero
![]() | bondbyhjm | bushpath | ![]() |