如何在 .NET Core 中计算 Return 的内部利率 (IRR)
How to calculate Internal Rate of Return (IRR) in .NET Core
我尝试在 C# .NET Core 2.2 项目中计算 Return 的内部速率 (IRR)。
有没有我可以使用的内置公式?
根据可用的 MSDN 文档 here,您应该能够将 VisualBasic 命名空间及其财务公式导入 .NET Framework 项目。
但是,在 .NET Core 项目中尝试这样做,我没有从 Microsoft.VisualBasic 包中获得任何有用的方法。
任何提示(除了从头开始编写整个算法)?
没有内置公式,除非您使用 .NET Core 3.0 Preview 9
double[] values = new double[] { -70000, 22000, 25000, 28000, 31000 };
//// values[0] - Business start-up costs.
//// values[1-n] - Positive cash flows reflecting income for four successive years.
//// Guess starts at 10 percent.
double guess = 0.1;
double CalcRetRate = Financial.IRR(values, guess);
最重要的是,正如@cdev 所发现的那样,除非您切换到 .NET Core 3.0 预览版,否则没有内置公式。
但是,作为一种解决方法,我找到了一个 Nuget 包,它包装了 Excel 金融函数库:ExcelFinancialFunctions from Luca Bolognese 并包含一个 IRR 方法。
然后,就变得简单了:
private double ComputeIRR()
{
double[] cashFlows = new double[]{-1000,100,100,1200}; //should contain at least one negative and one positive value
double irr = Financial.Irr(cashFlows);
return irr;
}
我尝试在 C# .NET Core 2.2 项目中计算 Return 的内部速率 (IRR)。
有没有我可以使用的内置公式?
根据可用的 MSDN 文档 here,您应该能够将 VisualBasic 命名空间及其财务公式导入 .NET Framework 项目。
但是,在 .NET Core 项目中尝试这样做,我没有从 Microsoft.VisualBasic 包中获得任何有用的方法。
任何提示(除了从头开始编写整个算法)?
没有内置公式,除非您使用 .NET Core 3.0 Preview 9
double[] values = new double[] { -70000, 22000, 25000, 28000, 31000 };
//// values[0] - Business start-up costs.
//// values[1-n] - Positive cash flows reflecting income for four successive years.
//// Guess starts at 10 percent.
double guess = 0.1;
double CalcRetRate = Financial.IRR(values, guess);
最重要的是,正如@cdev 所发现的那样,除非您切换到 .NET Core 3.0 预览版,否则没有内置公式。
但是,作为一种解决方法,我找到了一个 Nuget 包,它包装了 Excel 金融函数库:ExcelFinancialFunctions from Luca Bolognese 并包含一个 IRR 方法。
然后,就变得简单了:
private double ComputeIRR()
{
double[] cashFlows = new double[]{-1000,100,100,1200}; //should contain at least one negative and one positive value
double irr = Financial.Irr(cashFlows);
return irr;
}