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 usOperational Declassification of ORSA Agent
No description available
LIVE
Instructions
You are an Operational Declassification of ORSA specialist focusing on: 1. **ORSA Governance**: - Define roles and responsibilities across Risk, Actuarial, Finance, and ALM - Ensure Board involvement in approving scenarios, assumptions, and conclusions - Establish ORSA policy and governance framework 2. **Integration in Risk Management Framework**: - Align ORSA with day-to-day risk monitoring - Ensure risk appetite and tolerances are embedded into business decisions - Develop risk limits and early warning indicators 3. **Operationalization of ORSA**: - Translate ORSA results into concrete risk limits and controls - Define capital buffers, liquidity thresholds, underwriting restrictions - Implement risk-adjusted performance measurement 4. **Declassification into Business Units**: - Translate group-level ORSA into actionable requirements for subsidiaries - Cascade solvency limits and risk tolerances to local entities - Ensure consistent risk management across the organization Use governance frameworks, risk management principles, and operational best practices to ensure effective ORSA implementation and integration across the organization.
Knowledge Base (.md)
Business reference guide
Drag & Drop or Click
.md, .txt, .pdf
Data Files
Upload data for analysis (CSV, JSON, Excel, PDF)
Drag & Drop or Click
Multiple files: .json, .csv, .xlsx, .xls, .pdf, .docx, .pptx, .txt
Tools 6
orsa_report_generator
Model for storing functions that can be called by an agent.
orsa_report_generator
Model for storing functions that can be called by an agent.
@tool( name="orsa_report_generator", description="Generate comprehensive ORSA report with methodology and results", show_result=True, ) def orsa_report_generator( entity_name: str, reporting_date: str, solvency_metrics: Dict[str, Any], scenario_analysis: Dict[str, Any], stress_test_results: Dict[str, Any], risk_management_framework: Dict[str, Any], ) -> Dict[str, Any]: """ Generate comprehensive ORSA report. Args: entity_name: Name of the insurance entity reporting_date: Reporting date solvency_metrics: Current solvency metrics scenario_analysis: Scenario analysis results stress_test_results: Stress testing results risk_management_framework: Risk management framework details Returns: Dictionary containing ORSA report sections """ report = { "orsa_report": { "entity_name": entity_name, "reporting_date": reporting_date, "report_type": "Own Risk and Solvency Assessment(ORSA)", "sections": { "executive_summary": { "key_findings": [ f"Current solvency ratio: {solvency_metrics.get('solvency_ratio', 0)}%", f"Capital adequacy level: {solvency_metrics.get('adequacy_level', 'Unknown')}", f"Risk concentration: {max(solvency_metrics.get('risk_concentration', {}).values(), default=0):.1f}% in largest risk module", ], "recommendations": [ "Maintain current risk management framework", "Monitor key risk indicators regularly", "Review capital allocation strategy annually", ], }, "methodology": { "approach": "Standard Formula with internal model elements", "assumptions": "Based on current business plan and market conditions", "validation": "Independent model validation completed", "governance": "Board-approved ORSA policy and process", }, "risk_assessment": { "current_risk_profile": solvency_metrics, "risk_concentration": solvency_metrics.get("risk_concentration", {}), "risk_limits": risk_management_framework.get("risk_limits", {}), "risk_monitoring": "Daily market risk, weekly credit risk, monthly comprehensive", }, "capital_adequacy": { "current_position": solvency_metrics, "projections": scenario_analysis, "stress_testing": stress_test_results, "capital_management": "Risk-based dividend policy with stress testing", }, "forward_looking_assessment": { "scenario_analysis": scenario_analysis, "business_plan_impact": "Growth strategies tested against solvency constraints", "regulatory_developments": "Monitoring IFRS 17 and Solvency II developments", "esg_integration": "Climate risk scenarios included in stress testing", }, }, } } return report
calculate_solvency_ratio
Model for storing functions that can be called by an agent.
calculate_solvency_ratio
Model for storing functions that can be called by an agent.
@tool( name="calculate_solvency_ratio", description="Calculate Solvency II ratio and capital adequacy metrics", show_result=True, ) def calculate_solvency_ratio( own_funds: float, scr_amount: float, mcr_amount: float, risk_modules: Dict[str, float], ) -> Dict[str, Any]: """ Calculate Solvency II ratio and capital adequacy metrics. Args: own_funds: Available own funds scr_amount: Solvency Capital Requirement mcr_amount: Minimum Capital Requirement risk_modules: Dictionary of risk module amounts Returns: Dictionary containing solvency metrics and analysis """ solvency_ratio = (own_funds / scr_amount) * 100 if scr_amount > 0 else 0 mcr_ratio = (own_funds / mcr_amount) * 100 if mcr_amount > 0 else 0 total_risk = sum(risk_modules.values()) risk_concentration = { k: (v / total_risk * 100) if total_risk > 0 else 0 for k, v in risk_modules.items() } adequacy_level = ( "Excellent" if solvency_ratio >= 150 else( "Good" if solvency_ratio >= 130 else "Adequate" if solvency_ratio >= 100 else "Inadequate" ) ) return { "solvency_ratio": round(solvency_ratio, 2), "mcr_ratio": round(mcr_ratio, 2), "adequacy_level": adequacy_level, "risk_concentration": risk_concentration, "capital_buffer": own_funds - scr_amount, "regulatory_margin": own_funds - mcr_amount, }
stress_test_scenarios
Model for storing functions that can be called by an agent.
stress_test_scenarios
Model for storing functions that can be called by an agent.
@tool( name="stress_test_scenarios", description="Perform stress testing under various risk scenarios", show_result=True, ) def stress_test_scenarios( base_solvency_ratio: float, base_scr: float, base_own_funds: float, stress_scenarios: List[str], ) -> Dict[str, Any]: """ Perform stress testing under various risk scenarios. Args: base_solvency_ratio: Base solvency ratio base_scr: Base SCR amount base_own_funds: Base own funds stress_scenarios: List of stress scenarios to test Returns: Dictionary containing stress test results """ scenario_definitions = { "interest_rate_shock": {"description": "Parallel shift in interest rates", "scr_impact": 0.05, "own_funds_impact": -0.08}, "equity_market_crash": {"description": "40% decline in equity markets", "scr_impact": 0.08, "own_funds_impact": -0.12}, "mortality_stress": {"description": "Pandemic-like mortality increase", "scr_impact": 0.10, "own_funds_impact": -0.15}, "lapse_shock": {"description": "Mass lapse event", "scr_impact": 0.04, "own_funds_impact": -0.06}, "credit_default": {"description": "Sovereign default scenario", "scr_impact": 0.06, "own_funds_impact": -0.09}, "operational_event": {"description": "Major operational failure", "scr_impact": 0.02, "own_funds_impact": -0.20}, } stress_results = {} for scenario in stress_scenarios: if scenario in scenario_definitions: d = scenario_definitions[scenario] stressed_scr = base_scr * (1 + d["scr_impact"]) stressed_own_funds = base_own_funds * (1 + d["own_funds_impact"]) stressed_solvency_ratio = (stressed_own_funds / stressed_scr) * 100 stress_results[scenario] = { "description": d["description"], "base_solvency_ratio": round(base_solvency_ratio, 2), "stressed_solvency_ratio": round(stressed_solvency_ratio, 2), "impact_on_solvency_ratio": round(stressed_solvency_ratio - base_solvency_ratio, 2), "stressed_scr": round(stressed_scr, 0), "stressed_own_funds": round(stressed_own_funds, 0), "adequacy_level": "Excellent" if stressed_solvency_ratio >= 150 else "Good" if stressed_solvency_ratio >= 130 else "Adequate" if stressed_solvency_ratio >= 100 else "Inadequate", } return {"base_metrics": {"solvency_ratio": base_solvency_ratio, "scr": base_scr, "own_funds": base_own_funds}, "stress_results": stress_results}
file_tools
FileTools from agno framework
file_tools
FileTools from agno framework
calculator
CalculatorTools from agno framework
calculator
CalculatorTools from agno framework
reasoning_tools
ReasoningTools from agno framework
reasoning_tools
ReasoningTools from agno framework
Test Agent
Configure model settings at the top, then test the agent below
Enter your question or instruction for the agent