This is machine translation

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

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


Price bond future given repo rates


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


[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


numBonds-by-1 vector of repo rates.


numBonds-by-1 vector of bond prices


numBonds-by-1 vector of future settle dates.


numBonds-by-1 vector of future delivery dates.


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


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


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

Parameter–Value Pairs


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


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


Issue date for a bond.


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

Default: 100


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.


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.


Number of coupons payments per year. Possible values include:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 6

  • 12

Default: 2


Day count basis for reinvestment rate.

Default: Identical to RepoBasis.


Compounding convention for reinvestment rate.

Default: Identical to RepoRate.


Day count basis for RepoRate.

Default: 2


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


Quoted futures price, per $100 notional.


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


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


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?