Main Content

tfutpricebyrepo

Calculates Treasury bond futures price given the implied repo rates

Description

[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.

example

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