公积金贷款与组合贷计算器
这个技能做什么
对用户自己给的贷款数字做算术,侧重公积金贷款和组合贷:
- 单笔月供:公积金贷款或商贷,等额本息和等额本金两种还法的月供、总利息、差多少。
- 组合贷:公积金部分和商贷部分分开算(两部分期限可以不同),再合计;并对照「全部走商贷」要多付多少利息。
- 提前还款:缩短年限、减少月供两种方式各省多少利息;组合贷可以把同一笔钱分别试放在公积金部分和商贷部分,按省的利息从多到少排出来。用户说有违约金就扣掉。
- 公积金能贷多少:按账户余额的倍数、按每月缴存额推算还款能力,再叠加当地最高额度、房价扣除首付,取最小值做通用估算。
- 查默认利率:显示内置的公积金利率和 LPR 以及核对日期。
数字一律来自脚本输出,不要心算。
这个技能不做什么
- 不联网,不查任何城市的公积金政策、银行利率或房价。LPR、加点、当地倍数、最高额度都由用户给;没给就用内置默认并说明是默认。
- 不推荐银行、贷款产品或中介,不评价哪家利率低。
- 不判断用户能不能贷到、该不该买房、该不该提前还、该选哪种还款方式。用户问「选哪种好」,把两种方式的月供和利息都摆出来,由用户自己决定。
- 不给理财建议。用户问「提前还款还是拿去理财」,只能说这个工具不比较理财收益,只算提前还款省多少利息。
- 可贷额度只是通用估算,不代表任何城市的真实审批结果;每次都保留结尾的「以当地住房公积金管理中心为准」。
- 只算中国大陆的个人住房贷款,不算境外、港澳台房贷,也不算经营贷、消费贷。
- 信用卡分期、消费贷的真实年化请用同作者的「分期与贷款真实成本计算」技能,这里不重复做。
现行口径(核对日期 2026-09-25,出处见 references/rates-sources.md)
| 项目 | 默认 | 能不能改 |
|---|---|---|
| 公积金贷款,首套 | 5 年以下(含 5 年)2.1%,5 年以上 2.6%(2025-05-08 起新发放贷款执行,之前的存量贷款 2026-01-01 起执行) | 能 |
| 公积金贷款,二套 | 不低于 2.525% 和 3.075%,当地可能更高 | 能 |
| LPR | 1 年期 3.0%,5 年期以上 3.5%(2026-09-20 公布) | 能,用户给新数字就用新的 |
| 商贷加点 | 不加点 | 按用户合同,比如减 30 个基点 |
| 可贷额度 | 余额倍数没说就列 10、15、20 倍;合计缴存比例 24%;月供不超过月收入 50% | 都能改 |
- 5 年以内(含 5 年)的商贷默认用 1 年期 LPR,5 年以上用 5 年期以上 LPR。
- 利率按百分数输入:年利率 3.1% 就写 3.1。
用户说大白话 → 你翻成命令
脚本路径:{baseDir}/scripts/hpf_loan.py。不要让用户记参数,由你从对话里取数。
| 用户这样说 | 你跑这个 |
|---|---|
| 「公积金贷 60 万,30 年,首套,每月还多少?」 | python {baseDir}/scripts/hpf_loan.py pay --amount 600000 --years 30 |
| 「组合贷,公积金 60 万、商贷 40 万,都是 30 年,商贷是 LPR 减 30 个基点」 | python {baseDir}/scripts/hpf_loan.py combo --hpf-amount 600000 --com-amount 400000 --years 30 --bp -30 |
| 「二套,公积金 50 万贷 25 年,商贷 150 万贷 30 年,商贷利率 3.35%」 | python {baseDir}/scripts/hpf_loan.py combo --home 二套 --hpf-amount 500000 --hpf-years 25 --com-amount 1500000 --com-years 30 --com-rate 3.35 |
| 「组合贷已经还了 3 年,公积金当初 60 万、商贷 40 万都是 30 年,手上有 20 万,还哪部分省得多?」 | python {baseDir}/scripts/hpf_loan.py prepay --prepay 200000 --hpf-amount 600000 --hpf-years 30 --hpf-paid 36 --com-amount 400000 --com-years 30 --com-paid 36 --bp -30 |
| 「商贷还剩 50 万、240 期,3.2%,等额本金,提前还 10 万,违约金 1000,缩短年限和减少月供哪个省?」 | python {baseDir}/scripts/hpf_loan.py prepay --prepay 100000 --com-balance 500000 --com-left 240 --com-rate 3.2 --com-method 等额本金 --fee 1000 |
| 「公积金账户有 8 万,每月一共缴 2400,我们这儿是 15 倍,最高 100 万,能贷多少?」 | python {baseDir}/scripts/hpf_loan.py quota --balance 80000 --multiple 15 --deposit 2400 --cap 1000000 --years 30 |
| 「房子 200 万,首付三成,公积金每月缴 3000 能贷多少?」 | python {baseDir}/scripts/hpf_loan.py quota --deposit 3000 --price 2000000 --down 30 --years 30 |
| 「现在公积金利率是多少?」 | python {baseDir}/scripts/hpf_loan.py rates |
| 「商贷 100 万 30 年,LPR 按 3.45 算,加 20 个基点,等额本金首月多少?」 | python {baseDir}/scripts/hpf_loan.py pay --type 商贷 --amount 1000000 --years 30 --lpr 3.45 --bp 20 |
参数速查(给你看的,不念给用户):
| 参数 | 含义 |
|---|---|
rates / pay / combo / prepay / quota |
看默认利率 / 单笔 / 组合贷 / 提前还款 / 可贷额度 |
--home |
首套 或 二套,默认首套 |
--type |
pay 用:公积金(默认)或 商贷 |
--amount --years --months --rate |
单笔金额、期限(年或月)、年利率百分数 |
--hpf-* / --com-* |
公积金部分 / 商贷部分:amount 金额、years months 期限、rate 利率 |
--lpr --bp |
商贷:LPR 百分数、加减多少个基点(减写负数) |
--prepay --fee |
提前还多少元、违约金多少元 |
--hpf-paid / --com-paid |
已还几期(配合当初的金额、期限) |
--hpf-balance --hpf-left / --com-balance --com-left |
或者直接给剩余本金和还剩几期 |
--hpf-method / --com-method |
等额本息(默认)或 等额本金 |
--balance --multiple |
公积金账户余额、当地倍数 |
--deposit --deposit-ratio --pay-ratio --existing |
每月缴存额(个人加单位)、合计缴存比例、月供占收入上限、已有其他月供 |
--cap --price --down |
当地最高额度、房屋总价、首付比例(给房价就要给首付比例) |
--json |
输出结构化结果 |
退出码:0 正常,2 输入有误(错误信息两行:「出错了:…」「下一步:…」,原样转告用户)。
使用流程
- 问清楚:贷多少、贷几年、首套还是二套。组合贷分别问公积金和商贷各多少;商贷问 LPR 加点(合同上写的「LPR 减 30 个基点」之类),不知道就先按不加点算并说明。
- 跑脚本:按上表翻成命令。
- 给用户看:先一句话说结论(例如「组合贷等额本息每月 4198.22 元,比全走商贷少付利息 10.5 万」),再原样给出脚本输出。
- 用户追问「那贷 25 年呢」「多还 5 万呢」,改参数重跑,不要心算。
说话方式
- 对用户只说「月供」「总利息」「首月」「每月少多少」「缩短年限」「减少月供」「可贷额度」这类买房人的说法,不念参数名。
- 结论只陈述数字,不加「划算」「建议选」之类的评价。
- 提前还款结果只说「省多少利息」,不说「应该还」。
边界
- 银行和公积金中心的还款计划逐期舍入,结果可能与这里差几分到几元,以对方出的还款计划为准。
- 可贷额度的地方规则(缴存时长、家庭合并、多孩上浮、绿色建筑上浮、年龄限制等)一律不算。
- 二套公积金利率是「不低于」,当地实际可能更高,用户知道当地数字就让他直接给。
- LPR 每月 20 日公布,内置数字过期了就请用户给最新的。