Contents

Kreditrechung ist keine Hexerei

Beachten: Schuldsumme =  Kredit + Nebengebuehren
                         ==> Nebengebuehren separat bezahlen!
          monatliche/quartalsweise Gebuehren? (hier: monatlich gerechnet)
          Sondertilgungen zum Ende der Zinsperiode vereinbaren!
          variabler Zinssatz?

Die hier vorgestellte Rechnung ist sehr einfach gehalten und nicht ganz exakt, da die letzte Rate geringer sein müßte.

clear; clc; close all;

Daten setzen

Schulden = 120000;        % = Kredit + Nebengebuehren in EUR
ZinsSatz = 6.125/100;     % jaehrlicher Zinssatz in Prozent

KontoFuehrung = 13.71;    % Kontofuerung in EUR pro Monat

Rate = 1200;              % monatlich Rate in EUR      !!

Ist meine monatliche Rate hoch genug, damit sich die Schuldsumme nicht vergroessert?

minRate = Schulden*ZinsSatz/12 + KontoFuehrung;
while Rate<minRate
    Rate = input("Geben Sie eine Tilgung groesser als die monatliche Mindestilgung von "...
                 +minRate+" EUR ein: ");
end

Wie lange muss ich zahlen?

Brute Force

Restschuld = Schulden;
t = 0;
while Restschuld>0
    Zinsdienst = Restschuld * ZinsSatz / 12;  % Berechnung des Zinsdienstes
    Tilgung    = Rate-Zinsdienst;             % Reduktion der Kreditsumme
    % Rate == Zinsdienst+Tilgung
    Restschuld = Restschuld*(1+ZinsSatz/12) - Rate + KontoFuehrung;
    t = t+1;
    R(t) = Restschuld;
    Z(t) = Zinsdienst;
    T(t) = Tilgung;
end

disp("Kredit nach "+t+" Monaten getilgt.    ("+ -R(end)+" EUR zu viel bezahlt")
Kredit nach 143 Monaten getilgt.    (399.3544 EUR zu viel bezahlt

Eine Auswertung

GesamtZahlungen = t*Rate;
disp("Zur Schuldentilgung von "+Schulden+" EUR wurden insgesamt "+...
     GesamtZahlungen+" EUR aufgewendet.")
disp("Monatsrate: "+Rate+" EUR    "+"Zinssatz "+100*ZinsSatz+" %")
Zur Schuldentilgung von 120000 EUR wurden insgesamt 171600 EUR aufgewendet.
Monatsrate: 1200 EUR    Zinssatz 6.125 %

und etwas Grafik

plot(0:length(R),[Schulden R]);
title(['Kredit nach ',num2str(t),' Monaten getilgt'])
xlabel('Monat')
ylabel('EUR')
figure
bar([T.',Z.'])
% bar([T.',Z.'],"stacked")  % probieren
legend(["Tilgung","Zinsdienst"])
title("fixe Monatsrate: "+Rate+" EUR")