UNPKG

@bmancini55/finance

Version:

Finance utilities for JavaScript

75 lines 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calcZScore = exports.calcStdDev = exports.calcVariance = exports.calcDeviance = exports.calcMean = exports.calcSum = void 0; /** * Calculates the sum of a vector */ function calcSum(vals) { let sum = 0; for (const val of vals) { sum += val; } return sum; } exports.calcSum = calcSum; /** * Calculates the mean of a list a vector */ function calcMean(vals) { const sum = calcSum(vals); return sum / vals.length; } exports.calcMean = calcMean; /** * Calculates the deviance of each value from the mean * @returns deviance off mean */ function calcDeviance(vals, mean) { if (mean === undefined) { mean = calcMean(vals); } const devs = new Array(vals.length); for (let i = 0; i < vals.length; i++) { devs[i] = vals[i] - mean; } return devs; } exports.calcDeviance = calcDeviance; /** * Calculates the variance for a set of numbers * @param vals vector of values * @param devs optional deviance of each value * @param mean optional mean * @returns variance for values */ function calcVariance(vals, devs, mean) { if (!devs) { devs = calcDeviance(vals, mean); } let sum = 0; for (let i = 0; i < devs.length; i++) { sum += Math.pow(devs[i], 2); } const n = devs.length - 1; return sum / n; } exports.calcVariance = calcVariance; /** * Calculates the standard deviation for a set of values */ function calcStdDev(vals, variance) { if (variance === undefined) { variance = calcVariance(vals); } return Math.sqrt(variance); } exports.calcStdDev = calcStdDev; /** * Returns the z-score for a given value against the mean and standard * deviation */ function calcZScore(x, mean, stddev) { return (x - mean) / stddev; } exports.calcZScore = calcZScore; //# sourceMappingURL=stats-basic.js.map