TalentPerformer

Finance

Accountant Module
Accounting Controller Module
Analyst Financial Reporting & Ref Module
Asset-Liability Management Module
Consolidation Module
CSRD Consultant Module
Environmental, Social & Governance Module
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
Treasurer Module

Need a custom agent?

Build tailored AI solutions

Work with our team to develop custom AI agents for your business.

Contact us

Solvency 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.

LIVE

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

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

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

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