Calculate Forward Exchange Rate from Spot Rate

Forward Exchange Rate Calculator .fer-calculator-container { max-width: 800px; margin: 0 auto; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #ffffff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } .fer-header { text-align: center; margin-bottom: 30px; border-bottom: 2px solid #f0f0f0; padding-bottom: 20px; } .fer-header h2 { margin: 0; color: #2c3e50; font-size: 24px; } .fer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; } .fer-input-group { display: flex; flex-direction: column; } .fer-input-group label { font-weight: 600; margin-bottom: 8px; color: #34495e; font-size: 14px; } .fer-input-group input, .fer-input-group select { padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; transition: border-color 0.3s; } .fer-input-group input:focus { border-color: #3498db; outline: none; } .fer-input-hint { font-size: 12px; color: #7f8c8d; margin-top: 4px; } .fer-btn { width: 100%; padding: 15px; background-color: #2980b9; color: white; border: none; border-radius: 4px; font-size: 16px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; margin-top: 10px; } .fer-btn:hover { background-color: #1c5980; } .fer-result-box { margin-top: 30px; padding: 20px; background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 6px; display: none; } .fer-result-row { display: flex; justify-content: space-between; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #e9ecef; } .fer-result-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .fer-result-label { color: #7f8c8d; font-weight: 500; } .fer-result-value { color: #2c3e50; font-weight: 700; font-size: 18px; } .fer-highlight { color: #27ae60; } .fer-highlight-neg { color: #c0392b; } .fer-content { margin-top: 50px; line-height: 1.6; color: #444; } .fer-content h3 { color: #2c3e50; margin-top: 30px; } .fer-content p { margin-bottom: 15px; } .fer-content ul { margin-bottom: 15px; padding-left: 20px; } @media (max-width: 600px) { .fer-grid { grid-template-columns: 1fr; } }

Forward Exchange Rate Calculator

Calculate FX Forwards using Interest Rate Parity

The current market exchange rate.
Number of days until settlement (T+Days).
Annualized interest rate for the quote currency.
Annualized interest rate for the base currency.
Calculated Forward Rate:
Spot Rate Used:
Forward Points (Pips):
Status:

About the Forward Exchange Rate

The forward exchange rate is the rate at which a commercial bank is willing to commit to exchange one currency for another at some specific future date. This calculator uses the concept of Interest Rate Parity (IRP) to determine the theoretical forward rate. In financial markets, the forward rate is primarily a function of the spot rate and the interest rate differential between the two currencies involved.

How It Is Calculated

The calculation relies on the non-arbitrage condition. If interest rates differ between two countries, the exchange rate must adjust to compensate for this difference over time. The formula used for periods less than a year (using the standard 360-day year convention) is:

Forward Rate = Spot Rate × [ (1 + Domestic Rate × Days/360) / (1 + Foreign Rate × Days/360) ]

Where:

  • Spot Rate: The current market price for immediate delivery.
  • Domestic Rate: The interest rate of the quote currency (the second currency in the pair).
  • Foreign Rate: The interest rate of the base currency (the first currency in the pair).
  • Days: The duration of the forward contract.

Understanding Premium vs. Discount

The relationship between the spot and forward rates determines whether a currency is trading at a premium or a discount:

  • Premium: If the Forward Rate > Spot Rate, the base currency is at a premium. This typically happens when the foreign interest rate is lower than the domestic interest rate.
  • Discount: If the Forward Rate < Spot Rate, the base currency is at a discount. This occurs when the foreign interest rate is higher than the domestic interest rate.

Real-World Example

Imagine the EUR/USD spot rate is 1.1000. You want to calculate the 90-day forward rate.

  • Domestic Rate (USD): 5.00%
  • Foreign Rate (EUR): 3.00%
  • Calculation: 1.1000 × (1 + (0.05 × 90/360)) / (1 + (0.03 × 90/360))
  • Result: ~1.1054

In this scenario, because the USD interest rate is higher than the EUR rate, the Euro trades at a premium in the forward market to offset the interest rate differential.

function calculateForwardRate() { // 1. Get Input Values var spotRate = parseFloat(document.getElementById('spotRate').value); var days = parseInt(document.getElementById('days').value); var domRate = parseFloat(document.getElementById('domesticRate').value); var forRate = parseFloat(document.getElementById('foreignRate').value); var resultBox = document.getElementById('resultBox'); // 2. Validation if (isNaN(spotRate) || isNaN(days) || isNaN(domRate) || isNaN(forRate)) { alert("Please enter valid numeric values for all fields."); resultBox.style.display = "none"; return; } if (spotRate <= 0 || days spotRate) { status = "Premium"; statusClass = "fer-highlight"; } else if (forwardRate < spotRate) { status = "Discount"; statusClass = "fer-highlight-neg"; } else { status = "Par"; statusClass = "fer-result-value"; } // 4. Output Results document.getElementById('resForwardRate').innerText = forwardRate.toFixed(5); document.getElementById('resSpotRate').innerText = spotRate.toFixed(5); document.getElementById('resPoints').innerText = points.toFixed(2) + " pips"; var statusEl = document.getElementById('resStatus'); statusEl.innerText = status; statusEl.className = "fer-result-value " + statusClass; // Show result box resultBox.style.display = "block"; }

Leave a Comment