Financial Toolbox™ software provides the following suite of functions for computing price and yield on Treasury bills.
Treasury Bill Functions
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 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.
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
Cash Out Flow
Cash In Flow
Payment of repo
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.