Financial Calculations & Valuation
Beginner
Bank Guarantee (Performance & Financial BG) Commission & FD Margin Calculator in Python
Compute total Bank Guarantee (BG) issuance charges, claim period liability, FD cash margin requirements, and net interest carry in Python.
#numpy
Problem Statement
EPC contractors and industrial suppliers bidding for government/PSU tenders must furnish Performance & Financial Bank Guarantees (BGs). Banks charge commission over the validity period plus mandatory claim period while holding 10%–25% Fixed Deposit (FD) cash margin.
Formula / Core Logic
Chargeable_Months = Validity_Months + Claim_Months (rounded up to nearest quarter)
BG_Commission = BG_Amount * (Annual_Comm_Pct / 100) * (Chargeable_Months / 12)
Cash_Margin_FD = BG_Amount * Cash_Margin_Pct
Installation
pip install numpy
bank-guarantee-bg-commission-cash-margin-fd-calculator-python.py
import math
def calculate_bg_cost(bg_amount, validity_months=12, claim_months=12, commission_pa_pct=1.50, cash_margin_pct=25.0, fd_rate_pa=6.75):
total_months = validity_months + claim_months
chargeable_quarters = math.ceil(total_months / 3.0)
chargeable_years = (chargeable_quarters * 3.0) / 12.0
gross_commission = bg_amount * (commission_pa_pct / 100.0) * chargeable_years
gst_18pct = gross_commission * 0.18
fd_margin_locked = bg_amount * (cash_margin_pct / 100.0)
fd_interest_earned = fd_margin_locked * ((1 + fd_rate_pa / 100.0) ** chargeable_years - 1)
return {
'Total_Liability_Months': total_months,
'Gross_BG_Commission': round(gross_commission, 2),
'GST_On_Commission': round(gst_18pct, 2),
'FD_Cash_Margin_Required': round(fd_margin_locked, 2),
'FD_Interest_Accrued': round(fd_interest_earned, 2)
}
Get the Complete 100+ Python Quant & Automation Bundle
Instant lifetime access to all production-ready scripts, valuation models, and trading bots ($19).
Buy Full Bundle on Gumroad ($19) →Frequently Asked Questions
Q: Why do banks charge commission for the Claim Period as well?
Under the Indian Contract Act, a bank's contingent liability remains alive until the expiry of the claim period (minimum 1 year for government BGs).