关于 lending
面向借款人和财务规划人员的房贷与贷款分析技能,说明贷款成本及资格指标,并提供公式和 Python 参考实现,可用于摊还、额外还款、PMI 与再融资等计算。
主要功能
- 01固定利率与 ARM 分析
- 02月供与利息计算
- 03额外还款影响估算
- 04Points 与 APR 对比
- 05LTV、CLTV 与 PMI 分析
- 06Python 计算模块
适用场景
- 01比较 15 年与 30 年贷款
- 02估算额外还款的节省
- 03评估 Points 的回本时间
- 04分析房贷成本与资格条件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ joellewis/ finance_skills --skill lending安装后在 Claude Code 中输入/lending确认已加载。
附带文件scripts/lending.py
详细介绍
贷款分析
核心概念
固定利率抵押贷款
在整个贷款期限内,利率和月供保持不变:
- 优点: 月供可预测、可抵御利率上升、预算更简单
- 缺点: 初始利率高于 ARM;利率下降时无法受益(必须再融资)
- 最常见的期限:30 年和 15 年固定利率
可调整利率抵押贷款(ARM)
初始阶段利率固定,之后根据某项指数加上一个利差定期调整:
- 标记方式: 5/1 ARM = 固定利率 5 年,之后每年调整;7/1、10/1 依此类推
- 完全指数化利率: 指数(例如 SOFR、1 年期国债利率)+ 利差(例如 2.75%)
- 利率上限可防止利率出现极端调整:
- 首次调整上限(例如 2%):首次调整的最大幅度
- 周期性上限(例如 2%):每个调整周期内的最大变化幅度
- 期限内上限(例如 5%):相对于初始利率的最大累计涨幅
- 适合选择 ARM 的情况: 计划在固定利率期结束前出售房屋或再融资、预期利率将下降,或能够接受利率波动
月供计算
固定利率贷款的标准摊还公式:
- PMT = P × [r(1+r)^n] / [(1+r)^n - 1]
- 其中:P = 本金(贷款金额),r = 月利率(年利率 / 12),n = 付款总次数(贷款期限的月数)
- 每笔付款分为利息(逐渐减少)和本金(逐渐增加)两部分:
- 利息部分:剩余余额 × 月利率
- 本金部分:PMT - 利息部分
支付的总利息
- 总利息 = (n × PMT) - P
- 对于一笔 40 万美元、期限为 30 年、利率为 6.5% 的贷款:PMT = 2,528 美元,总付款额 = 910,178 美元,总利息 = 510,178 美元
额外还款
额外偿还本金可降低未偿余额、缩短贷款期限并减少总利息:
- 每一美元额外还款都将全部用于偿还本金
- 效果会累积:较早的额外还款比之后的还款节省更多利息
- 方式:一次性还款、每月固定额外还款、双周付款(每年支付 26 次半额款,相当于 13 次全额款)
抵押贷款点数
通过预付利息来降低贷款利率:
- 1 个点数 = 贷款金额的 1%(例如,40 万美元贷款的 1 个点数 = 4,000 美元)
- 通常可将利率降低约 0.25%(视贷款机构和市场而异)
- 盈亏平衡计算: 点数成本 / 每月节省金额 = 收回成本所需的月数
- 以下情况购买点数较划算:计划持有贷款的时间超过盈亏平衡点;逐项申报扣除额(点数可能可在购房当年抵税)
APR 与利率
- 利率: 借入本金的成本,以年利率表示
- APR(年百分率): 除利率外,还包括某些费用和成本(发起费、点数、PMI),并按贷款期限折算为年利率
- APR > 利率(有费用时始终如此)
- 比较费用结构不同的贷款报价时,APR 是更好的指标
HELOC(房屋净值信贷额度)
以房屋净值作担保的循环信贷额度:
- 合并贷款价值比(CLTV):(第一抵押贷款余额 + HELOC 额度上限)/ 房屋价值
- 多数贷款机构要求 CLTV ≤ 80-90%
- 提款期(通常为 10 年):可灵活借款和还款,通常只需支付利息
- 还款期(通常为 20 年):不可再提款,按完全摊还方式还款
- 浮动利率: 通常为基准利率加利差;利率随市场波动
- 用途: 房屋装修、债务整合、紧急备用资金(但不应作为主要应急基金)
- 风险: 房屋是抵押品——违约将导致房屋被止赎
贷款资格标准
- FICO 评分: 常规贷款要求 620+,FHA 贷款要求 580+,最佳利率要求 700+
- DTI: 前端 ≤ 28%,后端 ≤ 36-43%(因贷款计划而异)
- LTV(贷款价值比): 贷款金额 / 房产价值;LTV 越低 = 风险越低 = 条件越好
- 储备金: 交割后以流动资产形式持有的还款月数(通常为 2-6 个月)
- 就业/收入: 收入记录稳定,通常需提供 2 年的证明材料
PMI(私人抵押贷款保险)
常规贷款的 LTV 超过 80% 时必须购买:
- 费用: 每年为贷款金额的 0.5-1.5%,计入月供
- 取消: LTV 达到 78% 时自动取消(基于原始摊还计划),LTV 达到 80% 时可申请取消
- 避免方式: 首付 20%、组合贷款(80/10/10)、由贷款机构支付 PMI(利率较高)、VA 贷款(无需 PMI)
- PMI 保障的是贷款机构,而非借款人——对借款人而言,这是一项纯支出
15 年期与 30 年期对比
- 15 年期: 月供较高,利率较低(通常低 0.5-0.75%),总利息大幅减少,更快积累房屋净值
- 30 年期: 必要月供较低,灵活性更高,总利息成本较高
- 混合方式: 选择 30 年期以保留灵活性,并按 15 年期的还款额额外还款
关键公式
| 公式 | 表达式 | 用途 |
|---|---|---|
| 月供 | PMT = P × [r(1+r)^n] / [(1+r)^n - 1] | 固定利率贷款还款额 |
| 总利息 | n × PMT - P | 借款总成本 |
| 还款 k 期后的剩余本金 | B_k = P × [(1+r)^n - (1+r)^k] / [(1+r)^n - 1] | 任意时点的剩余本金 |
| 贷款点数回本期 | 贷款点数成本 / 每月节省金额 | 收回点数成本所需的月数 |
| LTV | 贷款金额 / 房产价值 | 风险和 PMI 评估 |
| CLTV | (第一抵押贷款 + HELOC)/ 房屋价值 | 综合杠杆率 |
| ARM 完全指数利率 | 指数 + 利差 | 固定期后的利率 |
计算示例
示例 1:30 年期与 15 年期抵押贷款对比
已知: 房价 $500K,首付 $100K,贷款金额 $400K。30 年期利率:6.5%。15 年期利率:5.9%。 计算: 月供、总利息和节省的利息。 解答:
- 30 年期月供: PMT = $400,000 × [0.005417 × (1.005417)^360] / [(1.005417)^360 - 1]
- r = 6.5%/12 = 0.005417,n = 360
- PMT = $2,528/月
- 30 年期总利息: 360 × $2,528 - $400,000 = $510,178
- 15 年期月供: PMT = $400,000 × [0.004917 × (1.004917)^180] / [(1.004917)^180 - 1]
- r = 5.9%/12 = 0.004917,n = 180
- PMT = $3,354/月
- 15 年期总利息: 180 × $3,354 - $400,000 = $203,694
- 月供差额: $3,354 - $2,528 = 15 年期每月多付 $826。
- 节省的利息: $510,178 - $203,694 = 选择 15 年期可节省 $306,484。
- 15 年期的月供高出 33%,但总利息可减少 60%。
示例 2:额外还款的影响
已知: $300K 的 30 年期抵押贷款,利率为 6.5%(月供 = $1,896.20)。借款人每月额外偿还 $200 本金,总还款额为 $2,096.20/月。 计算: 缩短的还款时间和节省的利息。 解答:
- 不额外还款: 360 个月,总利息 = 360 × $1,896.20 - $300,000 = $382,633。
- 新的期限(闭式估算): n = -ln(1 - P × r / PMT_total) / ln(1+r),其中 r = 0.065/12 = 0.005417:
- n = -ln(1 - $300,000 × 0.005417 / $2,096.20) / ln(1.005417) ≈ 276.3 期。
- 精确摊还计算(逐月模拟,最后一期为部分还款):277 个月还清,即23 年 1 个月(约 23.1 年),总利息 = $279,185。闭式估算与精确计划的结果非常接近。
- 节省的利息: $382,633 - $279,185 = $103,449。
- 缩短的时间: 360 - 277 = 83 个月,约为6.9 年。
- 额外偿还的本金总额约为 276 × $200 = $55,200。每支付 1 美元额外还款所节省的利息:$103,449 / $55,200 ≈ $1.87。
常见陷阱
- 比较利率而不是 APR——APR 涵盖各项费用,能更准确地比较成本
- ARM 的诱导利率在固定期结束、利率向上调整时,可能导致还款额骤增
- 积分的盈亏平衡点:如果在达到盈亏平衡点之前就卖房或再融资,购买积分并不划算
- 在利率上升的环境中,HELOC 的浮动利率存在风险——为利率上涨预留预算
- PMI 成本可能让高 LTV 贷款比表面看起来更贵——将 PMI 计入每月总成本
- 忽视机会成本:额外偿还利率为 3-4% 的抵押贷款,还是投资于预期回报率为 7-10% 的项目
- 没有向多家贷款机构询价——对于同一借款人,利率报价可能相差 0.5% 以上
- 再融资时重新设为 30 年期限——即使利率较低,也会延长总还款期限
- 再融资决策时忽视交割成本(参见 debt-management 中的再融资盈亏平衡分析)
交叉引用
- debt-management(wealth-management 插件):再融资分析、还债与投资决策、DTI 计算
- emergency-fund(wealth-management 插件):贷款资格审核和财务安全所需的充足储备金
- tax-efficiency(wealth-management 插件):抵押贷款利息抵扣、积分抵扣
- savings-goals(wealth-management 插件):储蓄首付款是常见的目标储蓄项目
- liquidity-management(wealth-management 插件):抵押贷款还款额是大多数家庭现金流计划中最大的固定支出
运行脚本
直接运行参考实现:
uv run scripts/lending.py # PEP 723 header resolves dependencies automatically
python3 scripts/lending.py # after: pip install numpy scipy
直接运行会输出一个演示,涵盖还款额计算、额外还款的影响、LTV/PMI、DSCR、气球付款、再融资分析、积分盈亏平衡以及 ARM 重置。使用 --verify 可重新计算演示数据并断言其与本技能中的示例计算结果一致(输出 PASS/FAIL;不一致时以非零状态码退出);使用 --help 可列出可用的类和函数。此文件主要用于作为模块导入(from lending import LendingAnalysis),而非独立运行。
评论
支持 Markdown