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