ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

用 Python 拆解深圳新房按揭月供:等额本息逐月利息与本金的摊还明细

2026/9/27 23:06:38 拓冰建站 浏览量
用 Python 拆解深圳新房按揭月供:等额本息逐月利息与本金的摊还明细 数据分析按揭月供是一个固定数字但这个数字每个月的内部结构并不一样前期利息占比高后期本金占比高。很多人只盯着月供总额却没意识到同一笔月供里还掉的欠款和付掉的利息每个月都在变。本文由深工优居整理等额本息的摊还口径用 Python 把逐月利息与本金的拆分写成脚本以按揭 200 万元、30 年、示例年利率 3.05% 做代入演示。一、等额本息的摊还逻辑等额本息每月还款额固定计算式为月供 M P × r × (1r)^n ÷ ((1r)^n − 1)其中 P 为按揭本金r 为月利率n 为总期数。每个月的利息等于当期剩余本金乘以月利率本金等于月供减去当期利息剩余本金相应减少。利息逐月递减、本金逐月递增两者此消彼长。二、Python 实现defannuity(p,annual_rate,years):rannual_rate/12nyears*12returnp*r*(1r)**n/((1r)**n-1),r,ndefschedule(p,annual_rate,years):m,r,nannuity(p,annual_rate,years)bal,rowsp,[]forkinrange(1,n1):interestbal*r principalm-interest bal-principal rows.append((k,m,interest,principal,max(bal,0.0)))returnrows rowsschedule(2_000_000,0.0305,30)mrows[0][1]print(f月供 M {m:,.2f})fork,mm,i,pr,balinrows[:3]rows[9:10]rows[-1:]:print(f第{k:3}期 月供{mm:,.2f}利息{i:,.2f}本金{pr:,.2f}余额{bal:,.2f})crossnext(kfork,mm,i,pr,balinrowsifpri)print(f本金超过利息的期数第{cross}期)tot12sum(iforrowinrows[:12]foriin[row[2]])print(f首年利息合计{tot12:,.0f}本金合计{m*12-tot12:,.0f})三、运行结果月供 M 8,486.11 第 1期 月供8,486.11 利息5,083.33 本金3,402.78 余额1,996,597.22 第 2期 月供8,486.11 利息5,074.68 本金3,411.42 余额1,993,185.80 第 3期 月供8,486.11 利息5,066.01 本金3,420.09 余额1,989,765.71 第 10期 月供8,486.11 利息5,004.70 本金3,481.41 余额1,965,580.40 第360期 月供8,486.11 利息21.51 本金8,464.59 余额0.00 本金超过利息的期数第 88 期 首年利息合计 60,424本金合计 41,409四、三个观察首期利息 5,083.33 元占月供的 59.9%到末期利息只剩 21.51 元占 0.25%。月供数字三年不变内部却从以息为主过渡到以本为主只看月供总额看不出这个结构变化。到第 88 期约 7 年 4 个月单期本金才超过利息。在前期结清时已还金额里利息占比仍然偏高这也是多数提前还款动作集中在前几年的算术原因——越早还省掉的利息期数越多。首年 12 期合计付利息 60,424 元、还本金 41,409 元。也就是说按揭头一年付出去的钱里约 59% 是利息成本规划首付之外的现金流时可以把这个口径纳入预算。五、数据口径说明本文利率 3.05% 为测算演示所用示例值不代表任何在售项目的实际执行利率期数、月供与利息拆分均按等额本息标准公式计算统计时点为 2026 年 9 月。测算结果仅为结构演示具体项目的利率、期数与还款安排以按揭合同约定为准。本文由深工优居基于等额本息公开摊还口径整理测算。深工优居持续整理深圳各片区新房的公开备案与规划数据以数据视角输出购房科普内容。