How is the Sofr Rate Calculated

SOFR Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; } .calculator-container { background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 30px; margin-bottom: 40px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .calculator-title { font-size: 24px; font-weight: 700; margin-bottom: 25px; color: #2c3e50; text-align: center; } .input-group { margin-bottom: 20px; } .input-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #495057; } .input-group input, .input-group select { width: 100%; padding: 12px; border: 1px solid #ced4da; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .input-group input:focus { border-color: #4dabf7; outline: none; box-shadow: 0 0 0 3px rgba(77, 171, 247, 0.2); } .calc-btn { display: block; width: 100%; padding: 14px; background-color: #228be6; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: 600; cursor: pointer; transition: background-color 0.2s; } .calc-btn:hover { background-color: #1c7ed6; } .results-section { margin-top: 30px; background: #fff; border: 1px solid #dee2e6; border-radius: 6px; padding: 20px; display: none; } .result-row { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #f1f3f5; } .result-row:last-child { border-bottom: none; } .result-label { color: #868e96; font-weight: 500; } .result-value { font-weight: 700; color: #212529; } .highlight-result { color: #228be6; font-size: 1.1em; } article { background: #fff; padding: 20px 0; } h1, h2, h3 { color: #2c3e50; } p { margin-bottom: 15px; } ul { margin-bottom: 20px; padding-left: 20px; } .info-box { background-color: #e7f5ff; border-left: 4px solid #339af0; padding: 15px; margin: 20px 0; }
SOFR Interest & Accrual Calculator
Actual/360 (Standard USD) Actual/365 (Standard GBP)
All-In Rate (SOFR + Margin): 0.00%
Simple Interest Accrual: 0.00
Compounded Interest Accrual: 0.00
Effective Annualized Rate (EAR): 0.00%
function calculateSOFR() { var notional = parseFloat(document.getElementById("notionalAmount").value); var sofrRate = parseFloat(document.getElementById("sofrIndex").value); var marginBps = parseFloat(document.getElementById("spreadMargin").value); var days = parseInt(document.getElementById("accrualDays").value); var dayBasis = parseInt(document.getElementById("dayCount").value); if (isNaN(notional) || isNaN(sofrRate) || isNaN(marginBps) || isNaN(days)) { alert("Please enter valid numeric values for all fields."); return; } // Convert Margin from Basis Points to Percentage (e.g., 150 bps = 1.5%) var marginPercent = marginBps / 100; // Total Interest Rate var allInRate = sofrRate + marginPercent; // Daily Rate Factor var dailyRate = allInRate / 100 / dayBasis; // Simple Interest Calculation // Formula: Principal * Rate * (Days / Basis) var simpleInterest = notional * (allInRate / 100) * (days / dayBasis); // Compounded Interest Calculation (Simulation assuming constant rate for the period) // Formula: Principal * [ (1 + DailyRate)^Days – 1 ] // Note: Real SOFR fluctuates daily, this calculates the projection based on the input rate. var compoundFactor = Math.pow(1 + dailyRate, days); var compoundInterest = notional * (compoundFactor – 1); // Effective Annualized Rate (EAR) based on the compounding var ear = (Math.pow(1 + dailyRate, dayBasis) – 1) * 100; // Display Results document.getElementById("result").style.display = "block"; document.getElementById("resTotalRate").textContent = allInRate.toFixed(4) + "%"; // Formatting currency var formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }); document.getElementById("resSimple").textContent = formatter.format(simpleInterest); document.getElementById("resCompound").textContent = formatter.format(compoundInterest); document.getElementById("resEAR").textContent = ear.toFixed(4) + "%"; }

How is the SOFR Rate Calculated?

The Secured Overnight Financing Rate (SOFR) is the premier benchmark interest rate for dollar-denominated derivatives and loans, replacing LIBOR. Unlike its predecessor, which was based on estimates submitted by banks, SOFR is based on actual transaction data in the Treasury repurchase market. Understanding how the SOFR rate is calculated requires looking at both the underlying methodology used by the New York Fed and how that rate applies to financial products.

1. The Underlying Methodology: Volume-Weighted Median

The Federal Reserve Bank of New York calculates the official SOFR rate every business day based on transactions from the previous day. The calculation is not a simple average; it is a volume-weighted median. This methodology ensures the rate reflects the central tendency of the market and is resistant to outliers or manipulation.

The Data Source: The rate is derived from over $1 trillion in daily transactions across three specific segments of the Treasury repo market:
  • Tri-party repo data (TGCR)
  • General Collateral Finance (GCF) repo data
  • Bilateral Treasury repo transactions clearing through FICC

To calculate the rate, the New York Fed orders all eligible transactions from the lowest rate to the highest rate. They then identify the rate associated with the 50th percentile of the dollar volume. This specific rate becomes the SOFR fix for that day.

2. Applying SOFR to Loans: Simple vs. Compounded

While the Fed calculates the daily benchmark, borrowers and lenders need to know how this applies to their interest payments. Since SOFR is an overnight rate, it fluctuates every day. To determine the interest due over a longer period (e.g., a monthly or quarterly interest period), the daily rates must be aggregated.

Simple Average SOFR

In a simple average calculation, you take the arithmetic mean of the daily SOFR rates over the interest period. This is calculated as:

Interest = Principal × (Sum of Daily Rates / Number of Days) × (Days / 360)

This method is less common for derivatives but is sometimes used in simpler loan products.

Compounded SOFR (The Standard)

Most commercial contracts and derivatives use Compounded SOFR in Arrears. This reflects the time value of money, acknowledging that interest earned overnight can earn further interest the next day. The calculator above demonstrates this effect.

The formula for the compounding factor over an interest period is:

Product of [1 + (Daily Rate × Days Accrued) / 360] – 1

Key Calculation Inputs

  • Notional Principal: The total amount of the loan or asset.
  • SOFR Index: The annualized percentage rate published by the NY Fed.
  • Spread/Margin: A fixed percentage added to SOFR to account for borrower credit risk.
  • Day Count Convention: The U.S. dollar standard is usually Actual/360, meaning the interest is calculated using the actual number of days in the period divided by a 360-day year.

Why the Calculation Method Matters

The shift to SOFR impacts calculation logic significantly compared to LIBOR. Because SOFR is a risk-free rate (collateralized by Treasuries), it is generally lower than unsecured lending rates. Therefore, a "Spread Adjustment" is often calculated to align legacy contracts. Furthermore, because it is backward-looking (calculated "in arrears"), the exact interest payment is usually not known until the end of the interest period, unlike forward-looking term rates.

Leave a Comment