Initiala projektkostnader
Funktionen numpy.npv(rate, values) är mycket kraftfull eftersom den kan hantera både positiva och negativa värden.
I den här övningen beräknar du nuvärdet (NPV) för två potentiella projekt med olika kassaflöden:
| År | Projekt 1 | Projekt 2 |
|---|---|---|
| 1 | -250 $ (initial investering) | -250 $ (initial investering) |
| 2 | 100 $ kassaflöde | 300 $ kassaflöde |
| 3 | 200 $ kassaflöde | -250 $ (nettoinvestering) |
| 4 | 300 $ kassaflöde | 300 $ kassaflöde |
| 5 | 400 $ kassaflöde | 300 $ kassaflöde |
I det här exemplet kräver projekt 1 bara en initial investering på 250 $, och genererar sedan ett långsamt ökande kassaflöde under de följande 4 åren.
Projekt 2 kräver däremot en initial investering på 250 \( samt en ytterligare investering på 250 \) under år 3. Till gengäld genererar projekt 2 större kassaflöden.
Anta att inget av projekten genererar ytterligare kassaflöden efter det femte året – vilket projekt skulle du välja? Det bästa sättet att avgöra det är att jämföra NPV för de båda projekten.
Den här övningen är en del av kursen
Introduktion till finansiella begrepp i Python
Övningsinstruktioner
- Skapa en
numpy-array med kassaflödesvärdena för projekt 1 och tilldela den tillcash_flows_1, och gör sedan samma sak för projekt 2 och tilldela värdena tillcash_flows_2. - Beräkna nuvärdet (NPV) för både projekt 1 och projekt 2 med en antagen inflationstakt på 3 %.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
import numpy as np
# Create an array of cash flows for project 1
cash_flows_1 = np.array(____)
# Create an array of cash flows for project 2
cash_flows_2 = np.array(____)
# Calculate the net present value of project 1
investment_1 = np.npv(rate=____, values=____)
print("The net present value of Investment 1 is worth $" + str(round(investment_1, 2)) + " in today's dollars")
# Calculate the net present value of project 2
investment_2 = np.npv(rate=____, values=____)
print("The net present value of Investment 2 is worth $" + str(round(investment_2, 2)) + " in today's dollars")