Fra Rate Calculator

FRA 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; background-color: #f9f9f9; } .calculator-container { background: #ffffff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 40px; border: 1px solid #e1e4e8; } .calculator-title { text-align: center; color: #2c3e50; margin-bottom: 25px; font-size: 24px; font-weight: 700; } .input-group { margin-bottom: 20px; } .input-row { display: flex; gap: 20px; margin-bottom: 20px; } .input-col { flex: 1; } label { display: block; margin-bottom: 8px; font-weight: 600; color: #4a5568; font-size: 14px; } input, select { width: 100%; padding: 12px; border: 1px solid #cbd5e0; border-radius: 6px; font-size: 16px; box-sizing: border-box; transition: border-color 0.2s; } input:focus, select:focus { outline: none; border-color: #3182ce; box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.1); } .calculate-btn { width: 100%; background-color: #2b6cb0; color: white; border: none; padding: 15px; border-radius: 6px; font-size: 18px; font-weight: 600; cursor: pointer; transition: background-color 0.2s; } .calculate-btn:hover { background-color: #2c5282; } #result-container { margin-top: 25px; padding: 20px; background-color: #ebf8ff; border: 1px solid #bee3f8; border-radius: 6px; display: none; text-align: center; } .result-label { color: #2d3748; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; } .result-value { color: #2b6cb0; font-size: 32px; font-weight: 800; } .result-subtext { font-size: 13px; color: #718096; margin-top: 5px; } .error-msg { color: #e53e3e; font-size: 14px; margin-top: 5px; display: none; } article { background: white; padding: 30px; border-radius: 12px; border: 1px solid #e1e4e8; } h2 { color: #2c3e50; border-bottom: 2px solid #edf2f7; padding-bottom: 10px; margin-top: 30px; } h3 { color: #4a5568; margin-top: 20px; } p { color: #4a5568; margin-bottom: 15px; } ul { color: #4a5568; padding-left: 20px; } li { margin-bottom: 8px; } .formula-box { background-color: #f7fafc; padding: 15px; border-left: 4px solid #4299e1; font-family: "Courier New", Courier, monospace; margin: 15px 0; overflow-x: auto; } @media (max-width: 600px) { .input-row { flex-direction: column; gap: 0; } .input-col { margin-bottom: 15px; } }
FRA (Forward Rate Agreement) Calculator
Actual/360 (Money Market Standard) Actual/365 (Bond Basis)
Implied Forward Rate
0.00%
For the period between t1 and t2

Understanding the FRA Rate Calculator

A Forward Rate Agreement (FRA) is a financial contract between two parties to exchange interest rate payments on a notional principal amount at a future date. This calculator helps investors and treasurers determine the implied forward rate based on current spot rates for two different maturities.

By locking in an FRA, a borrower can hedge against rising interest rates, while a lender can hedge against falling rates. The calculated rate represents the market's expectation of what the interest rate will be for the period between the short date ($t_1$) and the long date ($t_2$).

How to Calculate FRA Rates

The calculation relies on the "no-arbitrage" principle. It assumes that investing for a long period should yield the same return as investing for a short period and then reinvesting the proceeds at the forward rate for the remaining time.

Forward Rate (F) = [ (1 + R₂ × T₂) / (1 + R₁ × T₁) – 1 ] × (1 / (T₂ – T₁))

Where:

  • R₁ = Spot rate for the shorter period (expressed as a decimal).
  • R₂ = Spot rate for the longer period (expressed as a decimal).
  • T₁ = Time to the short date (Short Days / Day Count Basis).
  • T₂ = Time to the long date (Long Days / Day Count Basis).
  • Day Count Basis = Typically 360 days for money markets or 365 days for bond markets.

Calculation Example

Suppose you want to calculate the rate for a 3×6 FRA (a 3-month period starting 3 months from now).

  • Short Period ($t_1$): 90 days with a spot rate of 4.00%.
  • Long Period ($t_2$): 180 days with a spot rate of 4.50%.
  • Basis: 360 days.

First, convert time to fractions of a year:
$T_1 = 90 / 360 = 0.25$
$T_2 = 180 / 360 = 0.50$

Next, calculate the interest factors:
Factor 1 = $1 + (0.04 \times 0.25) = 1.01$
Factor 2 = $1 + (0.045 \times 0.50) = 1.0225$

Finally, solve for the Forward Rate:
$Rate = (1.0225 / 1.01 – 1) \times (1 / (0.50 – 0.25))$
$Rate = (0.012376) \times 4 = 0.0495$ or 4.95%

Why is this important?

The FRA rate is critical for derivatives pricing, constructing yield curves, and managing interest rate risk. If the calculated forward rate is significantly different from market quotes, arbitrage opportunities may exist.

function calculateFRARate() { // Clear previous errors var errorDiv = document.getElementById("errorDisplay"); var resultContainer = document.getElementById("result-container"); errorDiv.style.display = "none"; errorDiv.innerText = ""; resultContainer.style.display = "none"; // Get inputs by exact ID var shortDaysInput = document.getElementById("shortPeriodDays").value; var shortRateInput = document.getElementById("shortRate").value; var longDaysInput = document.getElementById("longPeriodDays").value; var longRateInput = document.getElementById("longRate").value; var basisInput = document.getElementById("dayCountBasis").value; // Parse values var t1Days = parseFloat(shortDaysInput); var r1Percent = parseFloat(shortRateInput); var t2Days = parseFloat(longDaysInput); var r2Percent = parseFloat(longRateInput); var basis = parseFloat(basisInput); // Validation Logic if (isNaN(t1Days) || isNaN(r1Percent) || isNaN(t2Days) || isNaN(r2Percent)) { errorDiv.innerText = "Please fill in all fields with valid numbers."; errorDiv.style.display = "block"; return; } if (t1Days <= 0 || t2Days = t2Days) { errorDiv.innerText = "Long Period Days (t2) must be greater than Short Period Days (t1)."; errorDiv.style.display = "block"; return; } // Calculation Logic // 1. Convert rates to decimals var r1 = r1Percent / 100; var r2 = r2Percent / 100; // 2. Calculate time fractions based on basis var t1_fraction = t1Days / basis; var t2_fraction = t2Days / basis; // 3. Calculate Interest Factors (1 + r*t) var factor1 = 1 + (r1 * t1_fraction); var factor2 = 1 + (r2 * t2_fraction); // 4. Calculate Forward Rate // Formula: F = [(1 + r2*t2) / (1 + r1*t1) – 1] * [1 / (t2 – t1)] var timeDifference = t2_fraction – t1_fraction; var forwardRateDecimal = ((factor2 / factor1) – 1) * (1 / timeDifference); // 5. Convert back to percentage var forwardRatePercent = forwardRateDecimal * 100; // Display Result document.getElementById("fraResult").innerText = forwardRatePercent.toFixed(4) + "%"; var gapDays = t2Days – t1Days; document.getElementById("fraPeriodText").innerText = "Forward rate for the " + gapDays + "-day period starting in " + t1Days + " days."; resultContainer.style.display = "block"; }

Leave a Comment