Modelado matemático - Problema de préstamos hipotecarios - Implementación de Python

software:

versión python3.10

contenido:

El préstamo comercial total para una casa es de 1,3 millones de yuanes, con un plazo de 30 años y una tasa de interés anual del 5,8%.

  1. Utilice los dos métodos de pago de igual capital e interés y igual capital para calcular el interés mensual, el capital, el monto del reembolso y el reembolso total.
  2. Bajo el método de pago de capital e intereses iguales, cambie el período de pago a un trimestre y un año (también se cambia la r correspondiente), y calcule el pago total bajo los dos nuevos períodos, respectivamente. Y explique si cuanto más corto es el período, menor es el monto total del reembolso.

Modelado:

Sea el monto del préstamo x0, la tasa de interés mensual es r, la tasa de interés anual es R, el número de meses del préstamo es n y el número de años del préstamo es N

R=R/12,n=Nx12

Modelo de amortización de principal e intereses iguales:
amortización mensual: a=xr(1+r)n/((1+r)n-1)
amortización total: A1=na=n xr(1+r)n/(( 1+ r)n-1)
Interés total: s=A1-x

Modelo de reembolso de principal igual:
Pago mensual: x=x/n+x*(1-(k-1)/n)rk=1,2,….,n
Pago total: A2=x+xr *(n+1 )/
2Interés total: s=A2-x
 


código pitón:

(1) Mensual

# 贷款额为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) Cada trimestre

#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)

 todos los años

#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))


Resultado de salida:

Cuotas iguales de principal e intereses

 Cantidad de pago mensual: 7627.789494946575 yuan

Reembolso total: 2746004.2181807673 yuanes

Principal equivalente:

 Monto de reembolso del primer mes: 9894.4444444444445 yuan

Monto de reembolso del segundo mes: 3628.5648148148143 yuan

Reembolso total: 2434141.666666667

(2)

El ciclo es un cuarto:

Reembolso total: 2750911.7763269176

El plazo es de un año: 

Reembolso total: 2772940.7758005406

P: ¿Indica si cuanto más corto es el período, menor es el monto total del reembolso?

Respuesta: Comparar:

Reembolso mensual total: 2746004.2181807673 yuan

Reembolso total trimestral: 2750911.7763269176 yuan

Reembolso anual total: 2772940,7758005406 yuanes

La comparación encontró que cuanto más corto es el período, mayor es el reembolso total

no puede ser explicado.

Supongo que te gusta

Origin blog.csdn.net/qq_21402983/article/details/124235629
Recomendado
Clasificación