İç Verim Oranı Hesaplayıcı
Nakit akışları serisi için İç Verim Oranını (İVO) hesaplar.
Gelecekteki Nakit Akışları
Bu araç hakkında
İç Verim Oranı (İVO), yatırımların veya projelerin karlılığını ve verimliliğini değerlendirmek için kritik bir ölçüttür. Bu hesaplayıcı, tüm nakit akışlarının net bugünkü değerinin (NBD) sıfır olduğu iskonto oranını belirleyerek, yatırımınızın yıllık getiri oranını temsil eden tek bir yüzde sağlar. İVO'yu anlamak, yatırımcılar ve finans profesyonellerinin farklı yatırım fırsatlarını boyutlarından veya zaman dilimlerinden bağımsız olarak eşit temelde karşılaştırmalarına yardımcı olur.
Bu hesaplayıcıyı kullanmak için başlangıç yatırımınızı (tipik olarak negatif bir değer) ve tüm sonraki nakit akışlarını kronolojik sırayla ilgili yıllarıyla birlikte girin. Araç, sayısal yöntemler kullanarak İVO'yu yinelemeli olarak çözer. İVO, sermaye yatırımlarını, işletme satın almalarını, gayrimenkul işlemlerini ve proje fizibilitesini değerlendirmek için yaygın olarak kullanılır. Rakip yatırım fırsatları arasında seçim yapmanız veya bir projenin gerekli getiri oranınızı karşılayıp karşılamadığını değerlendirmeniz gerektiğinde özellikle değerlidir.
İVO'nun nakit akışlarının İVO oranının kendisinde yeniden yatırılmasını varsaydığını ve bu her zaman gerçekçi olmayabileceğini unutmayın; değiştirilmiş İVO (DİVO) karmaşık senaryolarda bunu ele alabilir. Ayrıca, geleneksel olmayan nakit akış desenleri için İVO birden fazla çözüm üretebilir. Bu hesaplayıcı, birincil İVO değerini sağlar ve nakit akışları ilk çıkış ve ardından gelen girişlerle konvansiyonel bir deseni takip ettiğinde en güvenilirdir.
Sıkça Sorulan Sorular
Kod Uygulaması
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.