保额计算方法
"我需要多少保险?"是每个人面对保险时最核心的问题。没有标准答案,但有系统方法让你算出适合自己的数字。
保额需求来源全图
graph LR
NEED[保额需求来源] --> INCOME[收入替代
Income Replacement] NEED --> DEBT[负债清偿
Debt Clearance] NEED --> EXPENSE[生活支出
Future Expenses] NEED --> ESTATE[遗产规划
Estate Planning] INCOME -->|计算| I_CALC["月净收入 × 12 × 年数
通常 10–15 年"] DEBT -->|计算| D_CALC["未偿还房贷 + 车贷
+ 其他负债"] EXPENSE -->|计算| E_CALC["子女教育基金
+ 配偶生活费储备"] ESTATE -->|计算| EST_CALC["希望留给受益人的
遗产金额"] style NEED fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
Income Replacement] NEED --> DEBT[负债清偿
Debt Clearance] NEED --> EXPENSE[生活支出
Future Expenses] NEED --> ESTATE[遗产规划
Estate Planning] INCOME -->|计算| I_CALC["月净收入 × 12 × 年数
通常 10–15 年"] DEBT -->|计算| D_CALC["未偿还房贷 + 车贷
+ 其他负债"] EXPENSE -->|计算| E_CALC["子女教育基金
+ 配偶生活费储备"] ESTATE -->|计算| EST_CALC["希望留给受益人的
遗产金额"] style NEED fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
三种保额计算方法
from dataclasses import dataclass
@dataclass
class SumAssuredCalculator:
"""
保额三种计算方法并行比较
"""
# 个人财务信息
monthly_net_income_rm: float
age: int
retirement_age: int = 60
# 负债
mortgage_balance_rm: float = 0.0
car_loan_balance_rm: float = 0.0
other_debts_rm: float = 0.0
# 受抚养人费用
spouse_monthly_expense_rm: float = 0.0
spouse_expense_years: int = 20
children_education_fund_rm: float = 0.0
# 现有资产(可抵扣)
existing_savings_rm: float = 0.0
epf_balance_rm: float = 0.0
existing_life_insurance_rm: float = 0.0
@property
def working_years_left(self) -> int:
return max(0, self.retirement_age - self.age)
def dime_method(self) -> dict:
"""
DIME 法(Debt, Income, Mortgage, Education)
最常用的综合方法
"""
debt = self.car_loan_balance_rm + self.other_debts_rm
income = self.monthly_net_income_rm * 12 * self.working_years_left
mortgage = self.mortgage_balance_rm
education = self.children_education_fund_rm
gross = debt + income + mortgage + education
existing = (
self.existing_savings_rm
+ self.epf_balance_rm
+ self.existing_life_insurance_rm
)
net_need = max(0, gross - existing)
return {
"method": "DIME 法",
"debt_component": debt,
"income_component": income,
"mortgage_component": mortgage,
"education_component": education,
"gross_need": gross,
"existing_assets": existing,
"recommended_sum_assured": net_need,
}
def income_multiple_method(self, multiplier: float = 10) -> dict:
"""
收入倍数法(最简单)
规则:年收入 × 10 倍(或至退休年数)
"""
annual_income = self.monthly_net_income_rm * 12
gross = annual_income * multiplier
net_need = max(0, gross - self.existing_life_insurance_rm)
return {
"method": f"收入倍数法({multiplier}倍)",
"annual_income": annual_income,
"gross_need": gross,
"existing_coverage": self.existing_life_insurance_rm,
"recommended_sum_assured": net_need,
}
def human_life_value_method(self) -> dict:
"""
人力资本价值法(Human Life Value)
概念:你未来的总收入贡献现值
简化版:年净收入 × 剩余工作年数(折扣率约 5%)
"""
annual_income = self.monthly_net_income_rm * 12
# 简化年金现值公式(5% 折扣)
discount_rate = 0.05
n = self.working_years_left
if discount_rate == 0 or n == 0:
pv = annual_income * n
else:
pv = annual_income * (1 - (1 + discount_rate) ** (-n)) / discount_rate
net_need = max(0, pv - self.existing_life_insurance_rm)
return {
"method": "人力资本价值法(HLV)",
"working_years_left": n,
"present_value_of_income": round(pv),
"existing_coverage": self.existing_life_insurance_rm,
"recommended_sum_assured": round(net_need),
}
# 演示:35岁,月薪 RM 7,000,有房贷 RM 400,000,2孩子需教育基金 RM 200,000
calc = SumAssuredCalculator(
monthly_net_income_rm=7_000,
age=35,
retirement_age=60,
mortgage_balance_rm=400_000,
car_loan_balance_rm=40_000,
other_debts_rm=20_000,
spouse_monthly_expense_rm=3_000,
spouse_expense_years=20,
children_education_fund_rm=200_000,
existing_savings_rm=50_000,
epf_balance_rm=80_000,
existing_life_insurance_rm=200_000,
)
for method in [calc.dime_method(), calc.income_multiple_method(10), calc.human_life_value_method()]:
print(f"\n{'─'*50}")
print(f"方法: {method['method']}")
print(f"建议保额: RM {method['recommended_sum_assured']:,.0f}")
三种方法结果对比与建议
| 方法 | 优点 | 缺点 | 推荐使用场景 |
|---|---|---|---|
| DIME 法 | 最全面,考虑所有财务责任 | 需要详细财务数据 | 已婚有孩子,有房贷 |
| 收入倍数法 | 简单快速,10 分钟算完 | 不考虑个人负债结构 | 快速初步估算 |
| 人力资本价值法 | 考虑时间价值 | 较抽象,忽略具体负债 | 年轻单身,负债少 |
实用建议:三种方法都算一遍,取中位数作为参考保额,再根据实际保费预算微调。
不同人生阶段的保额参考
@dataclass
class LifeStageCoverage:
stage: str
age_range: str
life_coverage_target_rm: float
medical_coverage_target_rm: float
priority: str
stages = [
LifeStageCoverage(
stage="单身,无受抚养人",
age_range="25–30岁",
life_coverage_target_rm=300_000,
medical_coverage_target_rm=1_000_000,
priority="医疗卡 > 意外险 > 严重疾病险 > 寿险",
),
LifeStageCoverage(
stage="已婚,无孩子",
age_range="28–35岁",
life_coverage_target_rm=700_000,
medical_coverage_target_rm=1_000_000,
priority="医疗卡 > 寿险(双方)> 严重疾病险",
),
LifeStageCoverage(
stage="有孩子,有房贷",
age_range="32–45岁",
life_coverage_target_rm=1_500_000,
medical_coverage_target_rm=1_000_000,
priority="医疗卡 > 寿险(高额)> 严重疾病险 > 教育储蓄",
),
LifeStageCoverage(
stage="孩子成年,房贷接近还清",
age_range="50–60岁",
life_coverage_target_rm=500_000,
medical_coverage_target_rm=2_000_000,
priority="医疗卡(高保额)> 严重疾病险 > 退休规划",
),
]
for s in stages:
print(f"\n📍 {s.stage} ({s.age_range})")
print(f" 目标寿险: RM {s.life_coverage_target_rm/1e3:.0f}k")
print(f" 目标医疗: RM {s.medical_coverage_target_rm/1e6:.0f}M/年")
print(f" 优先顺序: {s.priority}")
本章小结
- DIME 法最全面:考虑负债+收入+房贷+教育,适合有家庭责任的人
- 有家庭目标覆盖 10× 年收入:快速估算,不精确但不会差太远
- 保额需减去现有资产:EPF、储蓄、现有寿险都可以抵扣需求
- 不同阶段保额需求不同:养孩子+有房贷阶段保额需求最高
- 每 3–5 年重新计算:结婚、生子、买房、还清贷款都是重新评估的时机
下一章:保单条款陷阱识别