XIRR - fonction de graphique
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 fournies par pmt et date itérées sur les dimensions du graphique. 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([TOTAL [<fld {,fld}>]] 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. |
TOTAL |
Si le terme TOTAL précède les arguments de la fonction, le calcul est effectué à partir de toutes les valeurs possibles au vu des sélections actives, et pas seulement à partir de celles qui sont associées à la valeur dimensionnelle active. Autrement dit, les dimensions du graphique ne sont pas prises en compte. En utilisant TOTAL [<fld {.fld}>], où le qualificateur TOTAL est suivi d'un ou de plusieurs noms constituant un sous-ensemble des variables de dimension du graphique, vous créez un sous-ensemble du nombre total de valeurs possibles. |
Si vous utilisez cette fonction, les limitations suivantes s'appliquent :
-
pmt et date ne doivent pas comprendre de fonctions d'agrégation, à moins que ces agrégations internes ne contiennent le qualificateur TOTAL. Pour des agrégations imbriquées plus complexes, utilisez la fonction avancée Aggr en combinaison avec une dimension spécifiée.
-
Les valeurs textuelles, les valeurs NULL et les valeurs manquantes dans une ou les deux paires de données sont ignorées.
-
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 graphique : 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.