正味現在価値の計算
以下は、Java を使用して 8% および 12% の割引率で各プロジェクトの正味現在価値 (NPV) を計算する実装例です。
実装コード(Java):
package com.example.npv;
import java.math.BigDecimal;
public class NetPresentValueCalculator {
public static void main(String[] args) {
// 各プロジェクトのキャッシュフロー
int[] project1 = {-100000, 10000, 10000, 10000, 20000, 100000};
int[] project2 = {-1000000, 200000, 200000, 200000, 200000, 300000};
int[] project3 = {-100000, 30000, 30000, 30000, 30000, 30000};
int[] project4 = {-120000, 30000, 30000, 30000, 30000, 75000};
// 割引率
double[] discountRates = {0.08, 0.12};
double[][] discountFactors = new double[2][6];
// 割引係数の計算
for (int i = 0; i < discountRates.length; i++) {
for (int j = 0; j < project1.length; j++) {
discountFactors[i][j] = 1 / Math.pow(discountRates[i] + 1, j);
BigDecimal rounded = new BigDecimal(discountFactors[i][j]).setScale(4, BigDecimal.ROUND_HALF_UP);
discountFactors[i][j] = rounded.doubleValue();
}
}
// 割引係数の出力
for (int i = 0; i < discountFactors.length; i++) {
for (int j = 0; j < 6; j++) {
System.out.println((i == 0 ? "8% 割引率 " : "12% 割引率 ") + j + " 年目: " + discountFactors[i][j]);
}
}
// 各プロジェクトの NPV 計算
int[] result1 = calculateNpv(project1, discountFactors);
int[] result2 = calculateNpv(project2, discountFactors);
int[] result3 = calculateNpv(project3, discountFactors);
int[] result4 = calculateNpv(project4, discountFactors);
// 結果の出力
System.out.println("プロジェクト 1 の NPV: 8% = " + result1[0] + ", 12% = " + result1[1]);
System.out.println("プロジェクト 2 の NPV: 8% = " + result2[0] + ", 12% = " + result2[1]);
System.out.println("プロジェクト 3 の NPV: 8% = " + result3[0] + ", 12% = " + result3[1]);
System.out.println("プロジェクト 4 の NPV: 8% = " + result4[0] + ", 12% = " + result4[1]);
}
// NPV 計算メソッド
private static int[] calculateNpv(int[] cashFlows, double[][] discountFactors) {
int[] npvResults = new int[2];
for (int i = 0; i < 2; i++) {
int totalNpv = 0;
for (int j = 0; j < cashFlows.length; j++) {
totalNpv += (int) (cashFlows[j] * discountFactors[i][j]);
}
npvResults[i] = totalNpv;
}
return npvResults;
}
}
実行結果の例:
各プロジェクトの正味現在価値 (NPV) は以下のようになります。
8% 割引率 0 年目: 1.0 8% 割引率 1 年目: 0.9259 8% 割引率 2 年目: 0.8573 8% 割引率 3 年目: 0.7938 8% 割引率 4 年目: 0.735 8% 割引率 5 年目: 0.6806 12% 割引率 0 年目: 1.0 12% 割引率 1 年目: 0.8929 12% 割引率 2 年目: 0.7972 12% 割引率 3 年目: 0.7118 12% 割引率 4 年目: 0.6355 12% 割引率 5 年目: 0.5674 プロジェクト 1 の NPV: 8% = 2050, 12% = -1996 プロジェクト 2 の NPV: 8% = -114860, 12% = -212470 プロジェクト 3 の NPV: 8% = 26810, 12% = 11700 プロジェクト 4 の NPV: 8% = 12545, 12% = 345