ÎncepețiÎncepe gratuit

Simularea plăților periodice (I)

Acum ai toate instrumentele necesare pentru a simula plățile ipotecare în timp.

De fiecare dată când se efectuează o plată ipotecară, plata următoare va avea un procent ușor mai mic alocat pentru acoperirea dobânzii. Asta înseamnă că o parte tot mai mare din sumă va merge către cota din locuință pe care o deții efectiv, nu către bancă. Acest lucru este important pentru a estima cât ai câștiga dacă ai vinde locuința înainte de achitarea completă a creditului sau pentru a determina când creditul devine „underwater". Dar despre asta vom vorbi mai târziu.

Vei scrie acum un program simplu pentru a calcula componentele de dobândă și de principal ale fiecărei plăți de-a lungul timpului.

Variabilele mortgage_loan, mortgage_rate_periodic și periodic_mortgage_payment din al treilea exercițiu sunt disponibile pentru utilizare.

Variabila principal_remaining este inițializată ca un array de 0-uri cu lungimea egală cu numărul de perioade de plată.

Acest exercițiu face parte din cursul

Introducere în concepte financiare în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează previous_principal_remaining pentru prima perioadă, adică atunci când (i == 0), egal cu valoarea creditului ipotecar.
  • Setează previous_principal_remaining pentru toate celelalte perioade egal cu principalul rămas din perioada anterioară ([i - 1]).
  • Calculează plata dobânzii (produsul dintre principalul rămas anterior și rata periodică a dobânzii) și plata principalului (diferența dintre plata ipotecară periodică și dobânda plătită) pentru fiecare perioadă.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Loop through each mortgage payment period
for i in range(0, mortgage_payment_periods):
    
    # Handle the case for the first iteration
    if i == 0:
        previous_principal_remaining = ____
    else:
        previous_principal_remaining = ____
        
    # Calculate the interest and principal payments
    interest_payment = round(____*____, 2)
    principal_payment = round(____-____, 2)
    
    # Catch the case where all principal is paid off in the final period
    if previous_principal_remaining - principal_payment < 0:
        principal_payment = previous_principal_remaining
        
    # Collect the principal remaining values in an array
    principal_remaining[i] = previous_principal_remaining - principal_payment
    
    # Print the payments for the first few periods
    print_payments(i, interest_payment, principal_payment, principal_remaining)
Editează și rulează codul