How Libor Rate is Calculated

LIBOR Rate Calculation Simulator

LIBOR Calculation Simulator

Simulate the historical "Trimmed Mean" methodology used by the Intercontinental Exchange (ICE) to calculate LIBOR based on panel bank submissions.

Panel Bank Submissions (Annualized %)

Enter the interest rates submitted by 8 hypothetical panel banks. The calculator will trim the top 25% (highest 2) and bottom 25% (lowest 2) and average the remaining rates.

Calculated LIBOR Rate

Calculation Breakdown:

function calculateLibor() { // 1. Get Values var b1 = parseFloat(document.getElementById('bank1').value); var b2 = parseFloat(document.getElementById('bank2').value); var b3 = parseFloat(document.getElementById('bank3').value); var b4 = parseFloat(document.getElementById('bank4').value); var b5 = parseFloat(document.getElementById('bank5').value); var b6 = parseFloat(document.getElementById('bank6').value); var b7 = parseFloat(document.getElementById('bank7').value); var b8 = parseFloat(document.getElementById('bank8').value); // Validation if (isNaN(b1) || isNaN(b2) || isNaN(b3) || isNaN(b4) || isNaN(b5) || isNaN(b6) || isNaN(b7) || isNaN(b8)) { alert("Please enter valid percentage rates for all bank submissions."); return; } // 2. Create Array and Sort (Ascending) var rates = [b1, b2, b3, b4, b5, b6, b7, b8]; rates.sort(function(a, b) { return a – b; }); // 3. Logic: Trim Top 25% and Bottom 25% // For 8 inputs: 25% of 8 is 2. // We remove the 2 lowest and 2 highest values. var trimCount = 2; var ratesUsed = []; var ratesExcludedLow = []; var ratesExcludedHigh = []; // Separate the data for (var i = 0; i < rates.length; i++) { if (i = rates.length – trimCount) { ratesExcludedHigh.push(rates[i]); } else { ratesUsed.push(rates[i]); } } // 4. Calculate Arithmetic Mean of remaining rates var sum = 0; for (var j = 0; j < ratesUsed.length; j++) { sum += ratesUsed[j]; } var average = sum / ratesUsed.length; // 5. Round to 5 decimal places (LIBOR standard) var finalRate = average.toFixed(5); // 6. Display Results document.getElementById('finalLibor').innerText = finalRate + "%"; // Build Breakdown HTML var breakdownHtml = "1. Sorted Submissions: [" + rates.join("%, ") + "%]"; breakdownHtml += "2. Trimming Outliers (Top/Bottom 25%):"; breakdownHtml += "Excluded Low: " + ratesExcludedLow.join("%, ") + "%"; breakdownHtml += "Excluded High: " + ratesExcludedHigh.join("%, ") + "%"; breakdownHtml += "3. Averaging Remaining Rates:"; breakdownHtml += "Inputs used: " + ratesUsed.join("%, ") + "%"; breakdownHtml += "Sum: " + sum.toFixed(5) + "% / Count: " + ratesUsed.length + ""; breakdownHtml += "Result: " + finalRate + "%"; document.getElementById('breakdownLog').innerHTML = breakdownHtml; document.getElementById('resultsArea').style.display = 'block'; }

How the LIBOR Rate Was Calculated

The London Interbank Offered Rate (LIBOR) was historically the most important number in the financial world, serving as the benchmark for trillions of dollars in financial products, from mortgages to student loans and interest rate swaps. While LIBOR has been largely phased out in favor of risk-free rates like SOFR (Secured Overnight Financing Rate), understanding its calculation methodology is crucial for understanding financial history and legacy contracts.

The "Trimmed Mean" Methodology

Unlike stock prices which are determined by actual trades, LIBOR was determined by daily submissions from a panel of major global banks. The methodology relied on a mathematical process known as a "trimmed arithmetic mean."

The goal of this method was to exclude outliers—submissions that were drastically higher or lower than the rest—to prevent a single bank from manipulating the average or to prevent specific credit issues at one bank from skewing the global benchmark.

Step-by-Step Calculation Process

Every business day around 11:00 AM London time, the Intercontinental Exchange (ICE) Benchmark Administration (IBA) performed the following steps:

  1. Collection: The IBA collected submissions from the Panel Banks. For US Dollar LIBOR, this typically involved a panel of 11 to 18 banks.
  2. Question: Each bank answered the question: "At what rate could you borrow funds, were you to do so by asking for and then accepting interbank offers in a reasonable market size just prior to 11 am?"
  3. Ranking: The received rates were sorted in descending order (from highest to lowest).
  4. Trimming: The top 25% (highest rates) and the bottom 25% (lowest rates) were excluded from the calculation.
    • Example: In a panel of 16 banks, the top 4 and bottom 4 submissions were discarded.
    • Example: In our simulator above (8 banks), the top 2 and bottom 2 are discarded.
  5. Averaging: The remaining 50% of rates were averaged (arithmetic mean).
  6. Rounding: The result was rounded to 5 decimal places to produce the official LIBOR rate for that specific currency and maturity (e.g., 3-Month USD LIBOR).

Why the Trimmed Mean Matters

The trimming process is a robust statistical method used to find the "center" of a dataset without being influenced by extreme anomalies. In the context of interbank lending:

  • Credit Stress: If one bank was in financial trouble, their borrowing cost might skyrocket. If a simple average were used, this single bank could artificially inflate the LIBOR rate for the whole world. Trimming the highest rates prevented this.
  • Manipulation: Trimming reduced the incentive for a bank to submit a falsely low rate to make themselves look healthier than they were, as the lowest rates were also discarded.

The Transition to Risk-Free Rates (RFRs)

Due to the decline in actual interbank unsecured lending and manipulation scandals, global regulators mandated a shift away from LIBOR. The replacement rates, such as SOFR (for USD) and SONIA (for GBP), are calculated differently. Unlike LIBOR, which relied on estimates and expert judgment (submissions), SOFR is based on actual overnight transactions in the Treasury repurchase market, making it a transaction-based benchmark rather than a submission-based one.

Leave a Comment