IRR 계산기
현금 흐름 시리즈의 내부 수익률(IRR)을 계산합니다.
미래 현금 흐름
연도 1
연도 2
연도 3
연도 4
이 도구 소개
내부수익률(IRR)은 투자나 프로젝트의 수익성과 효율성을 평가하기 위한 중요한 지표입니다. 이 계산기는 모든 현금 흐름의 순현재가치(NPV)가 0이 되는 할인율을 결정하여 투자의 연간 수익률을 나타내는 단일 백분율을 제공합니다. IRR을 이해하면 투자자와 재무 전문가가 투자 규모나 기간과 관계없이 서로 다른 투자 기회를 동등한 기준으로 비교할 수 있습니다.
이 계산기를 사용하려면 초기 투자(일반적으로 음수 값)와 그 이후의 모든 현금 흐름을 연도별로 입력합니다. 도구는 수치 방법을 사용하여 IRR을 반복적으로 계산합니다. IRR은 자본 투자, 기업 인수, 부동산 거래, 프로젝트 타당성 평가에 일반적으로 사용됩니다. 경쟁하는 투자 기회 중에서 선택하거나 프로젝트가 필요한 수익률을 충족하는지 평가할 필요가 있을 때 특히 유용합니다.
IRR은 현금 흐름이 IRR 비율로 재투자된다고 가정하는데, 이것이 항상 현실적이지 않을 수 있음에 주의하세요. 복잡한 시나리오에서는 수정된 IRR(MIRR)이 이를 해결할 수 있습니다. 또한 비정상적인 현금 흐름 패턴의 경우 여러 개의 IRR 해가 나타날 수 있습니다. 이 계산기는 주요 IRR 값을 제공하며 초기 지출 후 유입이 따르는 일반적인 패턴에서 가장 신뢰할 수 있습니다.
자주 묻는 질문
코드 구현
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.