Finanzmathematische Funktionen

Basic ist eine alte Programmiersprache, und in seiner Frühzeit wurden auch einige finanzmathematische Funktionen eingebaut, die heute eher in nachladbare Objektbibliotheken auslagert werden würden. In Visual Basic für Applikationen wurden sie dann ebenfalls nativ eingebaut.

Abschreibungsfunktionen

siehe auch
Abschreibungsmethoden
linear arithmetisch-degressiv geometrisch-degressiv

Was man heute kauft, ist durch Abnutzung bald nur noch die Hälfte wert. In der Buchhaltung heißt dieser Wertverlust eines Anlagegutes „Abschreibung“. Je nach Anlagegut passiert das mehr oder weniger schnell bzw. mehr oder weniger gleichmäßig. Daher gibt es drei Berechnungsmethoden, wie viel innerhalb der erwarteten Nutzungsdauer pro Periode abgeschrieben wird: Die lineare (SYD), die arithmetisch-degressive (SLN) und die geometrisch-degressive (DDB) Abschreibung.

Dynamische Investitionsrechnung

siehe auch
Lohnt sich die Investition?
Einnahmen Ausgaben

Geld hat nicht nur seinen Nominalwert, sondern auch einen Zeitwert: 100 €, die man heute erhält, sind mehr Wert, als 100 €, die man in einem Jahr erhält. Schließlich kann man Geld anlegen und Zinsen damit verdienen. Wenn man aber einen ungleichmäßigen Geldstrom in einem gewissen Zeitraum (Cash Flow) erhält, stellt sich die Frage, wie man den Zeitwert berücksichtigt. Hierzu kann man z. B. aus einer Reihe von Cashflows einen Zins (interner Zinsfuß IRR oder MIRR), oder den Zeitwert (Nettobarwert) des Cashflows berechnen (NPV).

Funktionen für Annuitätendarlehen

siehe auch

Ein Annuitätendarlehen kann z. B. eine Hypothek sein, die man zurückzahlen (Tilgung) und zugleich Zinsen bezahlen muss. Es kann aber auch z. B. ein Ansparplan sein, um in einem bestimmten Zeitraum eine bestimmte Menge anzusparen. Den regelmäßig zu zahlenden, immer gleichbleibenden Betrag nennt man „Annuität“, die sich aus Zins und Tilgung zusammensetzt. Allerdings ändern sich Zins und Tilgung permanent: Mit jeder Tilgung sinkt ja der Darlehensrestbetrag, so dass weniger Zinsen zu zahlen sind. Da sich die Annuität nicht ändert, steigt also der Tilgungsanteil. Die folgende Tabelle zeigt ein Annuitätendarlehen für 10 Jahre:

Darlehen 100.000 €, 4% Zins, 10.000 € Annuität
Jahr(Rest)darlehenTilgungZinsAnnuität
0100.000,00 €6,00%4,00% 
194.000,00 € -6.000,00 € -4.000,00 € -10.000,00 €
287.760,00 €-6.240,00 €-3.760,00 €-10.000,00 €
381.270,40 €-6.489,60 €-3.510,40 €-10.000,00 €
474.521,22 €-6.749,18 €-3.250,82 €-10.000,00 €
567.502,06 €-7.019,15 €-2.980,85 €-10.000,00 €
660.202,15 €-7.299,92 €-2.700,08 €-10.000,00 €
752.610,23 €-7.591,91 €-2.408,09 €-10.000,00 €
844.714,64 €-7.895,59 €-2.104,41 €-10.000,00 €
936.503,23 €-8.211,41 €-1.788,59 €-10.000,00 €
1027.963,36 €-8.539,87 €-1.460,13 €-10.000,00 €

Mit den Funktionen für Annuitätendarlehen kann man einen bestimmten Wert dieser Tabelle berechnen, wenn die anderen Werte bekannt sind. Die Funktionsparameter sind größtenteils jeweils identisch. Beim Klicken auf eine Bezeichnung in der folgenden Liste wird zum besseren Verständnis der entsprechende Betrag in der Tabelle markiert.

Barwert (PV)
Der Anfangswert des Darlehens
Zukunftswert (FV)
Der offene Restwert am Laufzeitende
Zinssatz (Rate)
Der in der Annuität enthaltene Zins
Annuität (Pmt)
Die regelmäßige, gleichbleibende Zahlung
Anzahl Perioden (NPer)
Die Anzahl der Annuitätszahlungen, um den Zukunftswert zu erreichen
Tilgung (PPmt)
Die in der Annuität enthaltene Tilgung für eine bestimmte Zahlung
Zins (IPmt)
Der in der Annuität enthaltene Zins für eine bestimmte Zahlung

DDB

siehe auch
DDB(Cost As Double, Salvage As Double, Life As Double, Period As Double, [Factor As Double = 2]) As Double

Gibt die Abschreibung eines Anlagegutes für einen angegebenen Zeitraum unter Verwendung der geometrisch-degressiven Abschreibung zurück.

Cost gibt die Anschaffungskosten und Salvage den Restwert am Ende der Nutzungsdauer an. Life ist die Nutzungsdauer und Period die Periode, deren Abschreibung berechnet werden soll. Diese Parameter müssen in der gleichen Zeiteinheit (z. B. Jahre oder Monate) angegeben werden. Factor ist das Maß, um das die Abschreibung abnimmt. Fehlt Factor, wird 2 angenommen (degressive Doppelraten-Abschreibung). Es muss sich um eine positive Zahl handeln.

FV

siehe auch
FV(Rate As Double, NPer As Double, Pmt As Double, [PV As Variant = 0], [Due As Variant = 0]) As Double

Gibt den zukünftigen Wert einer Annuität an.

Die Parameter werden eingangs erklärt. NPer und Pmt müssen in der gleichen Zeiteinheit (z. B. Jahre oder Monate) angegeben werden. Due gibt an, ob die Annuität am Anfang (0) oder Ende (1) eines Zahlungszeitraums fällig ist.

IPmt

siehe auch
IPmt(Rate As Double, Per As Double, NPer As Double, PV As Double, [FV As Variant = 0], [Due As Variant = 0]) As Double

Gibt die Zinszahlung einer Annuität zu einem bestimmten Zeitraum an.

Die Parameter werden eingangs erklärt. Per gibt an, die wievielte Rate gemeint ist und muss zwischen 1 und NPer liegen. Due gibt an, ob die Annuität am Anfang (0) oder Ende (1) eines Zahlungszeitraums fällig ist.

IRR

siehe auch
IRR(ValueArray() As Double, [Guess As Variant = 0.1]) As Double

Gibt den internen Zinsfuß eines Cash Flows zurück.

ValueArray() ist ein Datenfeld, der Cash Flow-Werte angibt. Es muss mindestens einen negativen Wert (Zahlungsausgang) und einen positiven Wert (Zahlungseingang) enthalten. Die Reihenfolge der Werte innerhalb des Datenfeldes bestimmt die Reihenfolge der Ein- und Auszahlungen.

IRR wird iterativ berechnet. Guess dient als Startwert und die Berechnung wird bis zu 20 Mal wiederholt, bis das Ergebnis auf 0,00001 Prozent genau ist.

MIRR

siehe auch
MIRR(ValueArray() As Double, FinanceRate As Double, ReinvestRate As Double) As Double

Gibt einen modifizierten internen Zinsfuß zurück, bei dem positive und negative Cash Flows mit unterschiedlichen Zinssätzen finanziert werden. MIRR berücksichtigt sowohl die Kosten der jeweiligen Investition als auch die Zinsen, die sich aus der Reinvestition des Gelds ergeben.

ValueArray() ist ein Datenfeld, der Cash Flow-Werte angibt. Es muss mindestens einen negativen Wert (Zahlungsausgang) und einen positiven Wert (Zahlungseingang) enthalten. Die Reihenfolge der Werte innerhalb des Datenfeldes bestimmt die Reihenfolge der Ein- und Auszahlungen.

FinanceRate ist der Zinssatz, der bei Finanzierung einer Anlage bezahlt werden muss. ReinvestRate ist der Zinssatz, der bei erneuter Anlage von Kapital erzielt werden kann.

NPer

siehe auch
NPer(Rate As Double, Pmt As Double, PV As Double, [FV As Variant = 0], [Due As Variant = 0]) As Double

Gibt die Anzahl der Zeiträume für eine Annuität an.

Die Parameter werden eingangs erklärt. Due gibt an, ob die Annuität am Anfang (0) oder Ende (1) eines Zahlungszeitraums fällig ist.

NPV

siehe auch
NPV(Rate As Double, ValueArray() As Double) As Double

Gibt den Nettobarwert eines Cash Flows auf Basis eines Abzinsungsfaktors zurück.

Rate ist der Abzinsungsfaktor. ValueArray() ist ein Datenfeld, der Cash Flow-Werte angibt. Es muss mindestens einen negativen Wert (Zahlungsausgang) und einen positiven Wert (Zahlungseingang) enthalten. Die Reihenfolge der Werte innerhalb des Datenfeldes bestimmt die Reihenfolge der Ein- und Auszahlungen.

Pmt

siehe auch
Pmt(Rate As Double, NPer As Double, PV As Double, [FV As Variant = 0], [Due As Variant = 0]) As Double

Gibt den Annuitätsbetrag eines Annuitätsdarlehens an.

Die Parameter werden eingangs erklärt. Due gibt an, ob die Annuität am Anfang (1) oder Ende (0) eines Zahlungszeitraums fällig ist.

PPmt

siehe auch
PPmt(Rate As Double, Per As Double, NPer As Double, PV As Double, [FV As Variant = 0], [Due As Variant = 0]) As Double

Gibt den Tilgungsanteil innerhalb einer bestimmten Annuitätszahlung zurück.

Die Parameter werden eingangs erklärt. Per gibt an, die wievielte Rate gemeint ist und muss zwischen 1 und NPer liegen. Due gibt an, ob die Annuität am Anfang (0) oder Ende (1) eines Zahlungszeitraums fällig ist.

PV

siehe auch
PV(Rate As Double, NPer As Double, Pmt As Double, [FV As Variant = 0], [Due As Variant = 0]) As Double

Gibt den Barwert einer Annuität zurück.

Die Parameter werden eingangs erklärt. NPer und Pmt müssen in der gleichen Zeiteinheit (z. B. Jahre oder Monate) angegeben werden. Due gibt an, ob die Annuität am Anfang (1) oder Ende (0) eines Zahlungszeitraums fällig ist.

Rate

siehe auch
Rate(NPer As Double, Pmt As Double, PV As Double,  [FV As Variant = 0], [Due As Variant = 0], [Guess As Variant = 0.1]) As Double

Gibt den Zinssatz eines Annuitätendarlehens zurück.

Die Parameter werden eingangs erklärt. NPer und Pmt müssen in der gleichen Zeiteinheit (z. B. Jahre oder Monate) angegeben werden. Due gibt an, ob die Annuität am Anfang (0) oder Ende (1) eines Zahlungszeitraums fällig ist.

Rate wird iterativ berechnet. Guess dient als Startwert und die Berechnung wird bis zu 20 Mal wiederholt, bis das Ergebnis auf 0,00001 Prozent genau ist.

SLN

siehe auch
SLN(Cost As Double, Salvage As Double, Life As Double) As Double

Gibt die lineare Abschreibung eines Vermögenswertes pro Zeitraum zurück.

Cost gibt die Anschaffungskosten und Salvage den Restwert am Ende der Nutzungsdauer an. Life ist die Nutzungsdauer.

SYD

siehe auch
SYD(Cost As Double, Salvage As Double, Life As Double, Period As Double) As Double

Gibt die arithmetisch-degressive Abschreibung eines Anlagegutes für einen bestimmten Zeitraum zurück.

Cost gibt die Anschaffungskosten und Salvage den Restwert am Ende der Nutzungsdauer an. Life ist die Nutzungsdauer und Period die Periode, deren Abschreibung berechnet werden soll. Diese Parameter müssen in der gleichen Zeiteinheit (z. B. Jahre oder Monate) angegeben werden.