XIRR - diagramfunctie
XIRR() retourneert het geaggregeerde interne opbrengstpercentage (jaarlijks) voor een schema van cashflows (niet noodzakelijk periodiek) dat wordt vertegenwoordigd door getallenparen in de uitdrukkingen pmt en date, herhaald op de dimensies van het diagram. De kortingen voor alle betalingen zijn gebaseerd op een jaar van 365 dagen.
De XIRR-functionaliteit van Qlik (de functies XIRR() en RangeXIRR()) gebruiken de volgende vergelijking, als oplossing voor de Rate-waarde, om de juiste XIRR-waarde te bepalen:
XNPV(Rate, pmt, date) = 0
De vergelijking wordt opgelost met een vereenvoudigde versie van de Newton-methode.
Syntaxis:
XIRR([TOTAL [<fld {,fld}>]] pmt, date)
Retourgegevenstypen: numeriek
Argument | Beschrijving |
---|---|
pmt |
Betalingen. De uitdrukking of het veld met de cashflows die horen bij het betalingenschema dat is gegeven in date. |
date | De uitdrukking of het veld met het datumschema dat hoort bij de cashflowbetalingen die zijn gegeven in pmt. |
TOTAL |
Als het woord TOTAL voor de functieargumenten staat, wordt de berekening gemaakt op basis van alle mogelijke waarden bij de huidige selecties, en niet alleen de selecties die betrekking hebben op de huidige dimensiewaarde. Dit betekent dat de dimensies van het diagram worden genegeerd. Wanneer u TOTAL [<fld {.fld}>] gebruikt en de TOTAL-kwalificatie wordt gevolgd door een lijst van één of meer veldnamen als subset van de dimensievariabelen van het diagram, maakt u een subset van de totale mogelijke waarden. |
Als u werkt met deze functie, gelden de volgende beperkingen:
-
pmt endate mogen geen aggregatiefuncties bevatten, tenzij deze interne aggregaties de kwalificatie TOTAL bevatten. Gebruik voor meer geavanceerde geneste aggregaties de geavanceerde functie Aggr, in combinatie met een opgegeven dimensie.
-
Als een of beide delen van een gegevenspaar tekstwaarden, NULL-waarden of ontbrekende waarden bevatten, wordt het hele gegevenspaar genegeerd.
-
Voor deze functie is ten minste één geldige negatieve en één geldige positieve betaling vereist (met bijbehorende geldige datums). Als deze betalingen niet zijn opgegeven, wordt er een NULL-waarde geretourneerd.
Deze onderwerpen kunnen u helpen bij het werken met deze functie:
-
XNPV - diagramfunctie: gebruik deze functie om de geaggregeerde huidige nettowaarde te berekenen voor een schema met cashflows.
-
RangeXIRR - script- en diagramfunctie: RangeXIRR() is de bijbehorende bereikfunctie voor de XIRR()‑functie.
Voor informatie over recente updates van het onderliggende algoritme dat door deze functie wordt gebruikt, raadpleegt u het ondersteuningsartikel XIRR-functie herstellen en bijwerken.
Voorbeeld
De XIRR-retourwaarde interpreteren
De XIRR-functionaliteit wordt meestal gebruikt om een investering te analyseren met een uitgaande (negatieve) betaling in het begin en later een aantal kleinere binnenkomende (positieve) betalingen. Hieronder ziet u een vereenvoudigd voorbeeld met één negatieve en één positieve betaling:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|-100
2024-01-01|110
] (delimiter is '|');
We voeren eerst een betaling van 100 uit en precies één jaar later ontvangen we 110 terug. Dit vertegenwoordigt een opbrengstpercentage van 10% per jaar. XIRR(Payments, Date) retourneert een waarde van 0.1.
De retourwaarde van de XIRR-functionaliteit kan positief of negatief zijn. In het geval van een investering geeft een negatief resultaat aan dat er sprake is van verlies. De hoeveelheid winst of verlies kan worden berekend door een sum-aggregatie uit te voeren voor de betalingsvelden.
In het bovenstaande voorbeeld lenen we één jaar geld uit. Het opbrengstpercentage kan als rente worden beschouwd. U kunt de XIRR-functionaliteit ook gebruiken als u zich aan de andere kant van de transactie bevindt (bijvoorbeeld als u de lener in plaats van de geldschieter bent).
Neem het volgende voorbeeld:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|100
2024-01-01|-110
] (delimiter is '|');
dit voorbeeld is hetzelfde als hierboven, maar dan omgedraaid. Hier lenen we 100 voor één jaar en we betalen het terug met 10% rente. In dit voorbeeld geeft de XIRR-functionaliteit 0.1 (10%), dezelfde waarde als in het eerste voorbeeld.
In het eerste voorbeeld ontvingen we een winst van 10 en in het tweede voorbeeld hadden we een verlies van 10, maar de retourwaarde van de XIRR-functionaliteit is in beide voorbeelden positief. Dit komt doordat de XIRR-functionaliteit de verborgen rente van de transactie berekend, ongeacht aan welke kant van de transactie u zich bevindt.
Beperkingen met meerdere uitkomsten
DE XIRR-functionaliteit van Qlik wordt gedefinieerd door de volgende vergelijking waarin de Rate-waarde wordt opgelost:
XNPV(Rate, pmt, date) = 0
bij deze vergelijking is er meer dan één uitkomst mogelijk. Dit wordt ook wel het 'meervoudig IRR-probleem' genoemd en dit wordt veroorzaakt door een ongewone cashflowstroom (ook wel een niet-conventionele cashflow genoemd). Het volgende load-script is hier een voorbeeld van:
Cashflow:
LOAD * inline [
Date|Payments
2021-01-01|-200
2022-01-01|500
2023-01-01|-250
] (delimiter is '|');
In dit voorbeeld is er een negatieve uitkomt en een positieve uitkomst (Rate = -0.3 en Rate = 0.8). XIRR() geeft 0.8.
Als de XIRR-functionaliteit van Qlik zoekt naar een uitkomst, is het startpunt Rate = 0 en wordt het tarief in stappen verhoogd totdat de uitkomst is gevonden. Als er meer dan één positieve uitkomst mogelijk is, wordt de eerste uitkomst gegeven. Als er geen positieve uitkomst wordt gevonden, wordt Rate teruggezet naar nul en wordt er gezocht naar een negatieve uitkomst.
Bij een 'normale' cashflowstream is er gegarandeerd maar één uitkomst mogelijk. Een 'normale' cashflowstream betekent dat alle betalingen met hetzelfde teken (positief of negatief) zich in een onafgebroken groep bevinden.