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. Mit finanzmathematischen Funktionen kann man beispielsweise Kredit- oder Hypothekenangebote leichter miteinander vergleichen.
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)darlehen | Tilgung | Zins | Annuität |
0 | 100.000,00 € | 6,00% | 4,00% | |
1 | 94.000,00 € | -6.000,00 € | -4.000,00 € | -10.000,00 € |
2 | 87.760,00 € | -6.240,00 € | -3.760,00 € | -10.000,00 € |
3 | 81.270,40 € | -6.489,60 € | -3.510,40 € | -10.000,00 € |
4 | 74.521,22 € | -6.749,18 € | -3.250,82 € | -10.000,00 € |
5 | 67.502,06 € | -7.019,15 € | -2.980,85 € | -10.000,00 € |
6 | 60.202,15 € | -7.299,92 € | -2.700,08 € | -10.000,00 € |
7 | 52.610,23 € | -7.591,91 € | -2.408,09 € | -10.000,00 € |
8 | 44.714,64 € | -7.895,59 € | -2.104,41 € | -10.000,00 € |
9 | 36.503,23 € | -8.211,41 € | -1.788,59 € | -10.000,00 € |
10 | 27.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.
Abschreibungsmethoden |
---|
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.
Lohnt sich die Investition? |
---|
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).
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(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(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(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(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(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(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(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(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(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(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(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(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.