포트폴리오
NPV/ IRR
경희대생
2022. 10. 26. 20:52
* 모든 내용은 아래의 '파이썬으로 배우는 포트폴리오' 책을 읽고 정리한 내용입니다.
NPV / IRR
NPV (Net Present Value, 순현재가치)
IRR (Internal Rate of Return, 내부수익률)
- 현금흐름을 할인하는 방법
- NPV와 IRR 모두 미래현금흐름을 할인
- IRR의 경우 수익률을 정기적으로 유효하게 측정할 수 없는 대체투자에서 활용
NPV (Net Present Value, 순현재가치)
- 현재액면가를 나타내는 현금흐름의 순가치
- 미래에 발생할 일련의 현금흐름을 현재가치로 계산
- t =0 (현재)에 -X만큼 현금유출
- 이후 t=1, t=2, t=3 현금유입
- 현금유입되는 미래현금흐름을 현재가치로 할인
- 미래현금흐름의 현재가치가 t= 0 (현재) 현금유출보다 크다면 NPV>0, 수익성이 있다고 판단
# 현금흐름 -> cashflows
# i = 햇수, r = 이자율
cashflows = [12000, 15000, 18000, 21000, 26000]
i= 0
r= 0.015
# 최초 투자금액 (현금유출)
npv = -70000
for c in cashflows:
i = i+1
npv = npv + c/(1+r)**i
print(npv)
IRR (Internal Rate of Return)
- 현재시점가치를 미래시점의 가치로 환산 = 수익률
- 미래시점의가치를 현재시점의 가치로 환산 = 할인율
- 수익률 = 할인율
'NPV =0' 인 경우의 할인율 = IRR
- 즉 IRR 은 Rate of Return (할인율)을 구하는 것
- NPV이 경우 이자율 (r)이 이미 주어짐
- IRR의 경우 NPV = 0을 만족하는 이자율 (Rate of Return) 을 구하는 것
- 여기서 rate이 Rate of Return
import scipy as sp
cashflows = [ -70000, 12000, 15000, 18000, 21000, 26000]
irr = sp.irr(cashflows)
npv = sp.npv ( irr, cashflows)
print( 'IRR {0:.1%} makes NPV {1:.2f}'.format(irr, npv))