포트폴리오

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))