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;