# XIRR Skriptfunktion

XIRR() returnerar den aggregerade internräntan (per år) för en tablå av kassaflöden (som inte nödvändigtvis är periodisk), representerad av parvisa tal i pmt och date itererade över ett antal poster enligt vad som definierats i en group by-sats. Alla betalningar diskonteras utifrån ett 365-dagarsår.

Qliks XIRR-funktionalitet (XIRR()- och RangeXIRR()-funktionerna) använder följande ekvation för att lösa värdet `Rate` och fastställa korrekt XIRR-värde:

`XNPV(Rate, pmt, date) = 0`

Ekvationen löses med en förenklad version av Newton-metoden.

Syntax:

XIRR(pmt, date )

Returnerad datatyp: numeriska

Argument

| Argument | Beskrivning |
| --- | --- |
| pmt | Betalningar. Uttrycket eller fältet som innehåller de kassaflöden som motsvarar det betalningsschema som anges i date. |
| date | Uttrycket eller fältet som innehåller de datascheman som motsvarar kassaflödesbetalningar som ges i pmt. |

När du arbetar med den här funktionen gäller följande begränsningar:

* Textvärden, NULL-värden och saknade värden i någon eller båda delarna av ett datapar resulterar i att hela dataparet ignoreras.

* Denna funktion kräver minst en giltig negativ och minst en giltig positiv betalning (med motsvarande giltiga datum). Om dessa betalningar inte anges returneras ett NULL-värde.

Dessa ämnen kan hjälpa dig att arbeta med den här funktionen:

* [XNPV Skriptfunktion](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FinancialAggregationFunctions/XNPV.htm): använd den här funktionen för att beräkna det aggregerade aktuella nettovärdet för ett schema med kassaflöden.

* [RangeXIRR Skript- och diagramfunktion](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/RangeFunctions/RangeXIRR.htm): RangeXIRR() är den ekvivalenta intervallfunktionen för XIRR()-funktionen.

Anteckning om information

Information om de senaste uppdateringarna av den underliggande algoritm som används i den här funktionen finns i supportartikeln [Korrigeringar och uppdateringar av XIRR-funktioner](https://community.qlik.com/t5/Member-Articles/XIRR-function-Fix-and-Update/ta-p/2049021).

## Exempel

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* Transaktionsdata för en serie kassaflöden.

* Användningen av XIRR()-funktionen för att beräkna den interna årliga avkastningsgraden för dessa kassaflöden.

Laddningsskript

```
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;
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `Year`

* `XIRR2013`

Resultattabell

| År | XIRR2013 |
| --- | --- |
| 2013 | 0.5385 |

## Tolkning av XIRR-returvärdet

XIRR-funktionen används vanligtvis för att analysera en investering där det finns en utgående (negativ) betalning i början och sedan en serie mindre inkomstbetalningar (positiva) senare. Här är ett förenklat exempel med endast en negativ och en positiv betalning:

`Cashflow:` `LOAD * inline [` `Date|Payments` `2023-01-01|-100` `2024-01-01|110` `] (delimiter is '|');` ` `

Vi gör en första betalning på 100 och får tillbaka 110 efter exakt ett år. Detta motsvarar en avkastningsgrad på 10 % per år. `XIRR(Payments, Date)` returnerar ett värde på 0,1.

Returvärdet för XIRR-funktionen kan vara positivt eller negativt. När det gäller en investering visar ett negativt resultat att investeringen är en förlust. Vinst- eller förlustbeloppet kan beräknas helt enkelt genom att göra en summering av betalningsfältet.

I exemplet ovan lånar vi ut våra pengar i ett år. Avkastningsgraden kan ses som en ränta. Det är också möjligt att använda XIRR:s funktion när du är på den andra sidan av transaktionen (t.ex. om du är låntagare i stället för långivare).

Ta det här exemplet:

`Cashflow:` `LOAD * inline [` `Date|Payments` `2023-01-01|100` `2024-01-01|-110` `] (delimiter is '|');` ` `

Detta är samma sak som i det första exemplet, men i omvänd form. Här lånar vi 100 euro i ett år och betalar tillbaka dem med 10 % ränta. I det här exemplet ger XIRR-beräkningen 0,1 (10 %), samma värde som i det första exemplet.

Observera att vi i det första exemplet fick en vinst på 10 och i det andra exemplet en förlust på 10, men att returvärdet för XIRR-funktionen är positivt för båda dessa exempel. Detta beror på att XIRR-funktionen beräknar den dolda räntan i transaktionen, oavsett vilken sida du är på i transaktionen.

## Begränsningar med flera lösningar

Qliks XIRR-funktion definieras av följande ekvation, där värdet `Rate` löses:

`XNPV(Rate, pmt, date) = 0`

Det är ibland möjligt att denna ekvation har fler än en lösning. Detta är känt som "multipel IRR-problemet" och orsakas av ett icke-normalt kassaflöde (även kallat okonventionellt kassaflöde). Följande laddningsskript visar ett exempel på detta:

`Cashflow:` `LOAD * inline [` `Date|Payments` `2021-01-01|-200` `2022-01-01|500` `2023-01-01|-250` `] (delimiter is '|');` ` `

I detta exempel finns det en negativ lösning och en positiv lösning (`Rate`= -0,3 och `Rate`= 0,8). XIRR() kommer att returnera 0,8.

När Qliks XIRR-funktion söker efter en lösning börjar den vid `Rate` = 0 och ökar värdet stegvis tills den hittar en lösning. Om det finns fler än en positiv lösning returneras den första lösningen. Om den inte kan hitta en positiv lösning kommer den att återställa `Rate` tillbaka till noll och börja söka efter en lösning i den negativa riktningen.

Observera att ett "normalt" kassaflöde garanterat har endast en lösning. Ett "normalt" kassaflöde innebär att alla betalningar med samma tecken (positiva eller negativa) ingår i en kontinuerlig grupp.

## Mer information

* [XNPV Skriptfunktion](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FinancialAggregationFunctions/XNPV.htm)
* [RangeXIRR Skript- och diagramfunktion](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/RangeFunctions/RangeXIRR.htm)
* [Korrigeringar och uppdateringar av XIRR-funktioner](https://community.qlik.com/t5/Member-Articles/XIRR-function-Fix-and-Update/ta-p/2049021)