A Certificate of Deposit (CD) is a type of savings account offered by banks and credit unions that holds a fixed amount of money for a fixed period of time, such as six months, one year, or five years. In exchange for keeping your money locked up for that term, the financial institution typically pays you a higher interest rate than it would on a regular savings account.
The Annual Percentage Rate (APR) is a crucial metric when comparing CDs. While it's often associated with loans, for CDs, the APR represents the effective annual rate of return you can expect to earn on your deposit, taking into account compounding. A higher APR generally means more earnings on your investment.
When evaluating CDs, it's important to look beyond the advertised "rate" and focus on the APR. This is because different CDs might compound interest at different frequencies (e.g., daily, monthly, quarterly, annually). The APR normalizes these differences, allowing for a more accurate comparison of the true yield.
How APR is Calculated for a CD
The calculation of APR for a CD essentially tells you what your total earnings would be if the interest earned were reinvested over a full year, considering the compounding frequency.
The general formula to calculate the APR (or APY – Annual Percentage Yield, which is often used interchangeably for deposit accounts) is:
APR = (1 + (Nominal Rate / Number of Compounding Periods))^Number of Compounding Periods - 1
For a CD, the "Nominal Rate" is the stated interest rate, and the "Number of Compounding Periods" is how many times per year the interest is calculated and added to the principal.
CD APR Calculator
function calculateAPR() {
var principalAmount = parseFloat(document.getElementById("principalAmount").value);
var nominalRate = parseFloat(document.getElementById("nominalRate").value);
var compoundingPeriods = parseFloat(document.getElementById("compoundingPeriods").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
if (isNaN(principalAmount) || isNaN(nominalRate) || isNaN(compoundingPeriods) || principalAmount <= 0 || nominalRate < 0 || compoundingPeriods <= 0) {
resultDiv.innerHTML = "Please enter valid positive numbers for all fields.";
return;
}
// Convert nominal rate from percentage to decimal
var rateDecimal = nominalRate / 100;
// Calculate APR
var apr = Math.pow(1 + (rateDecimal / compoundingPeriods), compoundingPeriods) – 1;
// Calculate total interest earned over one year
var totalInterest = principalAmount * apr;
// Display the results
resultDiv.innerHTML =
"Calculated APR (APY): " + (apr * 100).toFixed(4) + "%" + "" +
"Total Interest Earned in 1 Year: $" + totalInterest.toFixed(2);
}