Calculatrice TRI
Calcule le Taux de Rentabilité Interne (TRI) pour une série de flux de trésorerie.
Flux de trésorerie futurs
À propos de cet outil
Le Taux de Rendement Interne (TRI) est une métrique critique pour évaluer la rentabilité et l'efficacité des investissements ou des projets. Cette calculatrice détermine le taux d'actualisation auquel la valeur actuelle nette (VAN) de tous les flux de trésorerie est égale à zéro, vous fournissant un pourcentage unique représentant le rendement annuel de votre investissement. Comprendre le TRI aide les investisseurs et les professionnels de la finance à comparer différentes opportunités d'investissement sur une base égale, indépendamment de leur taille ou de leur durée.
Pour utiliser cette calculatrice, entrez votre investissement initial (généralement une valeur négative) et tous les flux de trésorerie ultérieurs en ordre chronologique avec leurs années respectives. L'outil résout itérativement le TRI à l'aide de méthodes numériques. Le TRI est couramment utilisé pour évaluer les investissements en capital, les acquisitions d'entreprises, les transactions immobilières et la faisabilité des projets. Il est particulièrement utile lorsque vous devez choisir entre des opportunités d'investissement concurrentes ou évaluer si un projet répond à votre taux de rendement requis.
Gardez à l'esprit que le TRI suppose le réinvestissement des flux de trésorerie au taux TRI lui-même, ce qui peut ne pas toujours être réaliste ; le TRI modifié (TRIM) peut résoudre ce problème dans les scénarios complexes. De plus, le TRI peut produire plusieurs solutions pour les modèles de flux de trésorerie non conventionnels. Cette calculatrice fournit la valeur TRI principale et est plus fiable lorsque les flux de trésorerie suivent un modèle conventionnel avec une sortie initiale suivie d'entrées.
Questions Fréquentes
Implémentation du Code
def npv(rate: float, cash_flows: list) -> float:
"""Net Present Value at given rate."""
return sum(cf / (1 + rate) ** t for t, cf in enumerate(cash_flows))
def irr(cash_flows: list, max_iter: int = 1000, tol: float = 1e-7) -> float | None:
"""Internal Rate of Return via Newton-Raphson iteration."""
# Check sign change
positives = any(cf > 0 for cf in cash_flows)
negatives = any(cf < 0 for cf in cash_flows)
if not (positives and negatives):
return None
rate = 0.1 # initial guess
for _ in range(max_iter):
f = npv(rate, cash_flows)
# Derivative: d/dr NPV = sum(-t * cf / (1+r)^(t+1))
df = sum(-t * cf / (1 + rate) ** (t + 1) for t, cf in enumerate(cash_flows))
if df == 0:
break
new_rate = rate - f / df
if abs(new_rate - rate) < tol:
return new_rate
rate = new_rate
return None
# Example: invest $1000, receive $300, $400, $500 over 3 years
cash_flows = [-1000, 300, 400, 500]
result = irr(cash_flows)
if result is not None:
print(f"IRR = {result * 100:.2f}%")
print(f"NPV at IRR ≈ {npv(result, cash_flows):.6f}") # should be ~0Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.