Se muestran varios gráficos estadísticos en una tableta

Hola amig@s, hoy voy a compartir un tip de programación que he tenido que implementar en una aplicación estadística. Os voy a enseñar cómo implementar una media móvil simple (Simple Moving Average) con JavaScript. El algoritmo es exactamente el mismo que ya utilizamos en el post Medias móviles simples con GNU Octave, pero traducido a JavaScript.

Por si no lo sabes, una media móvil (Moving Average) es una herramienta estadística que sirve para suavizar gráficos y detectar tendencias de gráficos como los de las cotizaciones de las acciones, la evolución de un stock, el número de unidades vendidas de un producto determinado durante un periodo de tiempo, etc.

/**
 * Returns a Simple Moving Average
 *
 * @param {Array} source Source array
 * @param {number} period MA period
 * @returns {Array} sma MA array
 */
function ma(source,period) {
    var sum = 0;
    var sma = new Array(source.length);
    for (var i=0; i<source.length; i++)
    {
        if (i >= period)
        {
            for (var j=0;j<period-1;j++)
            {
                sum = sum + source[i-j];
            }
            sma[i] = Math.round(sum/period);
            sum = 0;
        }
        else
        {
            sma[i] = null;
        }
    }        
    return sma;
}

alert(ma([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],5));

El código JavaScript está disponible en JSFiddle.

Espero que el tip de hoy te guste y lo encuentres de utilidad. ¡Un saludo!

También te puede interesar leer esto...

Previous Post Next Post