Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

bndfutprice

Price bond future given repo rates

Syntax

[FutPrice,AccrInt] = bndfutprice(RepoRate,Price,FutSettle,Delivery,ConvFactor,CouponRate,Maturity)
FutPrice,AccrInt] = bndfutprice(RepoRate,FutPrice,FutSettle,Delivery,ConvFactor,CouponRate,Maturity,'ParameterName',ParameterValue, ...)

Description

[FutPrice,AccrInt] = bndfutprice(RepoRate,Price,FutSettle,Delivery,ConvFactor,CouponRate,Maturity) computes the price of a bond futures contract for one or more bonds given a repo rate, and bond properties, including the bond conversion factor. The default behavior is that the coupon reinvestment rate matches the repo rate. However, you can specify a separate reinvestment rate using optional arguments.

FutPrice,AccrInt] = bndfutprice(RepoRate,FutPrice,FutSettle,Delivery,ConvFactor,CouponRate,Maturity,'ParameterName',ParameterValue, ...) accepts optional inputs as one or more comma-separated parameter/value pairs. 'ParameterName' is the name of the parameter inside single quotes. ParameterValue is the value corresponding to 'ParameterName'. Specify parameter-value pairs in any order. Names are case-insensitive.

Input Arguments

RepoRate

numBonds-by-1 vector of repo rates.

Price

numBonds-by-1 vector of bond prices

FutSettle

numBonds-by-1 vector of future settle dates.

Delivery

numBonds-by-1 vector of future delivery dates.

ConvFactor

numBonds-by-1 vector of bond conversion factors. For more information, see convfactor.

CouponRate

numBonds-by-1 vector of coupon rates in decimal form.

Maturity

numBonds-by-1 vector of coupon rates in decimal form.

Parameter–Value Pairs

Basis

Day-count basis. Possible values include

  • 0 = actual/actual (default)

  • 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/365 (ISDA)

  • 13 = BUS/252

For more information, see basis.

Default: 0

EndMonthRule

End-of-month rule. Values are:

  • 0 — Rule is not in effect for the bond.

  • 1 — Rule is in effect for the bond. This means that a security that pays coupon interest on the last day of the month always makes payment on the last day of the month.

Default: 1

IssueDate

Issue date for a bond.

Face

Face value of the bond. Face has no impact on key rate duration. This calling sequence is preserved for consistency.

Default: 100

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

Number of coupons payments per year. Possible values include:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 6

  • 12

Default: 2

ReinvestBasis

Day count basis for reinvestment rate.

Default: Identical to RepoBasis.

ReinvestRate

Compounding convention for reinvestment rate.

Default: Identical to RepoRate.

RepoBasis

Day count basis for RepoRate.

Default: 2

StartDate

Date when a bond actually starts (the date from which a bond cash flow is considered). To make an instrument forward-starting, specify this date as a future date. If you do not specify StartDate, the effective start date is the Settle date.

Output Arguments

FutPrice

Quoted futures price, per $100 notional.

AccrInt

Accrued interest due at delivery date, per $100 notional.

Examples

collapse all

This example shows how to compute the price for a bond future using the following data.

bndfutprice(.064, 129, '9/21/2000','12/29/2000', 1.3136, .0875, '8/15/2020')
ans = 98.1516

References

Burghardt, G., T. Belton, M. Lane, and J. Papa. The Treasury Bond Basis. McGraw-Hill, 2005.

Krgin, Dragomir. Handbook of Global Fixed Income Calculations. John Wiley & Sons, 2002.

Introduced in R2009b

Was this topic helpful?