Faire mieux qu'excel pour le taux de rendement interne

Discutez d'informatique ici !
amaniac12
Messages: 1
Enregistré le: 06 Aoû 2006, 03:04

faire mieux qu'excel pour le taux de rendement interne

par amaniac12 » 06 Aoû 2006, 03:15

Bonjour tous le monde

j'essais de faire un programme mathematique qui me calcul le TRI : taux de rendement interne.

Excell permet de calculer le TRI mais j'utilise php et donc je ne peux résoudre cette opération qu'avec les fonctions mathématiques de bases mais je peux évidement faire des boucles pour répeter plusieurs fois des calculs.


donc j'aimerais savoir si l'un d'entre vous est capable de me dire comment je peux avoir une fonction qui commence par TRI = ...
et qui puisse s'utiliser avec une calcullette de bases

merci bcp
Lionel







ci-joint une explication du TRI
_____________________________________

Rentabilité des investissements


1 Délai de récupération du capital investi

Un investissement est jugé rentable si le capital investi est récupéré très rapidement ou autrement dit, si cet investissement procure les ressources nécessaires au remboursement du capital utilisé.

Le principe de calcul est simple. Après avoir dégagé pour chaque investissement les ressources nettes (encaissements - les décaissements), on effectue un cumul de ces dernières pour chaque investissement. Dès que le cumul devient positif, cela signifie que le coût de l’investissement a été récupéré. Le délai séparant la date d’investissement de celle à laquelle les cumuls deviennent positifs représente ce délai de récupération

2 la valeur actuelle nette (V.A.N)

Cette méthode consiste à appliquer au coût d’un investissement et à la recette nette d’exploitation attendue de cet investissement les règles de capitalisation, d’actualisation et d’équivalence des annuités.

Désignons par Io le coût de l’investissement à l’époque 0. On suppose que l’investissement est intégralement payé.

R1, R2, R3 ..... les recettes procurées par l’Investissement au cours des années 1, 2, 3

D1, D2, D3 ...... les dépenses exigées par l’Investissement au cours des années 1, 2, 3

i1, i2, i3 .......... les taux d’intérêt

B= Bénéfice estimé à l’époque 0

B = -Io + (R1 - D1) (1 + i1)-1 +(R2 - D2) (1 + i2)-2

Si les recettes nettes sont constantes et i constant :

B = -Io + (R - D) 1 - (1 + i)-n /i

formule des annuités constantes

l’investissement sera jugé rentable si le résultat > 0

3 Taux de Rendement Interne (T R I.)

Ce taux est celui pour lequel la V.A.N est nulle à l’époque 0. Ce taux doit être comparé au taux moyen en vigueur sur le marché financier pour juger de l’opportunité d’un investissement. Il faut procéder par itération c.-à-d. essayer plusieurs valeurs de i


Io = (R - D) 1 - (1 + i)-n /i





Ex Une entreprise a le choix entre deux investissements. Le premier de 400000 F le second de 360000 F. Le taux d’actualisation est de 12 %. Les recettes nettes prévues sont les suivantes :

Années projet 1 projet 2 Délai 1 Délai 2
1 240000 60000 - 160000 - 300000
2 120000 120000 - 400000 - 180000
3 80000 160000 + 40000 - 20000
4 40000 200000 + 80000 + 180000
5 ---- 240000 + 420000


Calcul de La V.A.N dans le 1er cas = -7687,88. Dans le deuxième cas valeur positive.


Pour le T.R.I entre 10 et 12% par interpolation linéaire on trouve 10,77% (pour 10% +4781,09)



Patastronch
Membre Irrationnel
Messages: 1345
Enregistré le: 23 Aoû 2005, 00:53

par Patastronch » 06 Aoû 2006, 18:10

Pour calculer B :

Tu as un tableau "ValeurR" indexé de 0 à n-1 ou sont stockées les valeurs R1 à Rn.
Tu as un tableau "ValeurD" indexé de 0 à n-1 ou sont stockées les valeurs D1 à Dn.
Tu as un tableau "ValeurI" indexé de 0 à n-1 ou sont stockées les valeurs i1 à in.

Le calcul de B deviens :

Fonction double CalculB (Io;n)

B=Io;
Pour i variant de 0 à n-1 faire :
B+=(ValeurR[i]-ValeurD[i])*(1-ValeurI[i]) - (i+1);
Fin faire
retourner B;





Le calcul du T.R.I deviens :

Fonction double CalculTRI (Io;n)

i=0;
Tant que (CalculB(Io;i) != 0 || i<n) faire
i++;
Fin Tant que
Si (i==n) alors retourner -1 (ou autre code d'erreur au choix)
sinon retourner i+1;


Le code est loin d'etre optimisé (complexité en O(n²) alors qu'on peut le faire en O(n) sans probleme), mais je me doute que tu travailles sur des ensemble de données relativement petit, donc ca ne sera pas problématique pour la vitesse.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite