Chatham Cap Calculator

Chatham Cap Calculator .chatham-calculator-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; } .chatham-calc-header { text-align: center; margin-bottom: 30px; } .chatham-calc-header h2 { margin: 0; color: #2c3e50; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } @media (max-width: 600px) { .calc-grid { grid-template-columns: 1fr; } } .input-group { margin-bottom: 15px; } .input-group label { display: block; margin-bottom: 5px; font-weight: 600; color: #34495e; font-size: 0.9em; } .input-group input, .input-group select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .input-group .hint { font-size: 0.8em; color: #7f8c8d; margin-top: 4px; } .calc-btn-container { grid-column: 1 / -1; text-align: center; margin-top: 20px; } .calc-btn { background-color: #2980b9; color: white; border: none; padding: 12px 30px; font-size: 16px; font-weight: bold; border-radius: 4px; cursor: pointer; transition: background 0.3s; } .calc-btn:hover { background-color: #1a5276; } .results-container { grid-column: 1 / -1; margin-top: 25px; background: #fff; padding: 20px; border-radius: 6px; border-left: 5px solid #2980b9; display: none; } .result-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #eee; } .result-row:last-child { border-bottom: none; } .result-label { color: #7f8c8d; font-size: 0.95em; } .result-value { font-weight: bold; color: #2c3e50; font-size: 1.1em; } .highlight-value { color: #27ae60; font-size: 1.4em; } .article-content { margin-top: 40px; line-height: 1.6; color: #333; } .article-content h3 { color: #2c3e50; margin-top: 25px; } .article-content p { margin-bottom: 15px; } .article-content ul { margin-bottom: 15px; padding-left: 20px; }

Chatham Cap Calculator

Estimate Interest Rate Cap Premiums for Commercial Hedging

The total principal amount being hedged.
1 Year 2 Years 3 Years 4 Years 5 Years 7 Years 10 Years
Duration of the protection agreement.
The rate ceiling (e.g., SOFR Strike).
Current reference rate (e.g., 1M Term SOFR).
Cost in Basis Points (bps): 0 bps
Estimated Upfront Premium: $0.00
Moneyness Status:
Annualized Cost: $0.00 / yr

Understanding the Chatham Cap Calculator

The Chatham Cap Calculator is a specialized tool used by commercial real estate investors, borrowers, and financial professionals to estimate the cost of purchasing an Interest Rate Cap. In floating-rate debt structures, such as those pegged to SOFR (Secured Overnight Financing Rate), borrowers often purchase caps to limit their exposure to rising interest rates.

Key Metrics Defined

Unlike standard loan calculators, calculating the premium for an interest rate cap involves option pricing mathematics (similar to the Black-76 model). This tool provides an estimation based on the following inputs:

  • Notional Amount: The principal balance of the loan that requires hedging. The premium is calculated as a percentage of this amount.
  • Strike Rate: The "ceiling" interest rate. If the market index rate rises above this Strike Rate, the cap provider pays the difference to the borrower. Lower strike rates offer better protection but cost significantly more.
  • Cap Term: The duration of the hedge. Longer terms increase uncertainty and volatility exposure, resulting in higher premiums.
  • Current Index Rate: The current market rate (e.g., SOFR). This helps determine if the cap is "In-the-Money" (ITM) or "Out-of-the-Money" (OTM).

How Premiums are Calculated

The cost of an interest rate cap, known as the "premium," is typically quoted in basis points (bps). One basis point equals 0.01% of the notional amount. The premium is driven by three main factors:

  1. Intrinsic Value: If the Current Index Rate is already higher than the Strike Rate, the cap has intrinsic value because it would pay out immediately.
  2. Time Value: The longer the term, the higher the probability rates will fluctuate, increasing the cost.
  3. Volatility: High market volatility increases the cost of options, including interest rate caps.

Note: This calculator provides an indicative estimation for educational and planning purposes. Actual tradeable prices for interest rate caps are determined by live market volatility surfaces and yield curves provided by derivatives desks or advisory firms like Chatham Financial.

function calculateCapPremium() { // 1. Get input values var notionalInput = document.getElementById("notionalAmount"); var termInput = document.getElementById("termYears"); var strikeInput = document.getElementById("strikeRate"); var marketInput = document.getElementById("marketRate"); var notional = parseFloat(notionalInput.value); var term = parseFloat(termInput.value); var strike = parseFloat(strikeInput.value); var market = parseFloat(marketInput.value); // 2. Validate inputs if (isNaN(notional) || isNaN(term) || isNaN(strike) || isNaN(market)) { alert("Please enter valid numbers for all fields."); return; } if (notional <= 0 || strike < 0 || market Strike, it's In-The-Money (ITM) and expensive. // If Market 0) { // If ITM, the cost includes the PV of the difference // Simplified: Difference * Duration * 100 (to get bps) intrinsicBps = rateDiff * 100 * term; // Apply a slight discount factor for PV (approx 5% rate) intrinsicBps = intrinsicBps * (1 – (0.05 * term * 0.5)); } // Time Value Calculation (Volatility curve approximation) // OTM options get cheaper as they get further OTM, but never zero. var timeValueBps = 0; if (rateDiff <= 0) { // OTM: Cost decays as strike moves further away from market var distance = Math.abs(rateDiff); // Decay factor: The further OTM, the lower the cost var decay = Math.exp(-distance * 0.8); timeValueBps = (baseBpsPerYear * term) * decay; } else { // ITM: Time value exists but decreases as it gets deep ITM (delta approaches 1) timeValueBps = (baseBpsPerYear * term) * 1.2; // Higher volatility assumption for ITM } // Total Cost in Basis Points var totalBps = intrinsicBps + timeValueBps; // Floor the bps at a minimum transaction cost (e.g., 5 bps) if (totalBps 0) { statusText = "In-The-Money (ITM)"; } else if (rateDiff === 0) { statusText = "At-The-Money (ATM)"; } else { statusText = "Out-Of-The-Money (OTM)"; } // 4. Update UI document.getElementById("bpsResult").innerText = totalBps.toFixed(2) + " bps"; // Format Currency var currencyFormatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 2 }); document.getElementById("premiumResult").innerText = currencyFormatter.format(totalPremium); document.getElementById("annualCostResult").innerText = currencyFormatter.format(annualCost) + " / yr"; document.getElementById("moneynessResult").innerText = statusText; // Show results document.getElementById("results").style.display = "block"; }

Leave a Reply

Your email address will not be published. Required fields are marked *