Determine the discount yield and investment rate for US Treasury Bills.
Total Discount Earned:
Bank Discount Yield (360-day):
Investment Rate / BEY (365-day):
Holding Period Return:
How T-Bill Rates are Calculated
Treasury Bills (T-Bills) are unique because they do not pay traditional interest. Instead, they are sold at a "discount" to their face value. Your return is the difference between what you paid and the face value you receive at maturity.
Key Formulas Used
This calculator utilizes two primary methods to express the rate of return:
Bank Discount Yield: This uses a 360-day year and is calculated based on the face value. Formula: ((Face Value - Price) / Face Value) * (360 / Days to Maturity).
Investment Rate (Bond Equivalent Yield): This is the industry standard for comparing T-bills to other bonds. It uses a 365-day year and is calculated based on the purchase price. Formula: ((Face Value - Price) / Price) * (365 / Days to Maturity).
Practical Example
Suppose you purchase a 13-week (91-day) T-Bill with a Face Value of 10,000 for a Purchase Price of 9,875.
The Investment Rate (BEY) is almost always higher than the Bank Discount Yield. This is because the Investment Rate uses a longer year (365 days) and a smaller denominator (the price you actually paid, rather than the face value). When comparing T-bills to certificates of deposit (CDs) or other fixed-income assets, the Investment Rate is the more accurate metric for comparison.
function calculateTBillReturn() {
var par = parseFloat(document.getElementById('parValue').value);
var price = parseFloat(document.getElementById('purchasePrice').value);
var days = parseFloat(document.getElementById('daysToMaturity').value);
var resultsDiv = document.getElementById('tbResults');
if (isNaN(par) || isNaN(price) || isNaN(days) || days <= 0 || price <= 0 || par = par) {
alert('Purchase price must be less than the face value for a standard T-Bill calculation.');
return;
}
// 1. Total Discount (Profit)
var discount = par – price;
// 2. Bank Discount Yield (360-day basis, based on Par)
// Formula: (Discount / Par) * (360 / Days)
var discountYield = (discount / par) * (360 / days) * 100;
// 3. Investment Rate / Bond Equivalent Yield (365-day basis, based on Price)
// Formula: (Discount / Price) * (365 / Days)
var investmentRate = (discount / price) * (365 / days) * 100;
// 4. Holding Period Return
var hpr = (discount / price) * 100;
// Display Results
document.getElementById('resDiscount').innerText = '$' + discount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resDiscountYield').innerText = discountYield.toFixed(3) + '%';
document.getElementById('resInvestmentRate').innerText = investmentRate.toFixed(3) + '%';
document.getElementById('resHPR').innerText = hpr.toFixed(3) + '%';
resultsDiv.style.display = 'block';
resultsDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}