XIRR - fonction de script
La fonction XIRR() renvoie le taux de rendement interne agrégé (annuel) pour un calendrier de liquidités (non nécessairement périodique) que représentent des nombres appariés dans les expressions pmt et date itérées sur un nombre donné d'enregistrements définis par une clause group by. Tous les paiements sont actualisés sur une base de 365 jours par an.
La fonctionnalité XIRR de Qlik (fonctions XIRR() et RangeXIRR()) utilise l'équation suivante, résolvant la valeur Rate, pour déterminer la valeur XIRR correcte :
XNPV(Rate, pmt, date) = 0
L'équation est résolue grâce à une version simplifiée de la méthode de Newton.
XIRR(pmt, date )
numérique
Argument | Description |
---|---|
pmt |
Paiements. Expression ou champ contenant les flux de liquidités correspondant au calendrier de paiement spécifié dans la fonction date. |
date | Expression ou champ contenant le calendrier de dates correspondant aux paiements de flux de liquidités spécifiés dans la fonction pmt. |
Si vous utilisez cette fonction, les limitations suivantes s'appliquent :
-
Les valeurs textuelles, les valeurs NULL et les valeurs manquantes d'un côté ou des deux côtés d'une paire de données ont pour effet d'écarter la paire de données entière.
-
Cette fonction requiert au moins un paiement négatif valide et au moins un paiement positif valide (avec des dates valides correspondantes). Si ces paiements ne sont pas fournis, une valeur NULL est renvoyée.
Ces rubriques peuvent vous aider à utiliser cette fonction :
-
XNPV - fonction de script : utilisez cette fonction pour calculer la valeur actuelle nette agrégée d'une planification de liquidités.
-
RangeXIRR - fonction de script et fonction de graphique : RangeXIRR() est la fonction de plage équivalente de la fonction XIRR().
Dans les différentes versions de Qlik Sense Client-Managed, il existe des variations dans l'algorithme sous-jacent utilisé par cette fonction. Pour plus d'informations sur les récentes mises à jour de l'algorithme, voir l'article d'aide Correctifs et mises à jour de la fonction XIRR.
Exemple
Interprétation de la valeur de rendement XIRR
La fonctionnalité XIRR est généralement utilisée pour analyser un investissement, lorsqu'il existe un paiement sortant (négatif) au début, puis une série de plus petits paiements de revenus (positifs) par la suite. Voici un exemple simplifié avec un seul paiement négatif et un seul paiement positif :
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|-100
2024-01-01|110
] (delimiter is '|');
Nous effectuons un paiement initial de 100 et nous obtenons 110 en retour après exactement un an. Cela représente un taux de rendement de 10 % par an. XIRR(Payments, Date) renvoie une valeur de 0.1.
La valeur de rendement de la fonctionnalité XIRR peut être positive ou négative. Dans le cas d'un investissement, un résultat négatif indique que l'investissement est une perte. Il est possible de calculer le montant de gain ou de perte simplement en appliquant une agrégation Sum au champ de paiements.
Dans l'exemple ci-dessus, nous prêtons notre argent pendant un an. Le taux de rendement peut être considéré comme un intérêt. Il est également possible d'utiliser la fonctionnalité XIRR si vous vous trouvez de l'autre côté de la transaction (par exemple, si vous empruntez de l'argent au lieu d'en prêter).
Prenez l'exemple suivant :
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|100
2024-01-01|-110
] (delimiter is '|');
Il s'agit du même exemple que le précédent, mais dans le sens inverse. Ici, nous empruntons 100 pendant un an et nous remboursons cette somme avec 10 % d'intérêt. Dans cet exemple, le calcul XIRR renvoie 0.1 (10 %), la même valeur que dans le premier exemple.
Notez que, dans le premier exemple, nous avons reçu un profit de 10, tandis que, dans le deuxième exemple, nous avons enregistré une perte de 10, mais la valeur de rendement de la fonctionnalité XIRR est positive dans les deux exemples. Cela est dû au fait que la fonctionnalité XIRR calcule les intérêts cachés dans la transaction, quel que soit le côté où vous vous trouviez dans la transaction.
Limitations avec plusieurs solutions
La fonctionnalité XIRR de Qlik est définie par l'équation suivante, où la valeur Rate est résolue :
XNPV(Rate, pmt, date) = 0
Il peut arriver que cette équation ait plusieurs solutions. Cela est connu sous le nom de « problème d'IRR multiple » et est dû à un flux de liquidités anormal (également appelé flux non conventionnel). Le script de chargement suivant en montre un exemple :
Cashflow:
LOAD * inline [
Date|Payments
2021-01-01|-200
2022-01-01|500
2023-01-01|-250
] (delimiter is '|');
Dans cet exemple, il existe une solution négative et une solution positive (Rate = -0.3 et Rate = 0.8). XIRR() renverra 0.8.
Lorsque la fonctionnalité XIRR de Qlik recherche une solution, elle commence par Rate = 0 et augmente le taux par incréments jusqu'à trouver une solution. S'il existe plus d'une solution positive, elle renverra la première qu'elle trouve. Si elle ne trouve pas de solution positive, elle réinitialisera Rate sur zéro et commencera à chercher une solution dans le sens négatif.
Notez qu'il est garanti qu'un flux de liquidités « normal » aura une seule solution. Un flux de liquidités « normal » signifie que tous les paiements présentant le même signe (positif ou négatif) figurent dans un groupe continu.