İçeriğe geç
🛠️ToolsShed

İç Verim Oranı Hesaplayıcı

Nakit akışları serisi için İç Verim Oranını (İVO) hesaplar.

Gelecekteki Nakit Akışları

Yıl 1
Yıl 2
Yıl 3
Yıl 4

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 ~0

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.