Maison >Java >javaDidacticiel >Solveur de taux de rendement interne avec Corticon

Solveur de taux de rendement interne avec Corticon

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-04 06:09:02485parcourir

Taux de rendement interne

Grâce aux capacités d'exécution itérative de Corticon, nous pouvons résoudre des calculs qui nécessitent d'être résolus pour obtenir la meilleure réponse possible.

Le taux de rendement interne (TRI) est une mesure financière utilisée, entre autres, pour évaluer la rentabilité et le coût d'opportunité d'un investissement. Un cas d'utilisation typique serait d'évaluer s'il convient de poursuivre un investissement dans lequel :

  • Dépense initiale (coût d'investissement) de 5 000 $
  • Année 1 - retour de 0 $
  • Année 2 - retour de 2 000 $
  • Année 3 - retour de 0 $
  • Année 4 - retour de 4 000 $
  • Année 5 - retour de 0 $
  • Année 6 - retour de 9 000 $

Le taux de rendement interne est résolu en utilisant la formule :

Internal Rate of Return Solver with Corticon

En branchant nos numéros, nous avons :

~0 = (0/(1 TRI)^1 2000/(1 TRI)^2 0/(1 TRI)^3 4000/(1 TRI)^4 0/(1 TRI)^5 9000/( 1 TRI)^6) - 5000

Nous recherchons le TRI auquel la valeur actuelle nette (VAN) est nulle (ou aussi proche que possible avec un nombre X de points décimaux). Nous devons donc essayer de manière récurrente différentes valeurs pour que le TRI se rapproche le plus possible de zéro.

Les règles

Tout d’abord, notre vocabulaire de règles.

Internal Rate of Return Solver with Corticon

Nous avons 3 entités, Candidat, Cashflow, et l'entité racine, Investissement. L'investissement comporte un certain nombre de flux de trésorerie que nous évaluerons. Il comporte également un nombre illimité de candidats qui seront créés lors de l'exécution de la décision, représentant différents taux qui seront branchés.

Les entrées seront simplement l'entité mère, Investissement, avec tous les flux de trésorerie correspondants et un numéro de versement marquant leur séquence. Le premier flux de trésorerie est toujours la sortie de trésorerie, son montant est donc toujours négatif. Il utilisera la valeur 0 pour son numéro de versement.

Suite nos règles.

  • Nous commençons par initialiser une valeur pour le TRI, qui sera incrémentée vers le haut ou vers le bas en fonction de la VAN résultante. De la même manière, nous placerons la valeur du flux de trésorerie initial dans l'attribut « principal » de l'entité d'investissement, puis supprimerons ce flux de trésorerie pour opérer plus facilement uniquement sur les flux futurs.

Internal Rate of Return Solver with Corticon

  • Nous ferons glisser cette première feuille de règles sur un nouveau flux de règles qui sera généré ultérieurement dans le service de décision d'exécution. Un flux de règles peut contenir n'importe quel nombre de feuilles de règles et n'importe quel nombre de flux de règles « intégrés ». Nous allons créer un flux de règles intégré contenant deux feuilles de règles supplémentaires et parcourir ce flux de règles intégré pendant que nous essayons les taux IRR candidats en lui appliquant l'option « Itératif » à partir de la palette de flux de règles.

Internal Rate of Return Solver with Corticon

  • Lorsqu'un objet sur un flux de règles est configuré pour itérer, il sera réexécuté à plusieurs reprises jusqu'à ce que les valeurs dérivées des règles de l'objet cessent de changer. Une fois que les valeurs de l'objet cessent de changer, l'itération s'arrête et l'exécution continue avec l'objet suivant (tel que déterminé par les connecteurs).
  • Dans le flux de règles interne, nous avons deux feuilles de règles.

Internal Rate of Return Solver with Corticon

  • Le premier calculera la part de chaque flux de trésorerie individuel qu'il contribue au calcul final - par exemple, l'attribut « partie » du flux de trésorerie 3 serait le résultat de 0/(1 TRI)^3.

Internal Rate of Return Solver with Corticon

  • La deuxième feuille de règles du flux de règles intégré :
    • Réglez Investment.npv sur la somme des parts de chaque flux de trésorerie moins l'investissement initial
    • Si ce npv est supérieur à zéro, augmentez l'irr de 0,01, ou s'il est inférieur à zéro, diminuez de 0,01.
    • Il faut cependant savoir si on a déjà essayé un tarif donné ou non pour ne pas se retrouver dans une boucle sans fin. C'est là que les candidats entrent en jeu. Nous créons un nouveau candidat pour chaque taux que nous essayons, jusqu'à ce que nous tombions sur un taux qui a déjà été essayé, auquel cas aucune action n'est déclenchée et nous renvoyons la valeur calculée.

Internal Rate of Return Solver with Corticon

En testant le flux de règles de niveau supérieur, nous définissons l'entrée en fonction du cas d'utilisation répertorié ci-dessus pour l'investissement de 5 000 $. On voit que Corticon a opté pour un TRI de 0,27 (27%).

Internal Rate of Return Solver with Corticon

当我们使用ruletrace 运行规则测试时,我们可以看到 Corticon 如何使用每个调整后的利率循环执行规则,直到投资的 NPV 尽可能接近于零。

Internal Rate of Return Solver with Corticon

规则跟踪数据也可以导出到 CSV。

Internal Rate of Return Solver with Corticon

从 GitHub 下载项目

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn