内部收益率(Internal Rate of Return,简称IRR)是指使投资项目的净现值(NPV)等于零的折现率。在JavaScript中计算IRR可以通过迭代方法来实现。以下是一个简单的JavaScript函数,用于计算IRR:
function calculateIRR(cashFlows, guess = 0.1, maxIterations = 100, tolerance = 1e-7) {
let iteration = 0;
let npv;
let irr = guess;
do {
iteration++;
npv = 0;
for (let i = 0; i < cashFlows.length; i++) {
npv += cashFlows[i] / Math.pow(1 + irr, i);
}
let irrNew = irr + (npv > 0 ? -guess : guess) / (npv / Math.abs(npv));
if (Math.abs(irrNew - irr) < tolerance) {
return irrNew;
}
irr = irrNew;
} while (iteration < maxIterations);
throw new Error('IRR calculation did not converge');
}
// 示例现金流
const cashFlows = [-1000, 200, 300, 400, 500]; // 第一个值是初始投资,后续是每年的现金流
try {
const irr = calculateIRR(cashFlows);
console.log(`IRR is ${irr.toFixed(4) * 100}%`);
} catch (error) {
console.error(error.message);
}
IRR是评估投资项目盈利能力的一个重要指标。它反映了项目投资的实际收益率,考虑了资金的时间价值。
IRR通常分为两种类型:
IRR广泛应用于项目投资决策、资本预算、贷款偿还分析等领域。
通过上述方法和示例代码,可以在JavaScript中实现IRR的计算,并应用于实际的项目投资决策中。
领取专属 10元无门槛券
手把手带您无忧上云