AgentSkillsCN

Calculate Actuarial Reserve

计算精算准备金

SKILL.md

Skill: Calculate Actuarial Reserve

Domain

insurance

Description

Calculates insurance policy reserves using actuarial methods including loss development, IBNR estimation, and statutory reserve requirements.

Tags

actuarial, reserves, insurance, IBNR, loss-development, statutory

Use Cases

  • Loss reserve calculation
  • IBNR estimation
  • Reserve adequacy testing
  • Statutory reporting

Proprietary Business Rules

Rule 1: Loss Development Factors

Application of historical loss development patterns.

Rule 2: IBNR Calculation

Incurred but not reported claims estimation methods.

Rule 3: Case Reserve Adequacy

Evaluation of individual case reserves.

Rule 4: Statutory Compliance

Minimum reserve requirements by line of business.

Input Parameters

  • valuation_date (string): Reserve valuation date
  • loss_triangles (dict): Historical loss data
  • case_reserves (dict): Current case reserves
  • premium_data (dict): Earned premium by period
  • line_of_business (string): Insurance line
  • prior_estimates (dict): Previous reserve estimates

Output

  • total_reserve (float): Total required reserve
  • ibnr_estimate (float): IBNR component
  • development_factors (dict): Selected factors
  • adequacy_assessment (dict): Reserve adequacy analysis
  • statutory_minimum (float): Minimum required reserve

Implementation

The calculation logic is implemented in reserve_calculator.py and references data from CSV files:

  • method_weights.csv - Reference data
  • statutory_factors.csv - Reference data
  • adequacy_thresholds.csv - Reference data
  • industry_ldfs.csv - Reference data
  • expense_factors.csv - Reference data
  • discount_factors.csv - Reference data
  • parameters.csv - Reference data.

Usage Example

python
from reserve_calculator import calculate_reserve

result = calculate_reserve(
    valuation_date="2025-12-31",
    loss_triangles={"paid": [[100, 150, 180], [120, 175]], "incurred": [[150, 190, 200], [180, 220]]},
    case_reserves={"open_claims": 500000, "claim_count": 150},
    premium_data={"earned_2024": 5000000, "earned_2025": 5500000},
    line_of_business="commercial_auto",
    prior_estimates={"total": 2000000, "ibnr": 800000}
)

print(f"Total Reserve: ${result['total_reserve']:,.0f}")

Test Execution

python
from reserve_calculator import calculate_reserve

result = calculate_reserve(
    valuation_date=input_data.get('valuation_date'),
    loss_triangles=input_data.get('loss_triangles', {}),
    case_reserves=input_data.get('case_reserves', {}),
    premium_data=input_data.get('premium_data', {}),
    line_of_business=input_data.get('line_of_business'),
    prior_estimates=input_data.get('prior_estimates', {})
)