Abstract

Sie haben viele verschiedene Möglichkeiten, eine Sterblichkeitsrente zu berechnen:

Komplexe Matrixformel (Schlechteste Wahl)

Wenden Sie eine recht komplexe Matrixformel an:

sbAnnuity_ArrayFormula

Die Namen sind wie folgt definiert:

sbAnnuity_Names

Dieser Ansatz wurde auch hier beschrieben (external link!) Google site.

Einfache Benutzerdefinierte Funktion mit VBA (Bessere Wahl)

Ein weitaus besser Weg besteht in einer einfachen benutzerdefinierten Funktion:

sbAnnuity_VBA

Bitte den Haftungsausschluss im Impressum beachten.

Option Explicit
    
Function LiveAnnuityPV(lYears As Long, dInterestRate As Double, _
    rMortalityTable As Range) As Double
'Source (EN): http://www.sulprobil.de/mortality_annuities_en/
'Source (DE): http://www.berndplumhoff.de/mortality_annuities_de/
'(C) (P) by Bernd Plumhoff 22-Mar-2014 PB V0.1
Dim j As Long
Dim dSum As Double, dProd As Double, dPV As Double

dProd = 1#
dPV = 1#
For j = 1 To rMortalityTable.Count - lYears
    dPV = dPV / (1# + dInterestRate)
    dProd = dProd * (1# - rMortalityTable(j + lYears))
    dSum = dSum + dPV * dProd
Next j

LiveAnnuityPV = dSum

End Function

Vorkalkulierte Tabelle und eine NBW Formel (Wahrscheinlich am Besten)

Der schnellste und wahrscheinlich beste Ansatz besteht aus einer vorkalkulierten Tabelle und einer NBW Formel:

sbAnnuity_NPV_Offset

sbAnnuity_NPV_Index

Bitte beachten Sie: Die BEREICH.VERSCHIEBEN Formel ist etwas schneller als die INDEX Formel. Aber sie ist volatil, d.h. sie wird bei jedem Drücken von F9 erneut berechnet und nicht erst nach Änderung ihrer Eingabewerte.

sbAnnuity_Mortality_Table_plus_PreCalc

Mit FastExcel © können Sie die Rechengeschwindigjeit Ihrer Excel Berechnungen messen. Im vorliegenden Fall ist der NBW Ansatz etwa 45-mal schneller als die suboptimale Matrixformel und etwa 27-mal schneller als die VBA Lösung:

sbAnnuity_FastExcel_Profile

Download

Bitte den Haftungsausschluss im Impressum beachten.

sbAnnuity_Formula.xlsm [193 KB Excel file, open and use at your own risk]