两个贷款计算器

来源:互联网 发布:五大经典算法视频 编辑:程序博客网 时间:2024/06/10 06:36

贷款计算器

都知道复利,但实际上只有算出来才知道复利多么牛逼。

贷款还款额度计算可以参考:http://www.rong360.com/calculator/gongjijin.html

房贷20-30年差额

按照20年和30年差额投资。

# -*- coding: utf-8 -*-import math;rate=3.5 #投资年利率total=1200000 #贷款额度year30=5222.48 #30年贷款,等额本息还款,月供year20=6806.35 #20年贷款,等额本息还款,月供# 工具函数su=lambda x: "%.2f万"%(x/10000.0) #格式化,单位为万元g=lambda base,years: base*math.pow(1+rate/100.0,years) #投资复利计算last10=year30*12*10 #最后10年,按照30年贷款需要支付的金额user_pay= year20 * 12 * 20 #用户按照20年贷款,支付的总金额user_extra= user_pay - total #个人按20年支付的利息agent_pay= year30 * 30 * 12 #中介按照30年贷款,支付的总金额;银行收到的金额.agent_extra=agent_pay - total #中介按30年支付的利息investment= (year20 - year30) * 12 #中介每年可用于投资的金额print "计算中介的收益..."print "中介: 前20年差额用来投资,可用于投资的资金每月%s,即每年%s"%(investment / 12, investment)print "中介: 预计投资回报率%s%%"%rateprint "中介: 计算前20年收益"invest_got= 0#前20年投资总收益for i in range(20,0,-1):    got=g(investment, i)    invest_got= invest_got + got    print "    第%s年的本金%s%s年后复利变为%s"%(20 - i + 1, investment, i, got)print "中介: 前20年利率%s%%, 额外总收益%s"%(rate, su(invest_got))print "中介: 计算后10年收益"invest_pure=invest_got#纯收益for i in range(0,10,1):    spend=year30*12    got=g(invest_pure, 1)-invest_pure    left = invest_pure-spend+got    print "    第%s年的本金%s, 支出%s, 收益%s, 剩余%s"%(20+i+1,su(invest_pure), su(spend), su(got), su(left))    invest_pure=leftprint "中介: 前20年利率%s%%, 额外总收益%s, 最后10年支出%s, 纯收益%s"%(rate, su(invest_got), su(last10), su(invest_pure))print "中介: 贷款%s, 总支付%s, 利息%s, 纯收益%s"%(su(total), su(agent_pay), su(agent_extra), su(invest_pure))print ""print "计算个人支出..."print "贷款%s, 按20年贷款支出%s, 利息%s"%(su(total), su(user_pay), su(user_extra))print ""print "计算合并收益"mpay=user_pay-invest_puremsub=agent_pay-mpaymextra=mpay-totalprint "1. 投资利率%s%%, 投资方式20-30年差额(20年月供%s, 30年月供%s, 每月投资%s)"%(rate, year20, year30, investment/12)print "2. 借贷%s, 总还款%s, 利息%s. 本应还%s, 少还%s"%(su(total), su(mpay), su(mextra), su(agent_pay), su(msub))print "3. 个人20年共支付%s(向银行借款%s,给银行利息%s,自己卡里还有%s)."%(su(user_pay), su(total), su(mextra), su(invest_pure))print "备注: 不计算通胀,货币贬值,公积金存款利率和投资利率差"

公积金贷款

数据改成:

rate=5 #投资年利率total=1200000 #贷款额度year30=5222.48 #30年贷款,等额本息还款,月供year20=6806.35 #20年贷款,等额本息还款,月供

运算结果如下:

计算合并收益1. 投资利率5%, 投资方式20-30年差额(20年月供6806.35, 30年月供5222.48, 每月投资1583.87)2. 借贷120.00万, 总还款134.69万, 利息14.69万. 本应还188.01万, 少还53.32万3. 个人20年共支付163.35万(向银行借款120.00万,给银行利息14.69万,自己卡里还有28.66万).备注: 不计算通胀,货币贬值,公积金存款利率和投资利率差

商业贷款基准利率

把上面的数字改成:

rate=5 #投资年利率total=440000 #贷款额度year30=2335.20 #30年贷款,等额本息还款,月供year20=2879.55 #20年贷款,等额本息还款,月供

结果:

计算合并收益1. 投资利率5%, 投资方式20-30年差额(20年月供2879.55, 30年月供2335.2, 每月投资544.35)2. 借贷44.00万, 总还款67.41万, 利息23.41万. 本应还84.07万, 少还16.65万3. 个人20年共支付69.11万(向银行借款44.00万,给银行利息23.41万,自己卡里还有1.70万).备注: 不计算通胀,货币贬值,公积金存款利率和投资利率差

组合贷款

数字改成:

rate=5 #投资年利率total=1640000 #贷款额度year30=7557.67 #30年贷款,等额本息还款,月供year20=9685.9 #20年贷款,等额本息还款,月供

结果:

计算合并收益1. 投资利率5%, 投资方式20-30年差额(20年月供9685.9, 30年月供7557.67, 每月投资2128.23)2. 借贷164.00万, 总还款202.10万, 利息38.10万. 本应还272.08万, 少还69.97万3. 个人20年共支付232.46万(向银行借款164.00万,给银行利息38.10万,自己卡里还有30.36万).备注: 不计算通胀,货币贬值,公积金存款利率和投资利率差

GO版本

package mainimport (    "fmt"    "math")const (    杨成立投资年利率 = 5    杨亚首付   = 19.2 * 10000    杨亚方案月供 = 2541.0    杨成立首付   = 16 * 10000.0    杨成立方案月供 = 2088.99    //杨亚方案月供 = 9685.9    //杨亚首付 = 16 * 10000.0    //杨成立方案月供 = 7557.67)func 格式化为万元(x float64) string {    return fmt.Sprintf("%.2f万", x/10000.0)}func 复利(金额, 年数 float64) float64 {    return 金额 * math.Pow(1+杨成立投资年利率/100.0, 年数)}func main() {    首付差额 := 杨亚首付 - 杨成立首付    首付差额20年后金额 := 复利(首付差额, 20)    fmt.Println(fmt.Sprintf("首付差额%v存20年后是%v", 格式化为万元(首付差额), 格式化为万元(首付差额20年后金额)))    每年可投资差额 := 12 * (杨亚方案月供 - 杨成立方案月供)    fmt.Println("每年可投资差额为", 每年可投资差额)    var 投资总收益 float64    for i := 20 - 1; i >= 0; i-- {        投资收益 := 复利(每年可投资差额, float64(i+1))        投资总收益 += 投资收益        fmt.Println("前20年, 第", 20-i, "年投资最后收益", 格式化为万元(投资收益), "总收益", 格式化为万元(投资总收益))    }    投资总收益 += 首付差额20年后金额    fmt.Println("前20年剩余钱为" + 格式化为万元(投资总收益))    后10年每年支出 := 杨成立方案月供 * 12    for i := 0; i < 10; i++ {        当年投资收益 := 投资总收益 * 杨成立投资年利率 / 100.0        投资总收益 -= 后10年每年支出        投资总收益 += 当年投资收益        fmt.Println("后10年, 第", 20+i+1, "年, 支出", 格式化为万元(后10年每年支出), ", 当年收益", 当年投资收益, ", 剩余", 格式化为万元(投资总收益))    }    fmt.Println("两个方案在利率", 杨成立投资年利率, "%时, 最后能赚", int(投资总收益), "元")}
0 0
原创粉丝点击