UNPKG

ziko

Version:

A versatile JavaScript library offering a rich set of Hyperscript Based UI components, advanced mathematical utilities, interactivity ,animations, client side routing and more ...

34 lines (32 loc) 772 B
// Simple Moving Average export const sma = (X, w) =>{ let r = []; for (let i = 0; i <= X.length - w; i++) { let s = 0; for (let j = 0; j < w; j++) s += X[i + j]; r.push(s / w); } return r; } // exponential Moving Average export const ema = (X, alpha) =>{ let r = [], prev = X[0]; r.push(prev); for (let i = 1; i < X.length; i++) { prev = alpha * X[i] + (1 - alpha) * prev; r.push(prev); } return r; } // weightedMovingAverage export const wma = (X, weights) =>{ let k = weights.length; let sw = weights.reduce((a,b)=>a+b, 0); let r = []; for (let i = 0; i <= X.length - k; i++) { let s = 0; for (let j = 0; j < k; j++) s += X[i+j] * weights[j]; r.push(s / sw); } return r; }