How to Calculate Spot Rate from Forward Rate

.spot-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; padding: 25px; border: 1px solid #e0e0e0; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .spot-calc-header { text-align: center; margin-bottom: 30px; } .spot-calc-header h2 { color: #1a237e; margin-bottom: 10px; } .spot-calc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px; } @media (max-width: 600px) { .spot-calc-form { grid-template-columns: 1fr; } } .spot-calc-group { display: flex; flex-direction: column; } .spot-calc-group label { font-weight: 600; margin-bottom: 8px; color: #333; font-size: 14px; } .spot-calc-group input { padding: 12px; border: 2px solid #ddd; border-radius: 6px; font-size: 16px; transition: border-color 0.3s; } .spot-calc-group input:focus { border-color: #1a237e; outline: none; } .spot-calc-btn { grid-column: span 2; background-color: #1a237e; color: white; padding: 15px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; } @media (max-width: 600px) { .spot-calc-btn { grid-column: span 1; } } .spot-calc-btn:hover { background-color: #0d1440; } .spot-calc-result-box { background-color: #f8f9fa; padding: 20px; border-radius: 8px; text-align: center; border: 1px solid #e0e0e0; } .spot-calc-result-value { font-size: 28px; font-weight: bold; color: #1a237e; margin-top: 10px; } .spot-calc-article { line-height: 1.6; color: #444; margin-top: 40px; } .spot-calc-article h3 { color: #1a237e; border-bottom: 2px solid #eee; padding-bottom: 10px; } .spot-calc-article p { margin-bottom: 15px; } .formula-box { background: #f1f3f9; padding: 15px; border-left: 4px solid #1a237e; font-family: "Courier New", Courier, monospace; margin: 20px 0; }

Spot Rate Calculator

Calculate the Spot Rate from the Forward Rate using Interest Rate Parity

Implied Spot Rate:

How to Calculate Spot Rate from Forward Rate

The spot rate is the current exchange rate at which a currency pair can be bought or sold for immediate delivery. When you have the forward rate and the interest rates of both countries, you can derive the spot rate using the Interest Rate Parity (IRP) theory.

S = F × [(1 + (r_f × t)) / (1 + (r_d × t))]

Where:

  • S: Spot Rate
  • F: Forward Rate
  • r_d: Domestic Interest Rate (annualized)
  • r_f: Foreign Interest Rate (annualized)
  • t: Time to maturity (expressed as a fraction of a 360 or 365-day year)

Understanding the Logic

Interest Rate Parity suggests that the difference in interest rates between two countries should be equal to the difference between the forward exchange rate and the spot exchange rate. If this relationship didn't hold, arbitrageurs could make risk-free profits by moving money between currencies.

To find the spot rate starting from a forward rate, we essentially "discount" the forward rate by the ratio of the two interest rates adjusted for the time period. If the domestic interest rate is higher than the foreign interest rate, the spot rate will typically be lower than the forward rate.

Step-by-Step Example

Suppose you have the following data:

  • Forward Rate (90 days): 1.1000
  • Domestic Interest Rate: 5% (0.05)
  • Foreign Interest Rate: 2% (0.02)
  • Time: 90 days / 360 days = 0.25

Applying the formula:

  1. Adjust rates for time: Domestic = 0.05 * 0.25 = 0.0125. Foreign = 0.02 * 0.25 = 0.005.
  2. Calculate the ratio: (1 + 0.005) / (1 + 0.0125) = 1.005 / 1.0125 ≈ 0.99259.
  3. Multiply by Forward Rate: 1.1000 * 0.99259 = 1.0918.

The implied Spot Rate in this scenario is 1.0918.

function calculateSpotFromForward() { var forwardRate = parseFloat(document.getElementById('forwardRate').value); var domesticRate = parseFloat(document.getElementById('domesticRate').value) / 100; var foreignRate = parseFloat(document.getElementById('foreignRate').value) / 100; var days = parseFloat(document.getElementById('daysToMaturity').value); var resultDisplay = document.getElementById('spotRateResult'); if (isNaN(forwardRate) || isNaN(domesticRate) || isNaN(foreignRate) || isNaN(days) || days <= 0) { resultDisplay.innerHTML = "Please enter valid values"; resultDisplay.style.fontSize = "18px"; return; } // Time factor (standard 360-day year used in FX markets) var t = days / 360; // Formula: S = F * (1 + rf*t) / (1 + rd*t) var numerator = 1 + (foreignRate * t); var denominator = 1 + (domesticRate * t); var spotRate = forwardRate * (numerator / denominator); resultDisplay.innerHTML = spotRate.toFixed(6); resultDisplay.style.fontSize = "28px"; }

Leave a Comment