# XIRR - Skriptfunktion

Die Funktion XIRR() gibt den aggregierten (jährlichen) internen Zinsfuß einer Investition für eine Reihe geplanter (nicht unbedingt regelmäßig erfolgender) Geldflüsse zurück, repräsentiert durch die Wertepaare aus pmt und date und über die im Zusatz group by bezeichneten Datensätze 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(pmt, date )

Rückgabe Datentyp: numerisch

Argumente

| 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. |

Bei der Arbeit mit dieser Funktion gelten die folgenden Einschränkungen:

* 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 - Skriptfunktion](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/FinancialAggregationFunctions/XNPV.htm): Verwenden Sie diese Funktion, um den aggregierten Nettobarwert für geplante Geldflüsse zu berechnen.

* [RangeXIRR - Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/RangeFunctions/RangeXIRR.htm): RangeXIRR() ist die äquivalente Bereichsfunktion für die Funktion XIRR().

Informationshinweis

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](https://community.qlik.com/t5/Member-Articles/XIRR-function-Fix-and-Update/ta-p/2049021).

## Beispiel

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FinancialAggregationFunctions/XIRR.htm)

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.

Das Ladeskript umfasst:

* Transaktionsdaten für eine Reihe von Geldflüssen.

* Verwendung der Funktion XIRR() zum Berechnen des jährlichen internen Zinsfußes für diese Geldflüsse.

Ladeskript

```
Cashflow:
LOAD 2013 as Year, * inline [
Date|Payments
2013-01-01|-10000
2013-03-01|3000
2013-10-30|4200
2014-02-01|6800
] (delimiter is '|');
 
Cashflow1:
LOAD Year,XIRR(Payments, Date) as XIRR2013  Resident Cashflow Group By Year;
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `Year`

* `XIRR2013`

Ergebnistabelle

| Jahr | XIRR2013 |
| --- | --- |
| 2013 | 0.5385 |

## 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.

## Weitere Informationen

* [XNPV - Skriptfunktion](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/FinancialAggregationFunctions/XNPV.htm)
* [RangeXIRR - Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/RangeFunctions/RangeXIRR.htm)
* [XIRR-Funktion – Behebung und Aktualisierung](https://community.qlik.com/t5/Member-Articles/XIRR-function-Fix-and-Update/ta-p/2049021)