# Documentation

### This is machine translation

Translated by
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.

# tfutbyyield

Future prices of Treasury bonds given current yield

## Syntax

```[QtdFutPrice,AccrInt] = tfutbyyield(SpotCurve,Yield,SettleFut,MatFut,ConvFactor,CouponRate,Maturity,Interpolation)
```

## Arguments

 `SpotCurve` Treasury spot curve. A number of futures (`NFUT`)-by-`3` matrix in the form of `[SpotDates SpotRates Compounding]`.Allowed compounding values are `−1`, `1`, `2` (default), `3`, `4`, and `12`, where `−1` is continuous compounding. `Yield` Scalar or vector containing yield to maturity of bonds. Use `bndyield` for theoretical value of bond yield. `SettleFut` Scalar or vector of identical elements containing settlement date of futures contract. `MatFut` Scalar or vector containing maturity dates (or anticipated delivery dates) of futures contract. `ConvFactor` Conversion factor. See `convfactor`. `CouponRate` Scalar or vector containing underlying bond annual coupon in decimal. `Maturity` Scalar or vector containing underlying bond maturity. `Interpolation` (Optional) Interpolation method. Available methods are (`0`) nearest (`1`) linear, and (`2`) cubic. Default = `1`. See `interp1` for more information.

Inputs (except `SpotCurve`) must either be a scalar or a vector of size equal to the number of Treasury futures (`NFUT`) by `1` or `1`-by-`NFUT`.

## Description

`[QtdFutPrice,AccrInt] = tfutbyyield(SpotCurve,Yield,SettleFut,MatFut,ConvFactor,CouponRate,Maturity,Interpolation)` computes future prices of Treasury notes and bonds given current yields of Treasury bonds/notes. The output arguments are:

• `QtdFutPrice` — Quoted futures price, per \$100 notional.

• ` AccrInt` — Accrued Interest due at delivery date, per \$100 notional.

In addition, you can use the Financial Instruments Toolbox™ method `getZeroRates` for an `IRDataCurve` object with a `Dates` property to create a vector of dates and data acceptable for `tfutbyyield`. For more information, see Converting an IRDataCurve or IRFunctionCurve Object.

## Examples

collapse all

This example shows how to determine the future price of two Treasury bonds based upon a spot rate curve constructed from data for November 14, 2002.

```% construct spot curve from Nov 14, data Bonds = [datenum('02/13/2003'), 0; datenum('05/15/2003'), 0; datenum('10/31/2004'), 0.02125; datenum('11/15/2007'), 0.03; datenum('11/15/2012'), 0.04; datenum('02/15/2031'), 0.05375]; Yields = [1.20; 1.25; 1.86; 2.99; 4.02; 4.93]/100; Settle = datenum('11/15/2002'); [ZeroRates, CurveDates] = ... zbtyield(Bonds, Yields, Settle); SpotCurve = [CurveDates, ZeroRates]; % calculate a particular bond's future quoted price RefDate = [datenum('1-Dec-2002'); datenum('1-Mar-2003')]; MatFut = [datenum('15-Dec-2002'); datenum('15-Mar-2003')]; Maturity = [datenum('15-Aug-2009');datenum('15-Aug-2010')]; CouponRate = [0.06;0.0575]; ConvFactor = convfactor(RefDate, Maturity, CouponRate); Yield = [0.03576; 0.03773]; Interpolation = 1; [QtdFutPrice, AccrInt] = tfutbyyield(SpotCurve, Yield, Settle, ... MatFut, ConvFactor, CouponRate, Maturity, Interpolation)```
```QtdFutPrice = 114.0416 113.4034 ```
```AccrInt = 1.9891 0.4448 ```

## See Also

### Topics

#### Introduced before R2006a

Was this topic helpful?

Download ebook