Javascript IRR (Внутренняя норма доходности) Точность формулы

m используя функцию IRR в javascript, чтобы создать вычисление, которое выполняется в Excel, используя свою собственную функцию IRR. Проблема в том, что у меня мало проблем, и я понятия не имею, почему. Вот'с кодом ниже.

var IRRval = [];

IRRval.push(-financed);
for (i = 0; i < period; i++) {
    IRRval.push(rental);
}

var IRR = IRRCalc(IRRval, 0.001) * 0.01;

function IRRCalc(CArray, guest) {
    inc = 0.000001;
    do {
        guest += inc;
        NPV = 0;
        for (var j=0; j < CArray.length; j++) {
            NPV += CArray[j] / Math.pow((1 + guest), j);
        }
    } while (NPV > 0);
    return guest * 100;
}

Теперь, если вы используете эти цифры:

Период 24

Финансировано 22000

Аренда 1017.5000

Мой результат: 0.008523000000000175

Excel Результат: 0.008522918

ИЛИ ЖЕ

Период 42

Финансировано 218000

Аренда 5917.1429

Мой результат: 0.006247000000000489

Excel Результат: 0.00624616

Функция Excel называется:=IRR(T12:T73,0.01) Т12-Т73 такие же цифры у меням с помощью.

Любая помощь будет высоко ценится, спасибо Джейсон

UPDATEI»

мы решили это путем изменения значений ниже. Но сейчас производительность слишком низкая. Есть идеи как это улучшить?

IRRCalc(IRRval, 0.001)

//to

IRRCalc(IRRval, 0.0001)

inc = 0.000001;

//to

inc = 0.00000001;

Ответы на вопрос(6)

Ваш ответ на вопрос