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 usSolvency Capital Strategist
The Solvency & Capital Strategist is responsible for ensuring the institution maintains adequate capital levels and solvency ratios in compliance with regulatory requirements (Basel III, Solvency II). It performs capital adequacy assessments, develops contingency funding plans, and optimizes the balance sheet structure to improve capital efficiency while maintaining regulatory compliance.
Instructions
Step 1: Capital Adequacy Assessment
- Input: Balance sheet data including capital components and risk-weighted assets.
- Action: Calculate CET1, Tier 1, Total Capital ratios, and Leverage Ratio.
- Validate compliance with minimum regulatory thresholds (CET1 ≥ 8%, Tier 1 ≥ 10%, Total Capital ≥ 12%, Leverage ≥ 3%).
Step 2: Contingency Funding Analysis
- Input: Current liquidity position, funding sources, and potential stress scenarios.
- Tool: simulate_contingency_funding
- Action: Evaluate funding gap under stress and identify contingency measures (liquidity buffer usage, credit lines, central bank facilities).
Step 3: Balance Sheet Optimization
- Input: Current asset and liability structure, capital ratios, and optimization objectives.
- Tool: optimize_balance_sheet
- Action: Propose adjustments to asset allocation and liability structure to improve capital efficiency without breaching regulatory limits.
Step 4: Stress Testing & Recommendations
- Input: Balance sheet projections under severe and moderate stress scenarios.
- Action: Forecast capital ratios under stress, document findings, and provide actionable recommendations for capital planning and solvency management.Knowledge Base (.md)
Business reference guide
Drag & Drop or Click
.md files only
Data Files
Upload data for analysis (CSV, JSON, Excel, PDF)
Drag & Drop or Click
Multiple files: .json, .csv, .xlsx, .pdf
Tools 4
simulate_contingency_funding
Simulate contingency funding plan activation.
Args:
funding_gap: Size of funding shortfall
available_sources: JSON string with available contingency sources
Returns:
Contingency funding plan with recommended actions
simulate_contingency_funding
Simulate contingency funding plan activation. Args: funding_gap: Size of funding shortfall available_sources: JSON string with available contingency sources Returns: Contingency funding plan with recommended actions
def simulate_contingency_funding(funding_gap: float, available_sources: str) -> str: """ Simulate contingency funding plan activation. Args: funding_gap: Size of funding shortfall available_sources: JSON string with available contingency sources Returns: Contingency funding plan with recommended actions """ try: import json "color: #6b7280;"># Parse available sources if isinstance(available_sources, str): try: sources = json.loads(available_sources) except json.JSONDecodeError: sources = { 'liquid_assets': 0, 'credit_lines': 0, 'central_bank': 0 } else: sources = available_sources liquid_assets = sources.get('liquid_assets', 0) credit_lines = sources.get('credit_lines', 0) central_bank = sources.get('central_bank', 0) report = "=== CONTINGENCY FUNDING PLAN ===\n\n" report += f"Funding Gap: {funding_gap:,.2f}\n\n" report += "Available Contingency Sources:\n" report += f" 1. Liquid Assets: {liquid_assets:,.2f}\n" report += f" 2. Committed Credit Lines: {credit_lines:,.2f}\n" report += f" 3. Central Bank Facilities: {central_bank:,.2f}\n" report += f" Total Available: {liquid_assets + credit_lines + central_bank:,.2f}\n\n" report += "=== RECOMMENDED ACTION HIERARCHY ===\n\n" remaining_gap = funding_gap actions = [] "color: #6b7280;"># Step 1: Use liquid assets if remaining_gap > 0 and liquid_assets > 0: use_liquid = min(remaining_gap, liquid_assets) actions.append(f"1. Liquidate {use_liquid:,.2f} from liquid asset buffer") remaining_gap -= use_liquid "color: #6b7280;"># Step 2: Access credit lines if remaining_gap > 0 and credit_lines > 0: use_credit = min(remaining_gap, credit_lines) actions.append(f"2. Draw {use_credit:,.2f} from committed credit lines") remaining_gap -= use_credit "color: #6b7280;"># Step 3: Central bank facilities if remaining_gap > 0 and central_bank > 0: use_central = min(remaining_gap, central_bank) actions.append(f"3. Access {use_central:,.2f} from central bank facilities") remaining_gap -= use_central for action in actions: report += f"{action}\n" report += "\n=== FUNDING GAP COVERAGE ===\n" if remaining_gap <= 0: report += "✓ Funding gap fully covered by contingency sources.\n" report += f"Surplus capacity: {abs(remaining_gap):,.2f}\n" else: report += f"⚠️ CRITICAL: Funding gap of {remaining_gap:,.2f} remains uncovered.\n" report += "Recommendation: Activate additional emergency measures or reduce balance sheet size.\n" return report except Exception as e: return f"Error simulating contingency funding: {str(e)}"
optimize_balance_sheet
Optimize balance sheet structure for capital efficiency.
Args:
balance_sheet: Current balance sheet structure with assets and liabilities
objectives: Optimization objectives (e.g., maximize_capital_efficiency, minimize_risk_weighted_assets)
Returns:
Balance sheet optimization recommendations
optimize_balance_sheet
Optimize balance sheet structure for capital efficiency. Args: balance_sheet: Current balance sheet structure with assets and liabilities objectives: Optimization objectives (e.g., maximize_capital_efficiency, minimize_risk_weighted_assets) Returns: Balance sheet optimization recommendations
def optimize_balance_sheet(balance_sheet: str, objectives: str = "maximize_capital_efficiency") -> str: """ Optimize balance sheet structure for capital efficiency. Args: balance_sheet: Current balance sheet structure with assets and liabilities objectives: Optimization objectives(e.g., maximize_capital_efficiency, minimize_risk_weighted_assets) Returns: Balance sheet optimization recommendations """ try: import json if isinstance(balance_sheet, str): try: data = json.loads(balance_sheet) except json.JSONDecodeError: return "Error: Invalid JSON format for balance sheet" else: data = balance_sheet assets = data.get('assets', []) liabilities = data.get('liabilities', []) capital = data.get('capital', {}) total_assets = sum(a.get('amount', 0) for a in assets) total_liabilities = sum(l.get('amount', 0) for l in liabilities) total_capital = sum(capital.values()) if isinstance(capital, dict) else capital "color: #6b7280;"># Calculate current ratios rwa = sum(a.get('amount', 0) * a.get('risk_weight', 1.0) for a in assets) cet1_ratio = (capital.get('cet1', 0) / rwa * 100) if rwa > 0 else 0 tier1_ratio = ((capital.get('cet1', 0) + capital.get('at1', 0)) / rwa * 100) if rwa > 0 else 0 total_capital_ratio = (total_capital / rwa * 100) if rwa > 0 else 0 leverage_ratio = (total_capital / total_assets * 100) if total_assets > 0 else 0 report = "=== BALANCE SHEET OPTIMIZATION ===\n\n" report += "Current Capital Ratios:\n" report += f" CET1 Ratio: {cet1_ratio:.2f}% (Minimum: 8%)\n" report += f" Tier 1 Ratio: {tier1_ratio:.2f}% (Minimum: 10%)\n" report += f" Total Capital Ratio: {total_capital_ratio:.2f}% (Minimum: 12%)\n" report += f" Leverage Ratio: {leverage_ratio:.2f}% (Minimum: 3%)\n\n" report += "=== OPTIMIZATION RECOMMENDATIONS ===\n\n" "color: #6b7280;"># Recommendations based on ratios if cet1_ratio < 10: report += "⚠️ CET1 ratio near regulatory minimum.\n" report += "Recommendation: Reduce risk-weighted assets(RWA) by:\n" report += " - Increasing allocation to low-risk assets(government bonds)\n" report += " - Reducing concentration in high-risk assets\n" report += " - Consider securitization of loan portfolio\n\n" if leverage_ratio < 4: report += "⚠️ Leverage ratio could be improved.\n" report += "Recommendation: Increase total capital or reduce total assets.\n\n" "color: #6b7280;"># Asset allocation recommendations high_risk_assets = sum(a.get('amount', 0) for a in assets if a.get('risk_weight', 0) > 0.5) if high_risk_assets / total_assets > 0.6: report += "⚠️ High concentration in risk-weighted assets.\n" report += "Recommendation: Rebalance toward lower RWA assets to improve capital efficiency.\n\n" if all([cet1_ratio >= 10, tier1_ratio >= 12, total_capital_ratio >= 14, leverage_ratio >= 4]): report += "✓ All capital ratios exceed minimum requirements with healthy buffers.\n" report += "Balance sheet structure is optimized for current regulatory environment.\n" return report except Exception as e: return f"Error optimizing balance sheet: {str(e)}"
file_tools
FileTools from agno framework
file_tools
FileTools from agno framework
websearch
DuckDuckGoTools is a convenience wrapper around WebSearchTools with the backend
defaulting to "duckduckgo".
Args:
enable_search (bool): Enable web search function.
enable_news (bool): Enable news search function.
modifier (Optional[str]): A modifier to be prepended to search queries.
fixed_max_results (Optional[int]): A fixed number of maximum results.
proxy (Optional[str]): Proxy to be used for requests.
timeout (Optional[int]): The maximum number of seconds to wait for a response.
verify_ssl (bool): Whether to verify SSL certificates.
timelimit (Optional[str]): Time limit for search results. Valid values:
"d" (day), "w" (week), "m" (month), "y" (year).
region (Optional[str]): Region for search results (e.g., "us-en", "uk-en", "ru-ru").
backend (Optional[str]): Backend to use for searching (e.g., "api", "html", "lite").
Defaults to "duckduckgo".
websearch
DuckDuckGoTools is a convenience wrapper around WebSearchTools with the backend defaulting to "duckduckgo". Args: enable_search (bool): Enable web search function. enable_news (bool): Enable news search function. modifier (Optional[str]): A modifier to be prepended to search queries. fixed_max_results (Optional[int]): A fixed number of maximum results. proxy (Optional[str]): Proxy to be used for requests. timeout (Optional[int]): The maximum number of seconds to wait for a response. verify_ssl (bool): Whether to verify SSL certificates. timelimit (Optional[str]): Time limit for search results. Valid values: "d" (day), "w" (week), "m" (month), "y" (year). region (Optional[str]): Region for search results (e.g., "us-en", "uk-en", "ru-ru"). backend (Optional[str]): Backend to use for searching (e.g., "api", "html", "lite"). Defaults to "duckduckgo".
Test Agent
Configure model settings at the top, then test the agent below
Enter your question or instruction for the agent