Die Berechnung erfolgt am leichtesten mit der Programmiersprache Julia und nicht mit Excel oder einem Onlinerechner. Die Hemmschwelle mag etwas höher sein, aber Julia hat eine Philosophie, dass nur soviel verstanden werden muss, wie unbedingt nötig ist. Hier wird es sehr leicht bleiben. Sie brauchen keine Programmierkenntnisse.
Laden Sie sich Julia hier herunter und installieren Sie es.
Starten Sie Julia, indem Sie auf das Symbol auf dem Desktop, oder im Menü klicken.
Kopieren Sie den folgenden Code und fügen Sie ihn mit einem Rechtsklick in Julia (REPL) ein. Anschließend wird Enter gedrückt und die wichtigen Formeln sind als Funktion in der Session gespeichert. Das gleiche gilt auch für die berechneten Werte.
Referenzmodell
Für das Referenzmodell wird auf das originäre Ertragswertverfahren bei vollständigem Kapitalmarkt ohne Steuern zurückgegriffen. Es ist sinnvoll sich die verlinkte Seite durchzulesen.
Die Miete beträgt 12000 GE und die Kosten 4000 GE.
Die Abschreibungen betragen 901.63 GE und "normalisiert" 1000 GE.
Die Normalisierung ist nicht in ImmoWertV vorgegeben. Es ist ein mathematischer Trick die Laufzeit von 80 Jahren zu einer ewigen Rente zu transformieren.
miete = 12000
kosten = 4000
abschreibungen = 901.63
jahre_neu = 80
jahre_halb = 40
terminalvalue(val,i,g,r,n) = val*(1-(1+g)^n*(1+i+r)^-n)/(i+r-g)
terminalvalue(val,i,g,r,n::Bool) = val/(i+r-g)
function ertragswertverfahren(cashflow, interest, growth=0.02, risk=0.0,n=false)
cashflow = copy(cashflow)
@assert length(interest) == length(cashflow)
if length(cashflow) == 1
terminalvalue(cashflow[1], interest[1], growth[1], risk[1], n)
else
discount_factor = cumprod([(1+i)^-1 for i in interest .+ risk])
cashflow[end] =
terminalvalue(cashflow[end], interest[end], growth, risk[end], n)
sum(cashflow[begin:end-1].*discount_factor[begin:end-1]) +
cashflow[end] * discount_factor[end-1]
end
end
function normalisieren(cashflow, interest, growth, n)
@assert length(cashflow) == 1
pvfe = ertragswertverfahren(cashflow,interest,growth,0.0,false)
pvfyears = ertragswertverfahren(cashflow,interest,growth,0.0,n)
return pvfe/pvfyears * cashflow
end
abschreibung_normalisiert = normalisieren(901.6283818398063, 0.05, 0.02, jahre_neu)
Der Bodenwert beträgt 233333.34 GE
bodenwert = ertragswertverfahren(miete-kosten-abschreibung_normalisiert,0.05,0.02,0,false)
Der Wert des Gebäudeanteils beträgt die eingesparten normalisierten Abschreibungen der restlichen Nutzungsdauer.
Im Fall von 80 Jahren beträgt er 30054.28 GE und im Fall von 40 Jahren 22878.58 GE.
restwert_gebäude_neu = ertragswertverfahren(abschreibung_normalisiert, 0.05, 0.02, 0, jahre_neu)
restwert_gebäude_halb = ertragswertverfahren(abschreibung_normalisiert, 0.05, 0.02, 0, jahre_halb)
Der Wert der Immobilie beträgt folglich 263387.61 GE bei 80 jähriger und 256211.92 GE bei 40 jähriger Nutzungsdauer.
wert_neu = restwert_gebäude_neu + bodenwert
wert_halb = restwert_gebäude_halb + bodenwert
Vergleichswertverfahren §§ 24-26 ImmowertV
Das Vergleichswertverfahren nach §§ 24-26 ImmoWertV berechnet den zu erwarteten Marktpreis einer
Immobilie auf Grundlage einer univariaten (Vergleichspreise) bzw. multivariaten Schätzung (Vergleichsfaktoren) und bezieht besondere objektspezifische Anpassungen mit ein.
Der vorläufige Vergleichswert gemäß § 24 Abs. 2 ImmoWertv kann auf zwei Grundlagen berechnet werden.
- Die Berechnung erfolgt auf Grundlage einer ausreichenden Anzahl an Vergleichspreisen.
- Alternativ erfolgt die Berechnung auf Grundlage eines objektspezifisch angepassten Vergleichsfaktors und eines objektspezifisch angepassten Bodenrichtwerts.
Der erste Weg kann als univariater Schätzer (Statistik) und der letztere als multivariater Schätzer wie z.B. einem Fixed Effects (FE)-Schätzer verstanden werden. Anbei wird ein "univariater" Schätzer verwendet. Das Beispiel bleibt einfach.
Die Kosten pro m² betragen im Fall des Neubaus 2633.88 pro m² Wohnfläche (!) und im Fall der halben Nutzungsdauer 2562.12 m², wenn die Werte des Referenzmodells durch die m² geteilt werden.
vgl_faktor_neu = wert_neu/100
vgl_faktor_halb = wert_halb/100
Werden diese Faktoren wieder mit den entsprechenden m² multipliziert, erhalten wir wieder die Ausgangsdaten aus dem Vergleichsbeispiel von 263387.61 GE und 256211.92 GE.
vergleichswert_markt_neu = vgl_faktor_neu*100
vergleichswert_markt_halb = vgl_faktor_halb*100
In der Praxis ergeben sich die Vergleichsfaktoren nicht aus dem zu bewertenden Objekt, sondern aus dem Durchschnitt ähnlicher Objekte und wird auf das zu bewertende Objekt übertragen.
Entsprechend müssen noch Korrekturen (besondere objektspezifische) Anpassungen vorgenommen werden. In unserem Beispiel betragen diese jedoch 0.
Vergleichswert = marktangepasster Vergleichswert ± Bodenanpassung ± Gebäudeanpassung
Da keine besonderen Anpassungen vorgenommen werden, beträgt der Wert der Immobilie 263387.61 GE bei 80 jähriger und 256211.92 GE bei 40 jähriger Nutzungsdauer.
Ertragswertverfahren §§ 27-34 ImmoWertV
Das Ertragswertverfahren nach §§ 27-34 ImmoWertV berechnet den zu erwarteten Marktpreis einer Immobilie auf Grundlage des zu erwartenden Reinertrags mithilfe eines Kalkulationszinses namens Liegenschaftszinssatz unter Berücksichtigung der Restnutzungsdauer der Immobilie, dem Bodenwert und besonderer objektspezifischer Anpassungen.
Berechnung Ertragswert
Es folgt ein Beispiel für das allgemeine Ertragswertverfahren nach § 28 ImmoWertV. Die Varianten §§ 29-30 ImmoWertV können als Umformulierung verstanden werden. (Die Formeln sind in § 34 ImmoWertV definiert.)
Der vorläufige Ertragswert der baulichen Anlagen ergibt sich aus dem kapitalisierten Reinertrag (§§ 31-32 ImmoWertV) weniger der Bodenverzinsung über die Restnutzungsdauer und beträgt im Fall des Neubaus 30054.28 GE und im Fall der halben Nutzungsdauer 22878.58 GE.
Der Liegenschaftenzinssatz ist gemäß § 33 ImmoWertV objektspezifisch zu ermitteln und beträgt in dem Beispiel 0.05-0.02=0.03.
Unten wird nochmals der Liegenschaftenzinssatz hergeleitet.
vorläufiger_ertragswert_neu = ertragswertverfahren(miete-kosten-bodenwert*(0.05-0.02), 0.05, 0.02 ,0 , jahre_neu)
vorläufiger_ertragswert_halb = ertragswertverfahren(miete-kosten-bodenwert*(0.05-0.02), 0.05, 0.02 ,0 , jahre_halb)
Der vorläufige Ertragswert ergibt sich aus dem vorläufigen Ertragswert der baulichen Anlagen und des Bodenwerts. Gemäß § 27 Abs. 3 ImmoWertV gleicht er dem marktangepassten Ertragswert. Dieser beträgt 263387.61 GE und 256211.92 GE.
ertragswert_markt_neu = vorläufiger_ertragswert_neu + bodenwert
ertragswert_markt_halb = vorläufiger_ertragswert_halb + bodenwert
Dieser marktangepasste Ertragswert wird nochmals besonderen objektspezifischen Anpassungen unterworfen. Wichtig! Ist der Reinertrag bereits objektspezifisch angepasst, darf keine "doppelte" Korrektur vorgenommen werden.
Ertragswert = marktangepasster Ertragswert ± Bodenanpassung ±Gebäudeanpassung
Da keine besonderen Anpassungen vorgenommen werden, beträgt der Wert der Immobilie 263387.61 GE bei 80 jähriger und 256211.92 GE bei 40 jähriger Nutzungsdauer.
Berechnung Liegenschaftenzinssatz
Es folgt eine Formel zur Berechnung des Liegenschaftenzinssatzes in Anlehnung an die Erklärungen zum Ertragswertverfahren. Die Liegenschaftszinssätze sind gemäß § 21 Abs. 2 ImmoWertV durch eine Umstellung der Formeln zum Ertragswertverfahren zu ermitteln. § 9 Abs. 1 ImmoWertV verlangt entsprechende Anpassungen.
Die Formel zur Ermittlung des Liegenschaftenzinssatzes lautet:
i = Reinertrag/(Kaufpreis +- Anpassung) – ((1+i)^n*i)/((i+1)^n-1)*(1+i)^-n * (Kaufpreis – Bodenwert +- Anpassung)/(Kaufpreis +- Anpassung)
Die Ermittlung erfolgt iterativ. Das bedeutet, dass Werte für i eingesetzt werden, bis i sich möglichst wenig verändert. Der Zinssatz beträgt 0.03.
Im Grunde handelt es sich um einen Marktzins mit einem Wachstumsabschlag.
function lz(net_income,price,value_land,n,adjustment,irange=0.0001:0.0001:0.20)
for i in irange
i_new = net_income/(price+adjustment) - ((1+i)^n*i)/((i+1)^n-1)*(1+i)^-n *
(price - value_land + adjustment)/(price+ adjustment)
isapprox(i_new,i,atol=0.0001) && return round(i_new,digits=4)
end
end
liegenschaftszinssatz = lz(reinertrag, wert_neu, bodenwert, jahre_neu, 0)
liegenschaftszinssatz = lz(reinertrag, wert_halb, bodenwert, jahre_halb, 0)
Sachwertverfahren §§ 35-39 ImmoWertV
Das Sachwertverfahren nach §§ 35-39 ImmoWertV berechnet den zu erwarteten Marktpreis einer Immobilie auf Grundlage
der Normalherstellungskosten unter Berücksichtigung des Bodenwerts, eines Altersminderungsfaktors, eines Regionalfaktors,
eines Sachwertfaktors und besonderer objektspezifischer Anpassungen.
Der vorläufige Sachwert gemäß § 35 ImmoWertV besteht aus drei Teilen:
- dem vorläufigen Sachwert der baulichen Anlagen (§ 36 ImmoWertV),
- dem vorläufigen Sachwert der baulichen Außenanlagen und sonstigen Anlagen (§ 37 ImmoWertV) und
- dem Bodenwert.
Die Normalherstellungskosten wurden oben mit 1000 GE angegeben. Bei 142.86 m² betragen sie folglich 142857.14 GE. Der Regionalfaktor (§36 Abs. 1 ImmoWertV) betrage 1. Der Alterswertminderungsfaktor nach § 38 ImmoWertV beträgt 1 bzw. 0.5. Die Außenanlagen haben einen Wert von 0. Alle Werte werden miteinander multipliziert.
regionalfaktor = 1
m2 = 100
m2_brutto = 142.8657
altersminderungsfaktor_neu = 1- (0/jahre_neu)
altersminderungsfaktor_halb = 1- (40/jahre_neu)
sachwert_gebäude_neu = 1000*m2_brutto*altersminderungsfaktor_neu *regionalfaktor
sachwert_gebäude_halb = 1000*m2_brutto*altersminderungsfaktor_halb *regionalfaktor
sachwert_außenanlagen_neu = 0
sachwert_außenanlagen_halb = 0
Zusammen mit dem Bodenwert ergibt sich ein vorläufiger Sachwert (des Grundstücks) von 376190.48 GE und 304761.9 GE.
Dieser vorläufige Sachwert ist mit einem objektspezifisch angepassten Sachwertfaktor §§ 35 Abs. 3, 39 ImmoWertV zu multiplizieren. Es kann zusätzlich eine Marktanpassung mit Auf-und Abschlägen erfolgen § 35 Abs. 3 ImmoWertV). Diese sollten, meiner Meinung nach, erst nach der Multiplikation stattfinden.
Der ermittelte Wert heißt dann marktangepasster vorläufiger Sachwert.
Die entsprechenden Sachwertfaktoren für unser Beispiel errechnen sich durch den Kaufpreis ohne besondere objektspezifische Anpassungen, geteilt durch den vorläufiger Sachwert.
Die Sachwertfaktoren betragen 0.7 und 0.84.
sf_neu = wert_neu/(sachwert_gebäude_neu + sachwert_außenanlagen_neu + bodenwert)
sf_halb = wert_halb/(sachwert_gebäude_halb + sachwert_außenanlagen_halb + bodenwert)
Wird der jeweilige Sachwertfaktor mit dem vorläufigen Sachwert multipliziert, so ergibt sich natürlich wieder der Wert aus dem Referenzmodell. In der Praxis wird jedoch nicht der Wert aus dem Referenzmodell genommen, sondern ein objektspezifischer Durchschnittswert aus dem jeweiligen Immobilienmarkt. Der ermittelte Wert nennt sich marktangepasster vorläufiger Sachwert (des Grundstücks).
sachwert_vorläufig_marktangepasst_neu = sf_neu * (sachwert_gebäude_neu + sachwert_außenanlagen_neu + bodenwert)
sachwert_vorläufig_marktangepasst_halb = sf_halb * (sachwert_gebäude_halb + sachwert_außenanlagen_halb + bodenwert)
Jetzt muss noch eine Korrektur an das jeweilige Objekt vorgenommen werden (§35 Abs. 4 ImmoWertV). Dies erfolgt folgendermaßen:
Sachwert = vorläufiger marktangepasster Sachwert ± Bodenanpassung ± Gebäudeanpassung
Da keine besonderen Anpassungen vorgenommen werden, beträgt der Wert der Immobilie 263387.61 GE bei 80 jähriger und 256211.92 GE bei 40 jähriger Nutzungsdauer.
Ergebnis
Wer die Berechnungen korrekt nachverfolgt hat, stellt fest, dass der berechnete Immobilienpreis bei allen drei Verfahren identisch sein sollte. Das geschieht unter der Voraussetzung, dass die Modelle korrekt spezifiziert wurden. Im Grunde ist es also "egal", welches Modell bei der Berechnung des Marktpreises nach ImmoWertV verwendet wird. Die Berechnung mehrerer Werte ist jedoch sinnvoll, um zu sehen, ob der Gutachterausschuss seine Modelle richtig justiert hat.