How to Calculate Floating Rate

Floating Interest Rate Calculator

Current market rate (e.g., SOFR, LIBOR, or Prime Rate)
The fixed percentage points added by the lender

Fully Indexed Rate:

0.00%

How to Calculate a Floating Interest Rate

A floating rate, also known as a variable rate, is an interest rate that fluctuates over time because it is tied to an underlying benchmark interest rate or index. Unlike fixed rates, floating rates change periodically based on market conditions.

The Floating Rate Formula

Floating Rate = Benchmark Index Rate + Spread (Margin)

Key Components

  • Benchmark Index: This is the base rate determined by the market. Common examples include the Secured Overnight Financing Rate (SOFR), the Prime Rate, or Treasury Bill yields.
  • Spread (Margin): This is a fixed percentage added to the index by the financial institution. This covers the lender's operating costs and profit margin, and it stays constant throughout the life of the agreement.

Real-World Example

Suppose you have a commercial agreement where the rate is defined as SOFR + 2.5%. If the current SOFR (the benchmark) is 5.30%, your calculation would be:

5.30% (Index) + 2.50% (Spread) = 7.80% (Total Floating Rate)

If the SOFR index drops to 4.00% next month, your total rate would automatically adjust to 6.50%.

function calculateFloatingRate() { var benchmark = document.getElementById('benchmarkRate').value; var spread = document.getElementById('spreadMargin').value; var resultDiv = document.getElementById('rateResult'); var display = document.getElementById('finalRateDisplay'); var explanation = document.getElementById('rateExplanation'); if (benchmark === "" || spread === "") { alert("Please enter values for both the Benchmark Rate and the Spread."); return; } var numBenchmark = parseFloat(benchmark); var numSpread = parseFloat(spread); if (isNaN(numBenchmark) || isNaN(numSpread)) { alert("Please enter valid numeric values."); return; } var totalRate = numBenchmark + numSpread; display.innerHTML = totalRate.toFixed(3) + "%"; explanation.innerHTML = "Calculated by adding " + numBenchmark.toFixed(2) + "% (Index) and " + numSpread.toFixed(2) + "% (Spread)."; resultDiv.style.display = "block"; // Scroll result into view smoothly resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment