1

我尝试在C# .NET Core 2.2项目中计算内部收益率 (IRR) 。

有没有我可以使用的内置公式?

从此处提供的 MSDN 文档中,您应该能够将 VisualBasic 命名空间及其财务公式导入 .NET Framework 项目。

但是,尝试在 .NET Core 项目中这样做,我没有从 Microsoft.VisualBasic 包中获得任何有用的方法。

任何提示(除了从头开始编码整个算法)?

4

2 回答 2

3

除非您使用.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);
于 2019-09-19T09:48:52.727 回答
2

底线是,正如@cdev 所发现的,除非您切换到 .NET Core 3.0 Preview ,否则没有内置公式

但是,作为一种解决方法,我找到了一个 Nuget 包,它包装了 Excel 财务函数库:来自 Luca Bolognese 的 ExcelFinancialFunctions并包含一个 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;
    }
于 2019-09-19T09:59:34.467 回答