Treasury Bills | Treasury Notes | Treasury Bonds | |
---|---|---|---|
term | short-term | short or medium-term | long-term |
mature in | one year or less | 2, 3, 5, 7, or 10 years | 20 or 30 years |
Ref:- https://www.treasurydirect.gov/marketable-securities/understanding-pricing/
For bills not more than one half-year to maturity
high_rate = ((100-P) / 100) * (360 / r) investment_rate = ((100-P) / P) * (y / r)
Where P is the price, r is days to maturity, y is days in year (365 in normal year, 366 in leap year)
Ref:-
For example, on 2023-01-19, https://www.treasurydirect.gov/auctions/announcements-data-results/ showed
Security Term | CUSIP | Issue Date | Maturity Date | High Rate | Investment Rate |
---|---|---|---|---|---|
4-week | 912796Y60 | 01/24/2023 | 02/21/2023 | 4.480% | 4.558% |
Clicking on the CUSIP showed
CUSIP | Security Type | Security Term | Auction Date | Issue Date | Maturity Date | Price per $100 |
---|---|---|---|---|---|---|
912796Y60 | Bill | 4-Week | 01/19/2023 | 01/24/2023 | 02/21/2023 | 99.651556 |
$ ipython Python 3.10.8 | packaged by conda-forge | (main, Nov 24 2022, 14:07:00) [MSC v.1916 64 bit (AMD64)] IPython 8.7.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: P = 99.651556; r = 28; y = 365 In [2]: high_rate = ((100-P) / 100) * (360 / r) In [3]: high_rate Out[3]: 0.04479994285714294 In [4]: round(high_rate * 100, 3) Out[4]: 4.48 In [5]: investment_rate = ((100-P) / P) * (y / r) In [6]: investment_rate Out[6]: 0.04558098850530179 In [7]: round(investment_rate * 100, 3) Out[7]: 4.558