# tfutpricebyrepo

Calculates Treasury bond futures price given the implied repo rates

## Syntax

``[QtdFutPrice,AccrInt] = tfutpricebyrepo(RepoData,ReinvestData,Price,Settle,MatFut,ConvFactor,CouponRate,Maturity)``

## Description

example

````[QtdFutPrice,AccrInt] = tfutpricebyrepo(RepoData,ReinvestData,Price,Settle,MatFut,ConvFactor,CouponRate,Maturity)` computes the theoretical futures bond price given the settlement price, the repo/funding rates, and the reinvestment rate.```

## Examples

collapse all

This example shows how to compute the quoted futures price and accrued interest due on the target delivery date, given the following data.

```RepoData = [0.020 2]; ReinvestData = [0.018 3]; Price = [114.416; 113.171]; Settle = datetime(2002,11,15); MatFut = [datetime(2002,12,15) ; datetime(2003,3,15)]; ConvFactor = [1 ; 0.9854]; CouponRate = [0.06;0.0575]; Maturity = [datetime(2009,8,15) ; datetime(2010,8,15)]; [QtdFutPrice AccrInt] = tfutpricebyrepo(RepoData, ... ReinvestData, Price, Settle, MatFut, ConvFactor, CouponRate, ... Maturity)```
```QtdFutPrice = 2×1 114.1201 113.7090 ```
```AccrInt = 2×1 1.9891 0.4448 ```

## Input Arguments

collapse all

Simple term repo/funding rates, specified as a number of futures `NFUT`-by-`2` matrix of rates in decimal and their bases in the form of ```[RepoRate RepoBasis]```.

Specify `RepoBasis` as `2` = actual/360 or `3` = actual/365.

Data Types: `double`

Reinvestment of intervening coupons, specified as a number of futures `NFUT`-by-`2` matrix of rates and bases in the form of `[ReinvestRate ReinvestBasis]`.

`ReinvestRate` is the simple reinvestment rate, in decimal. Specify `ReinvestBasis` as `0` = not reinvested, `2` = actual/360, or `3` = actual/365.

Data Types: `double`

Current bond price per \$100 notional, specified as a scalar numeric or an `NINST`-by-`1` vector.

Data Types: `double`

Settlement/valuation date of futures contract, specified as a scalar or an `NINST`-by-`1` vector using a datetime array, string array, or date character vectors.

To support existing code, `tfutpricebyrepo` also accepts serial date numbers as inputs, but they are not recommended.

Maturity dates (or anticipated delivery dates) of futures contract, specified as a scalar or an `NINST`-by-`1` vector using a datetime array, string array, or date character vectors.

To support existing code, `tfutpricebyrepo` also accepts serial date numbers as inputs, but they are not recommended.

Conversion factor, specified using `convfactor`.

Data Types: `double` | `char` | `cell`

Underlying bond annual coupon, specified as a scalar numeric decimal or an `NINST`-by-`1` vector of decimals.

Data Types: `double`

Underlying bond maturity date, specified as a scalar or an `NINST`-by-`1` vector using a datetime array, string array, or date character vectors.

To support existing code, `tfutpricebyrepo` also accepts serial date numbers as inputs, but they are not recommended.

## Output Arguments

collapse all

Quoted futures price, per \$100 notional, returned as a `NINST`-by-`1` vector.

Accrued Interest due at delivery date, per \$100 notional, returned as a `NINST`-by-`1` vector.

## Version History

Introduced before R2006a

expand all