ソフトウェア:
python3.10バージョン
コンテンツ:
住宅の商業融資総額は130万元で、期間は30年、年利は5.8%です。
- 月利、元本、返済額、返済総額の計算には、元本と利息が等しい場合と元本が等しい場合の2つの返済方法を使用してください。
- 元本と利息が等しい返済方法では、返済期間を4分の1と1年に変更し(対応するrも変更されます)、2つの新しい期間の合計返済額をそれぞれ計算します。そして、期間が短いほど、返済総額が少ないかどうかを説明してください。
モデリング:
融資額をx0、月利をr、年利をR、融資月数をn、融資年数をNとします。
R = R / 12、n = Nx12
均等元本および利息返済モデル:
毎月の返済:a = xr(1 + r)n /((1 + r)n-1)
合計返済:A1 = na = n xr(1 + r)n /((1+ r)n-1)
総利息:s = A1-x
均等元本返済モデル:
月次返済:x = x / n + x *(1-(k-1)/ n)rk = 1,2、…。、n
返済総額:A2 = x + xr *(n + 1 )/
2総利息:s = A2-x
Pythonコード:
(1)毎月
# 贷款额为x0,月利率为r,年利率为R,贷款月数为n,贷款年数为N
# x0 = int(input("请输入贷款额(元):"))
# R = float(input("请输入年利率(如5.8%,输入:0.058):"))
# N = int(input("请输入贷款年数(年):"))
# r = R / 4
# n = N * 4
# test data
x0=1300000
R=0.058
N=30
r = R / 12
n = N * 12
# 月均还款(本金+利息)
a = x0 * r * pow((1 + r), n) / (pow((1 + r), n) - 1)
# 还款利息总和
Y = n * x0 * r * pow((1 + r), n) / (pow((1 + r), n) - 1) - x0
print("-----等额本息计算-----")
# 还款总额
A1 = n * a
print("第1个月,利息:%s,本金:%s,还款金额(本金+利息):%s,还款总额:%s" % (x0 * r, a - x0 * r, a, A1))
# 第2 - n个月还款利息
for t in range(2, n + 1):
ci = (x0 * r - a) * pow((1 + r), (t - 1)) + a # 每月的利息
bi = a - ci # 每月的本金
print("第%d个月,利息:%s,本金:%s,还款金额(本金+利息):%s,还款总额:%s" % (t, ci, bi, a, A1))
print("-----等额本金计算-----")
# 每月应还本金
d = x0 / n
A2 = 0
for m in range(1, n + 1):
f = (x0 - d * (m - 1)) * r # 每月应还利息
g = d + f # 每月应还本金
A2 = A2 + g # 已还款金额
print("第%d个月,利息:%s,本金:%s,还款金额(本金+利息):%s" % (m, f, d, g))
print("还款总额:%s" % A2)
(2)四半期ごと
#test data
x0=1300000
R=0.058
N=30
r = R / 4
n = N * 4
# 月均还款(本金+利息)
a = x0 * r * pow((1 + r), n) / (pow((1 + r), n) - 1)
# 还款利息总和
Y = n * x0 * r * pow((1 + r), n) / (pow((1 + r), n) - 1) - x0
print("-----等额本息计算-----")
# 还款总额
A1 = n * a
print("第1年,利息:%s,本金:%s,还款金额(本金+利息):%s,还款总额:%s" % (x0 * r, a - x0 * r, a, A1))
# 第2 - n个月还款利息
for t in range(2, n + 1):
ci = (x0 * r - a) * pow((1 + r), (t - 1)) + a # 每月的利息
bi = a - ci # 每月的本金
print("第%d年,利息:%s,本金:%s,还款金额(本金+利息):%s,还款总额:%s" % (t, ci, bi, a, A1)
毎年
#test data
x0=1300000
R=0.058
N=30
r = R / 1
n = N * 1
print("-----等额本息计算-----")
# 月均还款(本金+利息)
a = x0 * r * pow((1 + r), n) / (pow((1 + r), n) - 1)
# 还款利息总和
Y = n * x0 * r * pow((1 + r), n) / (pow((1 + r), n) - 1) - x0
# 还款总额
A1 = n * a
print("第1年,利息:%s,本金:%s,还款金额(本金+利息):%s,还款总额:%s" % (x0 * r, a - x0 * r, a, A1))
# 第2 - n个月还款利息
for t in range(2, n + 1):
ci = (x0 * r - a) * pow((1 + r), (t - 1)) + a # 每月的利息
bi = a - ci # 每月的本金
print("第%d年,利息:%s,本金:%s,还款金额(本金+利息):%s,还款总额:%s" % (t, ci, bi, a, A1))
出力結果:
元本と利息の均等分割払い
月々の返済額:7627.789494946575元
返済総額:2746004.2181807673元
等価原理:
初月の返済額:9894.4444444444445元
2ヶ月目の返済額:3628.5648148148143元
返済総額:2434141.666666667
(2)
サイクルは4分の1です。
返済総額:2750911.7763269176
期間は1年です:
返済総額:2772940.7758005406
Q:期間が短いほど、返済総額が少ないかどうかを示していますか?
回答:比較:
毎月の返済総額: 2746004.2181807673元
四半期の総返済額: 2750911.7763269176元
年間返済総額: 2772940.7758005406元
比較の結果、期間が短いほど、返済総額が大きくなることがわかりました。
説明することはできません。