Compound Annually (Added to Bond)
Compound Monthly (Added to Bond)
Paid Out Annually (Not Added)
Paid Out Monthly (Not Added)
Paid at Maturity (Simple Interest)
Please enter valid positive numbers for all fields.
Total Invested:–
Total Interest Earned:–
Final Maturity Value:–
*Figures are gross (before tax)
Understanding Fixed Rate Savings Bonds
A Fixed Rate Savings Bond is a secure investment vehicle where you lock away a lump sum of money for a set period, known as the "term," in exchange for a guaranteed interest rate. Unlike variable savings accounts where the rate can fluctuate based on central bank decisions, a fixed rate bond offers certainty regarding your return.
How This Calculator Works
This calculator determines the future value of your bond based on four critical factors:
Opening Deposit: The initial lump sum you invest.
Annual Fixed Rate: The percentage of interest the bank agrees to pay yearly (AER/Gross).
Bond Term: The duration the money is locked away (usually 1 to 5 years).
Interest Handling: How the interest is treated. It can either be compounded (added back to the balance to earn more interest) or paid out to a separate account (providing income but no compounding).
Calculation Example
Imagine you invest 10,000 into a 3-year fixed rate bond with an interest rate of 5.00%.
Scenario A: Compounding Annually
If the interest is added to the bond each year:
Year 1: 10,000 × 5% = 500. Balance: 10,500.
Year 2: 10,500 × 5% = 525. Balance: 11,025.
Year 3: 11,025 × 5% = 551.25.
Total Maturity Value: 11,551.25
Scenario B: Paid Out Annually
If the interest is taken as income:
Year 1: 500 paid out. Bond stays at 10,000.
Year 2: 500 paid out. Bond stays at 10,000.
Year 3: 500 paid out. Bond stays at 10,000.
Total Interest: 1,500. Final Bond Value: 10,000.
Why Choose a Fixed Rate Bond?
Fixed rate bonds are ideal for savers who do not need immediate access to their capital. They typically offer higher interest rates than easy-access accounts. However, most fixed bonds have strict withdrawal penalties, meaning you often cannot access your funds until the term ends without losing a significant portion of the interest earned.
Glossary of Terms
AER (Annual Equivalent Rate): A figure used to compare savings accounts, showing what the interest rate would be if interest was paid and compounded once each year.
Maturity: The date your fixed term ends and your money (plus interest) is returned to you.
Compounding: The process of earning interest on your interest.
function calculateBond() {
// 1. Get input elements
var depositInput = document.getElementById("bondDeposit");
var rateInput = document.getElementById("bondRate");
var termInput = document.getElementById("bondTerm");
var handlingInput = document.getElementById("interestHandling");
var errorMsg = document.getElementById("errorMsg");
var resultsDiv = document.getElementById("resultsSection");
// 2. Parse values
var P = parseFloat(depositInput.value); // Principal
var r = parseFloat(rateInput.value); // Annual Rate %
var t = parseFloat(termInput.value); // Time in years
var handling = handlingInput.value;
// 3. Validation
if (isNaN(P) || isNaN(r) || isNaN(t) || P <= 0 || r < 0 || t <= 0) {
errorMsg.style.display = "block";
resultsDiv.style.display = "none";
return;
}
// Hide error if valid
errorMsg.style.display = "none";
var totalInterest = 0;
var finalValue = 0;
var rateDecimal = r / 100;
// 4. Calculation Logic
if (handling === "compound_annually") {
// Formula: A = P(1 + r)^t
finalValue = P * Math.pow((1 + rateDecimal), t);
totalInterest = finalValue – P;
} else if (handling === "compound_monthly") {
// Formula: A = P(1 + r/n)^(nt), n=12
var n = 12;
finalValue = P * Math.pow((1 + rateDecimal / n), (n * t));
totalInterest = finalValue – P;
} else if (handling === "paid_annually") {
// Simple interest paid out yearly: (P * r) * t
var annualInterest = P * rateDecimal;
totalInterest = annualInterest * t;
// The bond value itself doesn't grow, you just get the principal back + interest separated
finalValue = P + totalInterest; // We show total value generated (Principal + Interest Payouts)
} else if (handling === "paid_monthly") {
// Monthly payout (Simple): (P * r) * t
// Note: Monthly interest implies r/12 paid 12t times
var monthlyInterest = (P * rateDecimal) / 12;
totalInterest = monthlyInterest * (12 * t);
finalValue = P + totalInterest;
} else if (handling === "maturity") {
// Usually simple interest paid at end, unless specified otherwise.
// Standard simple interest logic: I = P * r * t
totalInterest = P * rateDecimal * t;
finalValue = P + totalInterest;
}
// 5. Formatting Output
// Helper function for currency format
function formatMoney(amount) {
return amount.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
document.getElementById("displayPrincipal").innerText = formatMoney(P);
document.getElementById("displayInterest").innerText = formatMoney(totalInterest);
document.getElementById("displayTotal").innerText = formatMoney(finalValue);
// 6. Show results
resultsDiv.style.display = "block";
}