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 |
---|---|
Convert discount rate to yield. | |
Price Treasury bill given its yield or discount rate. | |
Break-even discount of repurchase agreement. | |
Yield and discount of Treasury bill given its price. | |
Convert yield to discount rate. | |
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
tbilldisc2yield
| tbillprice
| tbillrepo
| tbillyield
| tbillyield2disc
| tbillval01
| tbl2bond
| tr2bonds
| zbtprice
| zbtyield