WPROWADZENIE
W kredycie hipotecznym wysokość raty którą spłacamy oblicza się sumując część kapitałową i odsetkową:
rata = kapitał + odsetki
W kredycie hipotecznym z ratami malejącymi, wysokość części kapitałowej i odsetkowej jest różna w każdej kolejnej racie.
Wysokość tej raty zależy od pozostałej kwoty do spłaty oraz liczby pozostałych rat. Część odsetkowa jest obliczana na podstawie aktualnej kwoty do spłaty i oprocentowania, natomiast część kapitałowa jest obliczana jako różnica między całkowitą ratą a częścią odsetkową. Wraz z upływem czasu, część odsetkowa maleje, a część kapitałowa rośnie, co powoduje, że rata jest coraz mniejsza.
Dla kredytobiorcy każda rata którą płaci ma taką samą wysokość. Zmienia się w niej jednak część kapitałowa (która z miesiąca na miesiąc jest coraz wyższa) i część odsetkowa (jest coraz niższa).
Oznacza to, że na początku spłaty kredytu w każdej racie spłaca się bardzo dużo odsetek, a spłata samego zadłużenia stoi prawie w miejscu. W miarę upływu czasu sytuacja się odwraca i pod koniec okresu spłaty kredytu zadłużenie bardzo szybko maleje.
Wysokość rat obliczamy ze wzoru: $R=K \cdot \frac{p(1+p)^n}{(1+p)^n-1}$ gdzie:
- R – płatność ratalna (wysokość raty, którą spłacamy),
- K – kwota początkowa kredytu,
- p – wysokość oprocentowania kredytu (dla jednego okresu n),
- n – liczba rat.
KOD W JĘZYKU PYTHON
!pip install xlwt
import xlwt
kwota_kredytu = float(input("Podaj kwotę kredytu: "))
liczba_rat = int(input("Podaj liczbę rat: "))
oprocentowanie = float(input("Podaj oprocentowanie, np. jeśli wynosi 9%, zapisz 0.09: "))
rata = kwota_kredytu * ((oprocentowanie/12) * (1 + (oprocentowanie/12))**liczba_rat) / ((1 + (oprocentowanie/12))**liczba_rat - 1)
tabela_rat = []
pozostala_kwota = kwota_kredytu
for i in range(1, liczba_rat+1):
odsetki = pozostala_kwota * oprocentowanie / 12
czesc_kapitalowa = rata - odsetki
pozostala_kwota -= czesc_kapitalowa
tabela_rat.append((i, round(rata, 2), round(czesc_kapitalowa, 2), round(odsetki, 2), round(pozostala_kwota, 2)))
print("Nr raty | Wysokość raty | Część kapitałowa | Część odsetkowa | Pozostała kwota")
for numer, wysokosc_raty, czesc_kapitalowa, odsetki, pozostala_kwota in tabela_rat:
print(f"{numer:>7} | {wysokosc_raty:>13} | {czesc_kapitalowa:>16} | {odsetki:>16} | {pozostala_kwota:>15}")
book = xlwt.Workbook(encoding="utf-8")
sheet1 = book.add_sheet("Tabela rat")
sheet1.write(0, 0, "Nr raty")
sheet1.write(0, 1, "Wysokość raty")
sheet1.write(0, 2, "Część kapitałowa")
sheet1.write(0, 3, "Część odsetkowa")
sheet1.write(0, 4, "Pozostała kwota")
for row, (numer, wysokosc_raty, czesc_kapitalowa, odsetki, pozostala_kwota) in enumerate(tabela_rat, start=1):
sheet1.write(row, 0, numer)
sheet1.write(row, 1, wysokosc_raty)
sheet1.write(row, 2, czesc_kapitalowa)
sheet1.write(row, 3, odsetki)
sheet1.write(row, 4, pozostala_kwota)
book.save("tabela_rat.xls")
print("Tabela rat została zapisana do pliku tabela_rat.xls.")
⬆️⬆️⬆️ Zobacz w Google Colaboratory
JAK DZIAŁA PROGRAM?
- Instalacja dodatkowego modułu, z którego zostanie pobrana biblioteka xlwt
- Import biblioteki xlwt służącej do eksportu danych do pliku .xls
- Pobieranie danych od użytkownika – kwoty kredytu, liczby rat oraz oprocentowania.
- Obliczenie wartości miesięcznej raty kredytu na podstawie podanych danych.
- Utworzenie pustej tabeli rat i zmiennej pozostala_kwota równiej kwocie kredytu.
- Wygenerowanie w pętli for tabeli rat zawierającej numer raty, wysokość raty, część kapitałową, część odsetkową oraz pozostałą kwotę do spłacenia po każdej racie.
- Wyświetlenie tabeli rat w konsoli.
- Utworzenie pliku arkusza kalkulacyjnego, dodanie arkusza do pliku, wpisanie nagłówków kolumn do arkusza, wpisanie wartości z tabeli rat do arkusza.
- Zapis pliku .xls
- Wyświetlenie komunikatu o zapisaniu pliku .xls.
Dodaj komentarz