Calculate Discount Yield and Bond Equivalent Yield
$
$
Please check your inputs. Purchase Price must be lower than Face Value, and Days to Maturity must be greater than 0.
Discount Amount:–
Bank Discount Yield (Annualized):–
Investment Rate (Bond Equivalent Yield):–
Return on Investment (ROI):–
How to Calculate Treasury Bill Rates
Treasury Bills (T-Bills) are short-term government debt obligations backed by the United States Department of the Treasury with a maturity of one year or less. Unlike traditional bonds that pay semi-annual interest (coupons), T-Bills are sold at a discount to their face value.
When you purchase a T-Bill, you pay less than the face value (par value). When the bill matures, the government pays you the full face value. The "interest" you earn is simply the difference between what you paid and the face value.
Understanding the Two Key Rates
When analyzing T-Bills, investors typically look at two different calculations. It is crucial to distinguish between them to accurately compare T-Bills with other investments.
1. Bank Discount Yield
This is the rate most commonly quoted when buying T-Bills. It uses a 360-day year convention, which is standard in money markets. However, it understates the true return because it is calculated based on the face value rather than the actual amount invested.
Discount Yield = [(Face Value – Purchase Price) / Face Value] × (360 / Days to Maturity)
2. Investment Rate (Bond Equivalent Yield)
The Investment Rate represents the actual annualized return on your invested capital. It is more accurate for comparing T-Bills to other bonds or savings accounts because it uses a 365-day year (or 366 for leap years) and calculates the return based on the purchase price.
Investment Rate = [(Face Value – Purchase Price) / Purchase Price] × (365 / Days to Maturity)
Calculation Example
Let's say you are looking at a T-Bill with the following characteristics:
As you can see, the Investment Rate (4.14%) is higher than the Discount Yield (4.00%) because it accounts for the fact that you only invested $980, not $1,000, and it uses the full calendar year.
Why the Difference Matters
If you are comparing a T-Bill to a high-yield savings account or a Certificate of Deposit (CD), you should use the Investment Rate (Bond Equivalent Yield). CDs and savings accounts calculate interest based on the amount deposited over a 365-day year. Using the Discount Yield would make the T-Bill look less attractive than it actually is.
Factors Affecting T-Bill Rates
Federal Reserve Policy: The Fed Funds Rate heavily influences short-term T-Bill yields.
Inflation Expectations: Higher inflation generally leads to higher yields as investors demand more return.
Economic Demand: In times of uncertainty, investors flock to T-Bills as a "safe haven," driving prices up and yields down.
function calculateTBillRate() {
// 1. Get input values
var faceValueInput = document.getElementById("tbillFaceValue").value;
var purchasePriceInput = document.getElementById("tbillPurchasePrice").value;
var daysMaturityInput = document.getElementById("tbillDays").value;
// 2. Parse values to numbers
var faceValue = parseFloat(faceValueInput);
var purchasePrice = parseFloat(purchasePriceInput);
var days = parseInt(daysMaturityInput);
// 3. Error Handling and Validation
var errorBox = document.getElementById("tbillError");
var resultBox = document.getElementById("tbillResults");
if (isNaN(faceValue) || isNaN(purchasePrice) || isNaN(days)) {
errorBox.style.display = "block";
errorBox.innerHTML = "Please enter valid numbers for all fields.";
resultBox.style.display = "none";
return;
}
if (faceValue <= 0 || purchasePrice <= 0 || days = faceValue) {
errorBox.style.display = "block";
errorBox.innerHTML = "Purchase Price usually must be lower than Face Value for a discount T-Bill.";
resultBox.style.display = "none";
// Note: In negative yield environments price can exceed par, but standard logic assumes discount.
// We allow the calculation but warn, or strictly enforce discount for standard calculator.
// Strict enforcement for this specific tool context:
return;
}
// Hide error if valid
errorBox.style.display = "none";
// 4. Perform Calculations
// Discount Amount
var discountAmount = faceValue – purchasePrice;
// Bank Discount Yield (360-day year convention)
// Formula: ((Face Value – Price) / Face Value) * (360 / Days)
var bankDiscountYield = (discountAmount / faceValue) * (360 / days);
// Investment Rate / Bond Equivalent Yield (365-day year convention)
// Formula: ((Face Value – Price) / Price) * (365 / Days)
var investmentRate = (discountAmount / purchasePrice) * (365 / days);
// Absolute ROI
var roi = (discountAmount / purchasePrice) * 100;
// 5. Format and Display Results
document.getElementById("resDiscountAmount").innerHTML = "$" + discountAmount.toFixed(2);
// Convert to percentage with 3 decimal places for precision
document.getElementById("resDiscountYield").innerHTML = (bankDiscountYield * 100).toFixed(3) + "%";
document.getElementById("resInvestmentRate").innerHTML = (investmentRate * 100).toFixed(3) + "%";
document.getElementById("resROI").innerHTML = roi.toFixed(3) + "%";
// Show results container
resultBox.style.display = "block";
}