Main Content

Computing Treasury Bill Price and Yield

Introduction

Financial Toolbox™ software provides the following suite of functions for computing price and yield on Treasury bills.

Treasury Bill Functions

Function

Purpose

tbilldisc2yield

Convert discount rate to yield.

tbillprice

Price Treasury bill given its yield or discount rate.

tbillrepo

Break-even discount of repurchase agreement.

tbillyield

Yield and discount of Treasury bill given its price.

tbillyield2disc

Convert yield to discount rate.

tbillval01

The value of 1 basis point (one hundredth of one percentage point, or 0.0001) given the characteristics of the Treasury bill, as represented by its settlement and maturity dates. You can relate the basis point to discount, money-market, or bond-equivalent yield.

For all functions with yield in the computation, you can specify yield as money-market or bond-equivalent yield. The functions all assume a face value of $100 for each Treasury bill.

Treasury Bill Repurchase Agreements

The following example shows how to compute the break-even discount rate. This is the rate that correctly prices the Treasury bill such that the profit from selling the tail equals 0.

Maturity = '26-Dec-2002';
InitialDiscount = 0.0161;
PurchaseDate = '26-Sep-2002';
SaleDate = '26-Oct-2002';
RepoRate = 0.0149;

BreakevenDiscount = tbillrepo(RepoRate, InitialDiscount, ... 
PurchaseDate, SaleDate, Maturity)
BreakevenDiscount =

    0.0167

You can check the result of this computation by examining the cash flows in and out from the repurchase transaction. First compute the price of the Treasury bill on the purchase date (September 26).

PriceOnPurchaseDate = tbillprice(InitialDiscount, ... 
PurchaseDate, Maturity, 3)
PriceOnPurchaseDate =

   99.5930

Next compute the interest due on the repurchase agreement.

RepoInterest = ... 
RepoRate*PriceOnPurchaseDate*days360(PurchaseDate,SaleDate)/360
RepoInterest =

    0.1237

RepoInterest for a 1.49% 30-day term repurchase agreement (30/360 basis) is 0.1237.

Finally, compute the price of the Treasury bill on the sale date (October 26).

PriceOnSaleDate = tbillprice(BreakevenDiscount, SaleDate, ... 
Maturity, 3)
PriceOnSaleDate =

   99.7167

Examining the cash flows, observe that the break-even discount causes the sum of the price on the purchase date plus the accrued 30-day interest to be equal to the price on sale date. The next table shows the cash flows.

Cash Flows from Repurchase Agreement

Date

Cash Out Flow

Cash In Flow

 

9/26/2002

Purchase T-bill

99.593

Repo money

99.593

10/26/2002

Payment of repo

99.593

Sell T-bill

99.7168

 

Repo interest

0.1238

  
 

                    Total

199.3098

 

199.3098

Treasury Bill Yields

Using the same data as before, you can examine the money-market and bond-equivalent yields of the Treasury bill at the time of purchase and sale. The function tbilldisc2yield can perform both computations at one time.

Maturity = '26-Dec-2002';
InitialDiscount = 0.0161;
PurchaseDate = '26-Sep-2002';
SaleDate = '26-Oct-2002';
RepoRate = 0.0149;
BreakevenDiscount = tbillrepo(RepoRate, InitialDiscount, ... 
PurchaseDate, SaleDate, Maturity)

[BEYield, MMYield] = ...
tbilldisc2yield([InitialDiscount; BreakevenDiscount], ... 
[PurchaseDate; SaleDate], Maturity)
BreakevenDiscount =

    0.0167


BEYield =

    0.0164
    0.0170


MMYield =

    0.0162
    0.0168

For the short Treasury bill (fewer than 182 days to maturity), the money-market yield is 360/365 of the bond-equivalent yield, as this example shows.

See Also

| | | | | | | | |

Related Examples

More About