Calculates the bond-equivalent yield (BEY) of every Treasury bill from its price. Bills are quoted on a discount-yield basis, which understates the return an investor earns because it is computed on face value rather than the (lower) purchase price, and uses a 360-day rather than a 365-day year. The bond-equivalent yield restates the discount yield on a basis that is comparable to coupon-bearing notes and bonds.

The formula is as follows:

\[\text{Discount Yield} = (100 - \text{Price}) / 100 \cdot 360 / \text{Days to Maturity}\] \[\text{BEY} = 365 \cdot \text{Discount Yield} / (360 - \text{Days to Maturity} \cdot \text{Discount Yield}),\;\; \text{for 182.5 days or less}\] \[\text{BEY} = (- 2t + 2 \cdot \sqrt{t ^{2} - (2t - 1) \cdot (1 - 100 / \text{Price})}) / (2t - 1),\;\; \text{with}\; t = \text{Days to Maturity} / 365,\;\; \text{for more than 182.5 days}\]

A bill with half a year or less remaining takes the simple restatement onto the purchase price and a 365-day year. Beyond that an equivalent coupon-bearing note would have paid a coupon at the six month point, so the U.S. Treasury’s semi-annually compounded solution (31 CFR 356, Appendix B) is used instead. Applying the simple formula to a 52-week bill instead overstates its yield by roughly seven basis points.

The prices are the Treasury’s daily FedInvest prices, see get_treasury_securities. To convert a discount yield of your own, use bond_model.get_bond_equivalent_yield.

Also known as: BEY, coupon-equivalent yield, investment rate, T-bill yield.

Bond-Equivalent Yield in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_bond_equivalent_yield as shown below.

from financetoolkit import FixedIncome

fixedincome = FixedIncome()

bills = fixedincome.get_bond_equivalent_yield(date="2026-11-05")

bills.iloc[::4, :-1]

Or, after setting up the Finance Toolkit MCP, ask:

What discount yields and bond-equivalent yields did US Treasury bills offer on 5 November 2026?

Which returns:

CUSIP Maturity Days to Maturity Price Discount Yield Bond-Equivalent Yield
912797VW4 2026-11-10 5 99.9576 0.0306 0.031
912797VY0 2026-11-24 19 99.8075 0.0365 0.0371
912797WE3 2026-12-08 33 99.6551 0.0376 0.0383
912797WG8 2026-12-22 47 99.4978 0.0385 0.0392
912797WN3 2027-01-05 61 99.3367 0.0391 0.04
912797WQ6 2027-01-19 75 99.1819 0.0393 0.0401
912797WS2 2027-02-02 89 99.0271 0.0394 0.0403
912797WZ6 2027-02-16 103 98.8582 0.0399 0.0409
912797XB8 2027-03-02 117 98.6982 0.0401 0.0411
912797WL7 2027-03-25 140 98.4401 0.0401 0.0413
912797WV5 2027-04-22 168 98.1073 0.0406 0.0419
912797VF1 2027-06-10 217 97.57 0.0403 0.0418
912797WJ2 2027-09-30 329 96.2827 0.0407 0.0424

Parameters

get_bond_equivalent_yield accepts the following parameters.

ParameterTypeDescriptionExample
bondslist[str] | str | NoneThe CUSIPs (or US ISINs) of the bills, a list or a comma-separated string. Defaults to None, every bill.None, every bill
datestr | NoneThe day of the prices (YYYY-MM-DD). Defaults to None, the latest day with prices."2025-03-31"
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the rounding of the class.2
Share