Как рассчитать внутреннюю норму прибыли (IRR) в .NET Core - PullRequest
1 голос
/ 19 сентября 2019

Я пытаюсь вычислить Внутреннюю норму прибыли (IRR) в C # .NET Core 2.2 проекте.

Есть ли какая-нибудь встроенная формула, которую ямогли бы использовать?

Из документации MSDN, доступной здесь , вы сможете импортировать пространство имен VisualBasic и его финансовые формулы в проект .NET Framework.

Но, пытаясь сделать это в .NET Core Project, я не получаю ни одного полезного метода из пакета Microsoft.VisualBasic.

Любая подсказка (кроме кодирования с нуля в целом)алгоритм)?

Ответы [ 2 ]

3 голосов
/ 19 сентября 2019

Нет встроенной формулы, если вы не используете .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);
1 голос
/ 19 сентября 2019

Суть в том, что, как обнаружил @cdev, нет встроенной формулы, если вы не переключитесь на .NET Core 3.0 Preview .

Но в качестве обходного пути я нашелПакет Nuget, который включает библиотеку финансовых функций Excel: ExcelFinancialFunctions от 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;
    }
...