EPF投资组合与提前退休
High Contrast
Dark Mode
Light Mode
Sepia
Forest
2 min read466 words

EPF投资组合与提前退休

马来西亚雇员公积金(EPF/KWSP)是退休储蓄的核心。很多 IT 人在没有充分理解 EPF 账户结构的情况下,错过了可观的自愿缴纳税务优惠和提前退休选项。


EPF三账户结构(2024年起)

graph TB EPF["EPF 雇员公积金"] --> A1["🏦 Akaun Persaraan(退休)\n75% 的月供\n55岁前禁止提取\n用途:退休生活"] EPF --> A2["🏠 Akaun Sejahtera(幸福)\n15% 的月供\n可提取:房产/教育/医疗\n55岁提取上限弹性"] EPF --> A3["🌱 Akaun Fleksibel(弹性)\n10% 的月供\n可随时提取(月1次)\n用作紧急资金"] A1 --> RET["退休核心资产\n不可随意动用"] A2 --> FLEX["弹性大事用途\n适度规划"] A3 --> EMERGENCY["流动性缓冲\n不建议全取光"] style A1 fill:#1565C0,color:#fff style A2 fill:#2E7D32,color:#fff style A3 fill:#E65100,color:#fff

EPF 余额预测模型

from dataclasses import dataclass
@dataclass
class EPFProjectionModel:
"""
EPF 余额预测 + 退休时间规划
"""
current_age: int
current_epf_balance: float      # MYR
monthly_gross_salary: float     # 税前月薪(MYR)
employer_contribution_pct: float = 0.13   # 雇主:13%(≤RM5k/月)
employee_contribution_pct: float = 0.11   # 雇员:11%
annual_dividend_rate: float = 0.057       # EPF 年均分红(5-7%,取5.7%)
voluntary_monthly_top_up: float = 0.0     # i-Saraan 自愿额外缴纳(MYR)
def monthly_contribution(self) -> float:
employer = self.monthly_gross_salary * self.employer_contribution_pct
employee = self.monthly_gross_salary * self.employee_contribution_pct
return employer + employee + self.voluntary_monthly_top_up
def project_to_age(self, target_age: int) -> float:
"""预测至目标年龄的 EPF 余额"""
years = target_age - self.current_age
balance = self.current_epf_balance
monthly = self.monthly_contribution()
for _ in range(years):
balance = balance * (1 + self.annual_dividend_rate)
balance += monthly * 12
return balance
def retirement_income_monthly(self, retire_age: int, draw_years: int = 25) -> float:
"""
退休时每月可提取金额
假设 EPF 余额分摊在 draw_years 年内提取
"""
final_balance = self.project_to_age(retire_age)
total_months = draw_years * 12
return final_balance / total_months
def fi_timeline(self, monthly_expenses: float) -> None:
"""打印不同退休年龄的财务就绪情况"""
fi_number = monthly_expenses * 12 * 25
print(f"\n{'='*55}")
print(f"  EPF 退休预测报告")
print(f"  当前余额: MYR {self.current_epf_balance:,.0f}")
print(f"  月缴纳(含自愿): MYR {self.monthly_contribution():,.0f}")
print(f"  FI 数字(4% 法则): MYR {fi_number:,.0f}")
print(f"{'='*55}")
print(f"\n  {'退休年龄':^8} | {'EPF余额':>14} | {'月提取额':>12} | {'达到FI%':>8}")
print("  " + "-"*50)
for age in [50, 55, 57, 60, 65]:
if age <= self.current_age:
continue
balance = self.project_to_age(age)
monthly = self.retirement_income_monthly(age)
fi_pct = balance / fi_number * 100
print(f"  {age}岁{' ':^5} | MYR {balance:>10,.0f} | MYR {monthly:>7,.0f}/月 | {fi_pct:>6.1f}%")
# 示例:42岁,月薪 RM 20,000
model = EPFProjectionModel(
current_age=42,
current_epf_balance=300_000,
monthly_gross_salary=20_000,
voluntary_monthly_top_up=1_000  # 每月自愿额外缴纳
)
model.fi_timeline(monthly_expenses=8_000)

i-Saraan 自愿缴纳税务优惠

特征 详情
计划名称 i-Saraan(针对自雇/自由职业)
年度上限 RM 60,000(超出部分不享税务减免)
税务减免 可抵扣应税收入(与 EPF 雇员缴纳共享上限)
适合对象 独立顾问、自由职业者、Sdn Bhd 董事
收益率 与正常 EPF 相同(历史 5–7%/年)
流动性 55岁前锁仓(Akaun Persaraan 部分)

FIRE 数字的马来西亚版本


本章小结

下一章:技术人的被动收入构建