JSFiddle - React, Tailwind, and code Playground

HTML

<button id="psk">Посчитать пск!</button>

JavaScript

document.getElementById('psk').onclick = function () {
    var bp = 30;
    
    var values = [];
    values[0] = {
        Date: new Date(2014, 8, 01),
        Flow: -100000
    };
    values[1] = {
        Date: new Date(2014, 9, 01),
        Flow: 34002.21
    };
    values[2] = {
        Date: new Date(2014, 10, 01),
        Flow: 34002.21
    };
    values[3] = {
        Date: new Date(2014, 11, 01),
        Flow: 34002.21
    };

    var x0 = 0;
    var x1 = 0.0;
    var err = 1000000000000;
    var tol = 0.00001;

    var f_x = function (p, dt, dt0, x) {
        var pow = Math.floor(((dt - dt0) / (24 * 60 * 60 * 1000)) / bp);
        var ek = (((dt - dt0) / (24 * 60 * 60 * 1000)) % bp) / bp;
        return p / ((1.0 + ek * x) * Math.pow((1.0 + x), pow));
    };

    var df_x = function (p, dt, dt0, x) {
        var pow = Math.floor(((dt - dt0) / (24 * 60 * 60 * 1000)) / bp);
        var ek = (((dt - dt0) / (24 * 60 * 60 * 1000)) % bp) / bp;
        var r = p * (1.0 / Math.pow(1.0 + x, pow)) * (-ek / Math.pow(1.0 + ek * x, 2)) + p * (1.0 / (1.0 + ek * x)) * (-pow / Math.pow(1.0 + x, pow + 1.0));
        return r;
    };

    var total_f_x = function (values, x) {
        var resf = 0.0;
        for (var i = 0; i < values.length; i++) {
            var r = f_x(values[i].Flow, values[i].Date, values[0].Date, x);
            resf = resf + r;
        }
        return resf;
    }

    var total_df_x = function (values, x) {
        var resf = 0.0;
        for (var i = 0; i < values.length; i++) {
            var r = df_x(values[i].Flow, values[i].Date, values[0].Date, x);
            resf = resf + r;
        }
        return resf;
    }

    while (err > tol) {
        x1 = x0 - total_f_x(values, x0) / total_df_x(values, x0);
        err = Math.abs(x1 - x0);
        x0 = x1;
    }
        
    var cbp = Math.round(365 / bp);
    
    //считаем ПСК
    var psk = Math.floor(x0 * cbp * 100 * 1000) / 1000;

    //выводим ПСК
    alert("ПСК = " + psk + " %");
}