Ftp Rate Calculation

Funds Transfer Pricing (FTP) Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 1200px; margin: 0 auto; padding: 20px; background-color: #f4f7f6; } .calculator-container { background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 40px; border-top: 5px solid #0056b3; } .calculator-title { text-align: center; margin-bottom: 25px; color: #0056b3; } .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 0.95rem; } .form-group input, .form-group select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; box-sizing: border-box; } .form-group input:focus { border-color: #0056b3; outline: none; } .full-width { grid-column: 1 / -1; } .btn-calc { display: block; width: 100%; background-color: #0056b3; color: white; padding: 15px; border: none; border-radius: 4px; font-size: 1.1rem; font-weight: bold; cursor: pointer; margin-top: 10px; transition: background 0.3s; } .btn-calc:hover { background-color: #004494; } .results-area { margin-top: 30px; background-color: #f8f9fa; padding: 20px; border-radius: 4px; border: 1px solid #e9ecef; display: none; } .result-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #e0e0e0; } .result-row:last-child { border-bottom: none; } .result-label { font-weight: 600; color: #555; } .result-value { font-weight: bold; color: #0056b3; } .highlight-result { font-size: 1.2rem; color: #28a745; } .negative-result { color: #dc3545; } .content-section { background: #fff; padding: 40px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); } h2, h3 { color: #2c3e50; } p { margin-bottom: 15px; } ul { margin-bottom: 20px; } li { margin-bottom: 8px; } @media (max-width: 768px) { .form-grid { grid-template-columns: 1fr; } }

FTP Rate & Net Interest Margin (NIM) Calculator

Asset (Loan/Mortgage/Investment) Liability (Deposit/Savings/Funding)

Profitability Analysis

All-in FTP Rate: 0.00%
Customer Rate: 0.00%
Net Interest Spread (NIM Contribution): 0.00%

Annual Customer Interest: $0.00
Annual FTP Charge/Credit: $0.00
Net Profit Contribution: $0.00

Understanding Funds Transfer Pricing (FTP) Rates

Funds Transfer Pricing (FTP) is a critical internal measurement framework used by banks and financial institutions to determine the profitability of different business lines and products. It functions by assigning a cost of funds to assets (like loans) and a value of funds to liabilities (like deposits).

How the FTP Rate is Calculated

The "All-in FTP Rate" is rarely a single number pulled from thin air. It is constructed using a "building block" approach, aggregating various costs and risks associated with holding that specific asset or liability. This calculator uses the standard additive model:

  • Base Transfer Rate: This is the reference rate derived from the bank's yield curve (e.g., SOFR, LIBOR, or Treasury curve) matched to the maturity and repricing characteristics of the instrument.
  • Liquidity Premium: An additional charge reflecting the cost of holding liquidity buffers or the cost of funding for a specific term (term liquidity premium).
  • Option Cost: A charge for embedded options, such as prepayment risk on a mortgage or early withdrawal risk on a term deposit.
  • Strategic Adjustments: Incentives or penalties applied by the Treasury department to encourage or discourage sales of specific products.

Calculation Formulas

The calculation of the Net Interest Spread (or NIM contribution) differs based on whether the instrument is an Asset or a Liability.

For Assets (Loans)

The FTP rate represents the cost to the business unit for funding the loan.

FTP Rate = Base Rate + Liquidity Premium + Option Cost + Adjustments
Net Spread = Customer Rate (Revenue) – FTP Rate (Cost)

For Liabilities (Deposits)

The FTP rate represents the value credited to the business unit for bringing in funding.

FTP Rate = Base Rate + Liquidity Premium + Option Cost + Adjustments
Net Spread = FTP Rate (Revenue Credit) – Customer Rate (Cost Paid to Client)

Why FTP is Essential

Without an accurate FTP mechanism, a bank might incorrectly incentivize deposit gathering at too high a cost, or lending at rates that do not cover the true cost of liquidity and risk. By stripping out interest rate risk and liquidity risk from the business units and centralizing them in the Treasury, the bank can accurately measure the commercial spread generated by its sales teams.

function calculateFTP() { // Get Input Values var type = document.getElementById("productType").value; var principal = parseFloat(document.getElementById("principalAmount").value); var custRate = parseFloat(document.getElementById("customerRate").value); var baseRate = parseFloat(document.getElementById("baseRate").value); var liqPrem = parseFloat(document.getElementById("liquidityPremium").value); var optCost = parseFloat(document.getElementById("optionCost").value); var stratAdj = parseFloat(document.getElementById("strategicAdj").value); // Validation: Ensure inputs are numbers, default to 0 if empty if (isNaN(principal)) principal = 0; if (isNaN(custRate)) custRate = 0; if (isNaN(baseRate)) baseRate = 0; if (isNaN(liqPrem)) liqPrem = 0; if (isNaN(optCost)) optCost = 0; if (isNaN(stratAdj)) stratAdj = 0; // Calculate All-in FTP Rate // Formula: Base + Liquidity + Option + Adjustments var ftpRate = baseRate + liqPrem + optCost + stratAdj; // Calculate Annual Values var annualCustInterest = principal * (custRate / 100); var annualFtpAmount = principal * (ftpRate / 100); var spread = 0; var netProfit = 0; // Calculate Spread based on Type (Asset vs Liability) if (type === "asset") { // For Assets: Spread = Customer Rate (Income) – FTP Rate (Expense) spread = custRate – ftpRate; netProfit = annualCustInterest – annualFtpAmount; } else { // For Liabilities: Spread = FTP Rate (Income Credit) – Customer Rate (Expense) spread = ftpRate – custRate; netProfit = annualFtpAmount – annualCustInterest; } // Formatting Helper var formatCurrency = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 2 }); // Display Results document.getElementById("results").style.display = "block"; document.getElementById("displayFtpRate").innerHTML = ftpRate.toFixed(2) + "%"; document.getElementById("displayCustRate").innerHTML = custRate.toFixed(2) + "%"; var spreadElem = document.getElementById("displaySpread"); spreadElem.innerHTML = spread.toFixed(2) + "% (" + (spread * 100).toFixed(0) + " bps)"; // Color coding for spread if (spread < 0) { spreadElem.className = "result-value negative-result"; } else { spreadElem.className = "result-value highlight-result"; } document.getElementById("displayCustInterest").innerHTML = formatCurrency.format(annualCustInterest); document.getElementById("displayFtpAmount").innerHTML = formatCurrency.format(annualFtpAmount); var profitElem = document.getElementById("displayNetProfit"); profitElem.innerHTML = formatCurrency.format(netProfit); // Color coding for profit if (netProfit < 0) { profitElem.className = "result-value negative-result"; } else { profitElem.className = "result-value highlight-result"; } }

Leave a Comment