First Lien (1.5% Threshold)
Subordinate Lien (3.5% Threshold)
Calculated Rate Spread
Understanding the Rate Spread Calculation
The rate spread is a critical metric used by the Consumer Financial Protection Bureau (CFPB) and federal regulators to identify potentially higher-priced or discriminatory lending practices. Under the Home Mortgage Disclosure Act (HMDA) and Regulation Z, lenders must report the difference between the loan's Annual Percentage Rate (APR) and the Average Prime Offer Rate (APOR) for comparable transactions.
How the Calculation Works
The math behind the rate spread is straightforward, but the implications for compliance are significant:
Rate Spread = APR – APOR
If the APR is 7.25% and the APOR for that week (based on the loan term) is 6.00%, the rate spread is 1.25 percentage points.
A positive number indicates the loan is priced higher than the average prime offer.
HPML Thresholds and Reporting
A loan is classified as a Higher-Priced Mortgage Loan (HPML) if the spread exceeds specific thresholds established by the CFPB:
Lien Type
HPML Threshold
First Lien
≥ 1.5 percentage points
Subordinate Lien
≥ 3.5 percentage points
Compliance Example
Consider a borrower with a subordinate lien (second mortgage). If the APR is 10.5% and the APOR is 6.5%, the spread is 4.0%. Since this exceeds the 3.5% threshold for subordinate liens, the loan would be classified as an HPML, triggering specific appraisal and escrow requirements under Regulation Z.
function calculateSpread() {
var apr = parseFloat(document.getElementById('loanApr').value);
var apor = parseFloat(document.getElementById('aporValue').value);
var lien = document.getElementById('lienStatus').value;
var resultArea = document.getElementById('resultArea');
var spreadOutput = document.getElementById('spreadOutput');
var complianceStatus = document.getElementById('complianceStatus');
if (isNaN(apr) || isNaN(apor)) {
alert('Please enter valid numerical values for both APR and APOR.');
return;
}
var spread = apr – apor;
var spreadFormatted = spread.toFixed(3);
// Update Result Display
resultArea.style.display = 'block';
spreadOutput.innerText = spreadFormatted + '%';
var isHPML = false;
if (lien === 'first') {
if (spread >= 1.5) {
isHPML = true;
}
} else {
if (spread >= 3.5) {
isHPML = true;
}
}
if (isHPML) {
resultArea.style.backgroundColor = '#fff5f5';
spreadOutput.style.color = '#c53030';
complianceStatus.innerText = 'STATUS: HIGHER-PRICED MORTGAGE LOAN (HPML)';
complianceStatus.style.backgroundColor = '#feb2b2';
complianceStatus.style.color = '#9b2c2c';
} else {
resultArea.style.backgroundColor = '#f0fff4';
spreadOutput.style.color = '#2f855a';
complianceStatus.innerText = 'STATUS: BELOW HPML THRESHOLD';
complianceStatus.style.backgroundColor = '#9ae6b4';
complianceStatus.style.color = '#22543d';
}
}