Расчет будущей стоимости с использованием сложных процентов с помощью JavaScript - PullRequest
4 голосов
/ 17 января 2011

Я пытаюсь работать над сценарием, где пользователь вводит ежемесячный доход и получает будущую стоимость с сложным процентом через 30 лет. Как и сейчас, я назначил некоторые значения для тестирования.

// Future Value
var investment = 800;
var annualRate = 2;
var monthlyRate = annualRate / 12 / 100;
var years = 30;
var months = years * 12;
var futureValue = 0;

for ( i = 1; i <= months; i++ ) {
    futureValue = futureValue + investment * Math.pow(1 + monthlyRate, months);
}

Проблема в том, что я на самом деле строю это из электронной таблицы Excel, которая использует встроенную формулу FV (), и при перекрестной проверке мои результаты полностью отключены ... Любая идея, что я делаю неправильно, так как Я не в финансовую математику вообще. Заранее спасибо.

Ответы [ 3 ]

8 голосов
/ 17 января 2011

Math.pow не требуется, поскольку вы вычисляете и увеличиваете futureValue месяц за месяцем.Просто умножьте на 1 + monthlyRate.Вы также хотите добавить текущую стоимость инвестиции в новую инвестицию перед умножением:

for ( i = 1; i <= months; i++ ) {
   futureValue = (futureValue + investment) * (1 + monthlyRate);
}

Кроме того, вы также можете рассчитать это за один раз по следующей формуле:

futureValue = investment * (Math.pow(1 + monthlyRate, months) - 1) / monthlyRate;
0 голосов
/ 19 декабря 2015

Это мой способ написания кода для сложных процентов

function call()
    {
        var A = Principle;
        var B = Interest;
        var C = Years;
        var D = 0;
        var E = A*B/100;
        D+=E;
        var f=E+A;
        document.write("0 year: Interest "+E+" Principal: "+f);
        document.write("<br />");
        for (var i=1; i<C; i++)
        {
            E=f*B/100;
            D+=E;
            f=E+f;
            document.write(i+"year: Interest "+E+" Principal:"+f);
            document.write("<br />");
        }

    return false;
    }
0 голосов
/ 25 февраля 2014
function FVcalc(PresentAmount,InterestRate,NumberOfYears) {
    var timescompound = 1;
    var AnnualInterestRate = (InterestRate/100)/timescompound;
    var Years= NumberOfYears

    var Periods=timescompound*Years;
    var NumPayments=Periods;
    var Prin=PresentAmount;

    MonthPayment=Math.floor((Prin)*(Math.pow((1+AnnualInterestRate),(Periods)))*100)/100;
    FVFactor=(Math.pow((1+AnnualInterestRate),(Periods)))
    return MonthPayment
}

http://www.uic.edu/classes/actg/actg500/pfvatutor.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...