初期プロジェクトコスト
numpy.npv(rate, values) 関数は、正と負の値の両方を渡せるため、とても強力です。
この演習では、キャッシュフローが異なる2つの候補プロジェクトの正味現在価値(NPV)を計算します。
| Year | Project 1 | Project 2 |
|---|---|---|
| 1 | -$250 (initial investment) | -$250 (initial investment) |
| 2 | $100 cash flow | $300 cash flow |
| 3 | $200 cash flow | -$250 (net investment) |
| 4 | $300 cash flow | $300 cash flow |
| 5 | $400 cash flow | $300 cash flow |
この例では、Project 1 は最初に $250 の投資のみが必要で、その後4年間は緩やかに増加するキャッシュフローを生み出します。
一方で Project 2 は、初期投資として $250、さらに3年目に追加投資 $250 が必要です。ただし Project 2 はより大きなキャッシュフローを生み出し続けます。
5年目以降はどちらのプロジェクトも追加のキャッシュフローを生まないと仮定すると、どちらを採用すべきでしょうか。最適な判断方法は、両プロジェクトの NPV を比較することです。
この演習はコースの一部です
Pythonで学ぶファイナンス入門
演習の手順
- Project 1 のキャッシュフロー値を
numpy配列として作成し、cash_flows_1に代入します。続いて Project 2 についても同様に作成し、cash_flows_2に代入します。 - インフレ率を 3% と仮定して、両プロジェクト(1 と 2)の正味現在価値を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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")