Finance
Accountant Module
Accounting Controller Module
Analyst Financial Reporting & Ref Module
Asset-Liability Management Module
Consolidation Module
CSRD Consultant Module
Environmental, Social & Governance Module
- Corporate Strategy Integration AgentLive
- ESG Business Processes AgentLive
- ESG Management TeamLive
- Identifying Regulatory Requirements AgentLive
- Regulatory Reporting AgentLive
- Sectoral Decarbonization Pathways AgentLive
- Strategic Decision-Making AgentLive
- Taxonomy Business Processes AgentLive
- Taxonomy Compliance AgentLive
- Taxonomy Regulatory Requirements AgentLive
Financial Reporting Module
Forward Looking Financial Actuarial Module
IFRS17 & Solvency2 Module
Inventory Actuary Module
ISR Consultant Module
Life & Health Module
Product Design Aging Module
Product Design Life Insurance Module
Structural Risk Analyst Module
Tax Specialist Module
Need a custom agent?
Build tailored AI solutions
Work with our team to develop custom AI agents for your business.
Contact usFinance
Finance
Liquidity Interest Rate Risk Assessor
The Liquidity & Interest Rate Risk Assessor is responsible for evaluating the institution's liquidity position and interest rate risk exposure. It monitors short-term and long-term liquidity, identifies gaps in cash flow maturities, and measures sensitivity of the balance sheet to interest rate shocks. The agent produces actionable insights and metrics such as LCR, NSFR, liquidity gaps, EVE, and NII changes under different scenarios.
Purpose
The Liquidity & Interest Rate Risk Assessor is responsible for evaluating the institution's liquidity position and interest rate risk exposure. It monitors short-term and long-term liquidity, identifies gaps in cash flow maturities, and measures sensitivity of the balance sheet to interest rate shocks. The agent produces actionable insights and metrics such as LCR, NSFR, liquidity gaps, EVE, and NII changes under different scenarios.
AI-Powered Intelligence — Advanced AI capabilities for automated processing and analysis
Enterprise Ready — Built for production with security, scalability, and reliability
Seamless Integration — Easy to integrate with your existing systems and workflows
Agent Capabilities
This agent is equipped with the following advanced capabilities:
Available Tools
Calculate Nii Sensitivity
Calculates the change in Net Interest Income (NII) for the next year.
Parameters:
- asset_cf: JSON string — list of objects with keys Amount (float), Rate (float).
Example: '[{"Amount":500000,"Rate":0.03}]'
- liability_cf: JSON string — same format as asset_cf.
- delta_rate: Shock in decimal (e.g. 0.01 for +100bps).
Returns:
- JSON string with NII change value.
Calculate Nii Sensitivity
Calculates the change in Net Interest Income (NII) for the next year. Parameters: - asset_cf: JSON string — list of objects with keys Amount (float), Rate (float). Example: '[{"Amount":500000,"Rate":0.03}]' - liability_cf: JSON string — same format as asset_cf. - delta_rate: Shock in decimal (e.g. 0.01 for +100bps). Returns: - JSON string with NII change value.
def calculate_nii_sensitivity(asset_cf: str, liability_cf: str, delta_rate: float) -> str: """ Calculates the change in Net Interest Income(NII) for the next year. Parameters: - asset_cf: JSON string — list of objects with keys Amount(float), Rate(float). Example: '[{"Amount":500000,"Rate":0.03}]' - liability_cf: JSON string — same format as asset_cf. - delta_rate: Shock in decimal(e.g. 0.01 for +100bps). Returns: - JSON string with NII change value. """ try: a_data = json.loads(asset_cf) if isinstance(asset_cf, str) else asset_cf l_data = json.loads(liability_cf) if isinstance(liability_cf, str) else liability_cf a_df = pd.DataFrame(a_data) l_df = pd.DataFrame(l_data) asset_impact = float((a_df['Amount'] * (a_df['Rate'] + delta_rate)).sum()) liability_impact = float((l_df['Amount'] * (l_df['Rate'] + delta_rate)).sum()) nii_change = asset_impact - liability_impact return json.dumps({'nii_change': round(nii_change, 2), 'delta_rate': delta_rate}) except Exception as e: return json.dumps({'error': str(e)})
Calculate Eve Sensitivity
Calculates the change in Economic Value of Equity (EVE) due to interest rate shock.
Parameters:
- asset_cf: JSON string — list of objects with keys Maturity (int, days), Amount (float), Rate (float).
Example: '[{"Maturity":30,"Amount":500000,"Rate":0.03}]'
- liability_cf: JSON string — same format as asset_cf.
- delta_rate: Shock in decimal (e.g. 0.01 for +100bps).
Returns:
- JSON string with EVE change value.
Calculate Eve Sensitivity
Calculates the change in Economic Value of Equity (EVE) due to interest rate shock. Parameters: - asset_cf: JSON string — list of objects with keys Maturity (int, days), Amount (float), Rate (float). Example: '[{"Maturity":30,"Amount":500000,"Rate":0.03}]' - liability_cf: JSON string — same format as asset_cf. - delta_rate: Shock in decimal (e.g. 0.01 for +100bps). Returns: - JSON string with EVE change value.
def calculate_eve_sensitivity(asset_cf: str, liability_cf: str, delta_rate: float) -> str: """ Calculates the change in Economic Value of Equity(EVE) due to interest rate shock. Parameters: - asset_cf: JSON string — list of objects with keys Maturity(int, days), Amount(float), Rate(float). Example: '[{"Maturity":30,"Amount":500000,"Rate":0.03}]' - liability_cf: JSON string — same format as asset_cf. - delta_rate: Shock in decimal(e.g. 0.01 for +100bps). Returns: - JSON string with EVE change value. """ try: a_data = json.loads(asset_cf) if isinstance(asset_cf, str) else asset_cf l_data = json.loads(liability_cf) if isinstance(liability_cf, str) else liability_cf a_df = pd.DataFrame(a_data) l_df = pd.DataFrame(l_data) asset_change = float((a_df['Amount'] * delta_rate * a_df['Maturity'] / 365).sum()) liability_change = float((l_df['Amount'] * delta_rate * l_df['Maturity'] / 365).sum()) eve_change = asset_change - liability_change return json.dumps({'eve_change': round(eve_change, 2), 'delta_rate': delta_rate}) except Exception as e: return json.dumps({'error': str(e)})
Calculate Liquidity Gaps
Calculates cumulative liquidity gaps across different time buckets.
Args:
balance_sheet: JSON string — list of objects with keys Category ('Assets' or 'Liabilities'), Amount (float), Maturity (int, days).
Example: '[{"Category":"Assets","Amount":500,"Maturity":150}, {"Category":"Liabilities","Amount":2500,"Maturity":7}]'
time_buckets: List of day boundaries defining the buckets, e.g. [0, 30, 180, 365].
Returns:
JSON string with liquidity gap per bucket.
Calculate Liquidity Gaps
Calculates cumulative liquidity gaps across different time buckets. Args: balance_sheet: JSON string — list of objects with keys Category ('Assets' or 'Liabilities'), Amount (float), Maturity (int, days). Example: '[{"Category":"Assets","Amount":500,"Maturity":150}, {"Category":"Liabilities","Amount":2500,"Maturity":7}]' time_buckets: List of day boundaries defining the buckets, e.g. [0, 30, 180, 365]. Returns: JSON string with liquidity gap per bucket.
def calculate_liquidity_gaps(balance_sheet: str, time_buckets: List[int]) -> str: """ Calculates cumulative liquidity gaps across different time buckets. Args: balance_sheet: JSON string — list of objects with keys Category('Assets' or 'Liabilities'), Amount(float), Maturity(int, days). Example: '[{"Category":"Assets","Amount":500,"Maturity":150}, {"Category":"Liabilities","Amount":2500,"Maturity":7}]' time_buckets: List of day boundaries defining the buckets, e.g. [0, 30, 180, 365]. Returns: JSON string with liquidity gap per bucket. """ try: data = json.loads(balance_sheet) if isinstance(balance_sheet, str) else balance_sheet df = pd.DataFrame(data) gaps = [] for i in range(len(time_buckets) - 1): start, end = time_buckets[i], time_buckets[i + 1] inflows = df[(df['Category'] == 'Assets') & (df['Maturity'] >= start) & (df['Maturity'] < end)]['Amount'].sum() outflows = df[(df['Category'] == 'Liabilities') & (df['Maturity'] >= start) & (df['Maturity'] < end)]['Amount'].sum() gap = inflows - outflows gaps.append({'Bucket': f'{start}-{end} days', 'Inflows': round(float(inflows), 2), 'Outflows': round(float(outflows), 2), 'LiquidityGap': round(float(gap), 2)}) return json.dumps(gaps, indent=2) except Exception as e: return json.dumps({'error': str(e)})
File Tools
FileTools from agno framework
File Tools
FileTools from agno framework
Required Inputs
• Balance sheet data with Assets and Liabilities, including amount and maturity.
• Asset and liability cash flow data including Amount, Rate, and Maturity.
• Asset and liability cash flow data including Amount and Rate.
• Results from liquidity gaps, EVE, and NII calculations.
Generated Outputs
Business Value
• Automated processing reduces manual effort and improves accuracy
• Consistent validation logic ensures compliance and audit readiness
• Early detection of issues minimizes downstream risks and costs
Graph

Pricing
Get in touch for a tailored pricing
Contact us to discuss your specific needs and requirements and get a personalized plan.
Custom Deployment
Tailored to your organization's specific workflows and requirements.
Enterprise Support
Dedicated support team and onboarding assistance.
Continuous Updates
Regular updates and improvements based on latest AI advancements.
Contact Us
For enterprise deployments.
€Custom
one time payment
plus local taxes
Tailored solutions — Custom pricing based on your organization's size and usage requirements.