Interactive Brokers Margin Rates Calculator

Interactive Brokers Margin Rates Calculator

Calculate tiered margin interest for IBKR Pro accounts

Calculation Results

Blended Annual Rate

0.00%

Total Annual Cost

$0.00

Estimated Monthly Cost

$0.00

Estimated Daily Cost

$0.00

*Calculation based on IBKR Pro USD tiered structure. IBKR uses a 360-day year for interest calculations.

Understanding Interactive Brokers Margin Rates

Interactive Brokers (IBKR) is widely recognized for offering some of the lowest margin rates in the industry. Unlike traditional brokers that charge a flat percentage, IBKR uses a tiered interest rate structure. This means the more you borrow, the lower the blended interest rate becomes.

How IBKR Pro Margin Tiers Work

Interest is calculated using a "benchmark" rate (like the Effective Federal Funds Rate for USD) plus a fixed spread determined by the size of your loan balance. The tiers for USD accounts typically look like this:

Loan Tier (USD) Spread (Over Benchmark)
$0 – $100,000 1.50%
$100,000.01 – $1,000,000 1.00%
$1,000,000.01 – $50,000,000 0.75%
Over $50,000,000 0.50%

Calculation Example

If you have a $150,000 margin loan and the benchmark rate is 5.33%:

  • First $100,000: Charged at 5.33% + 1.50% = 6.83%
  • Remaining $50,000: Charged at 5.33% + 1.00% = 6.33%
  • Blended Rate: Approximately 6.66% annually.

Key Factors to Consider

  • IBKR Pro vs. Lite: IBKR Lite accounts generally pay a fixed spread of 2.50% over the benchmark, regardless of the loan size.
  • Accrual Basis: IBKR calculates interest daily and posts it to your account on a monthly basis, usually on the third business day of the following month.
  • Benchmark Volatility: Since rates are tied to the benchmark, your margin costs will fluctuate immediately when central banks (like the Fed) change interest rates.
function calculateIBKRMargin() { var balance = parseFloat(document.getElementById("marginLoanBalance").value); var benchmark = parseFloat(document.getElementById("currentBenchmark").value); if (isNaN(balance) || balance <= 0 || isNaN(benchmark) || benchmark t1Limit) { totalAnnualInterest += t1Limit * ((benchmark + t1Spread) / 100); remainingBalance -= t1Limit; } else { totalAnnualInterest += remainingBalance * ((benchmark + t1Spread) / 100); remainingBalance = 0; } // Tier 2: 100,000 – 1,000,000 (Spread 1.0%) if (remainingBalance > 0) { var t2Limit = 900000; // (1M – 100k) var t2Spread = 1.0; if (remainingBalance > t2Limit) { totalAnnualInterest += t2Limit * ((benchmark + t2Spread) / 100); remainingBalance -= t2Limit; } else { totalAnnualInterest += remainingBalance * ((benchmark + t2Spread) / 100); remainingBalance = 0; } } // Tier 3: 1,000,000 – 50,000,000 (Spread 0.75%) if (remainingBalance > 0) { var t3Limit = 49000000; // (50M – 1M) var t3Spread = 0.75; if (remainingBalance > t3Limit) { totalAnnualInterest += t3Limit * ((benchmark + t3Spread) / 100); remainingBalance -= t3Limit; } else { totalAnnualInterest += remainingBalance * ((benchmark + t3Spread) / 100); remainingBalance = 0; } } // Tier 4: 50,000,000+ (Spread 0.50%) if (remainingBalance > 0) { var t4Spread = 0.50; totalAnnualInterest += remainingBalance * ((benchmark + t4Spread) / 100); } var blendedRate = (totalAnnualInterest / balance) * 100; var monthlyInterest = totalAnnualInterest / 12; var dailyInterest = totalAnnualInterest / 360; // IBKR uses 360-day year document.getElementById("blendedRate").innerText = blendedRate.toFixed(3) + "%"; document.getElementById("annualCost").innerText = "$" + totalAnnualInterest.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById("monthlyCost").innerText = "$" + monthlyInterest.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById("dailyCost").innerText = "$" + dailyInterest.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById("ibkrResultContainer").style.display = "block"; }

Leave a Comment