XIRR - Diagrammfunktion
XIRR() gibt den aggregierten internen (jährlichen) Zinsfuß einer Investition für eine Reihe geplanter (nicht unbedingt regelmäßig erfolgender) Geldflüsse zurück, repräsentiert durch Wertepaare in den Formeln aus pmt und date und über die Diagrammdimensionen iteriert. Alle Beträge werden auf ein 365-Tage-Jahr hochgerechnet.
Die XIRR-Funktionalität von Qlik (die Funktionen XIRR() und RangeXIRR()) verwendet die folgende Gleichung, die nach dem Wert Rate aufgelöst wird, um den korrekten XIRR-Wert zu bestimmen:
XNPV(Rate, pmt, date) = 0
Die Gleichung wird anhand einer vereinfachten Version der Newton-Methode aufgelöst.
Syntax:
XIRR([TOTAL [<fld {,fld}>]] pmt, date)
Rückgabe Datentyp: numerisch
Argument | Beschreibung |
---|---|
pmt |
Zahlungen. Die Formel oder das Feld mit den Cashflows, die den Zahlungszeitpunkten in date entsprechen. |
date | Die Formel oder das Feld mit den Zeitpunkten, die den Cashflow-Zahlungen in pmt entsprechen. |
TOTAL |
Der Zusatz TOTAL vor der Funktion bewirkt, dass die Berechnung über alle ausgewählten bzw. wählbaren Werte erfolgt, und nicht nur über diejenigen, die zu dem Wert der aktuellen Dimension zählen. Die Dimensionen des Diagramms werden also nicht berücksichtigt. Mit TOTAL [<fld {.fld}>], wobei auf den Zusatz TOTAL eine Liste aus mindestens einem Feldnamen (d. h. einer Teilmenge der Diagrammdimensionsvariablen) folgt, erstellen Sie eine Teilmenge aller möglichen Werte. |
Bei der Arbeit mit dieser Funktion gelten die folgenden Einschränkungen:
-
pmt und date dürfen keine Aggregierungsfunktionen ohne den Zusatz TOTAL enthalten. Für komplexere verschachtelte Aggregierungen verwenden Sie die erweiterte Funktion Aggr in Verbindung mit einer angegebenen Dimension.
-
Textwerte, NULL-Werte und fehlende Werte in einem oder beiden Teilen eines Wertepaars führen dazu, dass das Wertepaar ignoriert wird.
-
Diese Funktion erfordert mindestens eine gültige negative und einen gültige positive Zahlung (mit entsprechendem gültigem Datum). Wenn diese Zahlungen nicht angegeben werden, wird ein Wert von NULL zurückgegeben.
Die folgenden Themen können Sie bei der Arbeit mit dieser Funktion unterstützen:
-
XNPV - Diagrammfunktion: Verwenden Sie diese Funktion, um den aggregierten Nettobarwert für geplante Geldflüsse zu berechnen.
-
RangeXIRR - Skript- und Diagrammfunktion: RangeXIRR() ist die äquivalente Bereichsfunktion für die Funktion XIRR().
In den einzelnen Versionen von Qlik Sense Client-Managed bestehen Unterschiede bei dem zugrunde liegenden Algorithmus, der von dieser Funktion verwendet wird. Informationen zu kürzlichen Aktualisierungen am Algorithmus finden Sie im Support-Artikel über XIRR-Funktion – Behebung und Aktualisierung.
Beispiel
Interpretieren des von XIRR zurückgegebenen Werts
Die XIRR-Funktion wird in der Regel zum Analysieren einer Investition verwendet, die mit einer ausgehenden (negativen) Zahlung beginnt, gefolgt von einer Reihe kleinerer eingehender (positiver) Zahlungen. Das folgende vereinfachte Beispiel weist nur eine negative und eine positive Zahlung auf:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|-100
2024-01-01|110
] (delimiter is '|');
Wir leisten eine anfängliche Zahlung von 100 und erhalten nach genau einem Jahr 110 zurück. Dies stellt einen Zinsfuß von 10 % pro Jahr dar. XIRR(Payments, Date) gibt einen Wert von 0.1 zurück.
Der von der XIRR-Funktion zurückgegebene Wert kann positiv oder negativ sein. Im Fall einer Investition weist ein negatives Ergebnis darauf hin, dass die Investition ein Verlust war. Der Gewinn- oder Verlustbetrag kann berechnet werden, indem einfach eine Summenaggregierung für das Zahlungsfeld vorgenommen wird.
Im obigen Beispiel verleihen wir unser Geld für ein Jahr. Der Zinsfuß stellt die Zinseinnahmen dar. Die XIRR-Funktion kann auch verwendet werden, wenn Sie sich auf der anderen Seite der Transaktion befinden – wenn Sie sich also Geld leihen, anstatt es zu verleihen.
Betrachten wir dieses Beispiel:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|100
2024-01-01|-110
] (delimiter is '|');
Es entspricht dem ersten Beispiel, aber umgekehrt. Hier leihen wir uns 100 für ein Jahr und zahlen den Betrag mit 10 % Zinsen zurück. In diesem Beispiel gibt die XIRR-Berechnung 0.1 (10 %) zurück, den gleichen Wert wie im ersten Beispiel.
Beachten Sie, dass wir im ersten Beispiel einen Gewinn von 10 erhalten haben, während wir im zweiten Beispiel einen Verlust von 10 hatten. Aber der von der XIRR-Funktion zurückgegebene Wert ist in beiden Beispielen positiv. Das liegt daran, dass die XIRR-Funktion den verdeckten Zinssatz in der Transaktion berechnet, unabhängig davon, auf welcher Seite der Transaktion Sie stehen.
Einschränkungen bei mehreren Lösungen
Die XIRR-Funktion von Qlik wird durch die folgende Gleichung definiert, in der der Wert Rate aufgelöst wird:
XNPV(Rate, pmt, date) = 0
Manchmal kann diese Gleichung mehr als eine Lösung haben. Dies ist als „Problem mit mehreren internen Zinsfüßen“ bekannt und wird durch einen nicht normalen Geldfluss (auch als unkonventioneller Geldfluss bezeichnet) verursacht. Das folgende Ladeskript zeigt ein Beispiel:
Cashflow:
LOAD * inline [
Date|Payments
2021-01-01|-200
2022-01-01|500
2023-01-01|-250
] (delimiter is '|');
In diesem Beispiel gibt es eine negative und eine positive Lösung (Rate = -0.3 und Rate = 0.8). XIRR() gibt 0.8 zurück.
Wenn die XIRR-Funktion von Qlik nach einer Lösung sucht, beginnt sie bei Rate = 0 und erhöht den Zinsfuß schrittweise, bis sie eine Lösung findet. Wenn es mehr als eine positive Lösung gibt, gibt die Funktion die erste gefundene Lösung zurück. Wenn keine positive Lösung gefunden wird, setzt die Funktion Rate auf Null zurück und beginnt, in negativer Richtung nach einer Lösung zu suchen.
Beachten Sie, dass es bei „normalem“ Geldfluss garantiert nur eine Lösung gibt. „Normaler“ Geldfluss bedeutet, dass sich alle Zahlungen mit dem gleichen Vorzeichen (positiv oder negativ) in einer fortlaufenden Gruppe befinden.