3 votos

¿Cómo puedo calcular una media móvil simple de los precios de las acciones?

Para dar un poco de contexto, esto es para una programación de la asignación en la escuela por lo que la forma más simple de una adecuada promedio móvil es todo lo que se necesita. He buscado de todo y se ve la suma de las fórmulas y todas esas cosas buenas, pero todavía estoy un poco confuso en el algoritmo.

Supongamos que yo soy actual de visualización de 30 días el valor de la información para la acción (FDX), de 4/25/11 - 6/6/11. Naturalmente, el eje x representa un intervalo de tiempo y el eje y es mi precio de cierre. Ahora, tengo que mostrar una media móvil simple. De ahí es de donde puedo conseguir un poco confundido. Para obtener la media móvil de 4/25/11 hacer acabo de volver de 30 días a partir de que, la suma de esos 30 días, dividido por 30 y que será de mi "precio de cierre" o "y punto"? Si lo que significa que la media móvil de 6/6 incluirá todos los puntos de datos de hasta 4/25 y también 4/21 (4/25 debe haber sido un lunes)?

3voto

albwq Puntos 1215

Los 30 días de media móvil para un determinado día sería la suma de los precios de cierre de los 30 días anteriores, dividido por 30.

Así, por 4/25, que sería la suma de los precios de 3/24 a 4/25 y dividir por 30.

Para 4/26, que sería la suma de los precios de 3/25 a 4/26 y dividir por 30.

Para 4/27, que sería la suma de los precios de 3/26 a 4/27 y dividir por 30.

etc...

Veo que usted está tratando de escribir un programa para hacer esto. Me gustaría publicar aquí el código, pero que probablemente no sería apropiado. Usted puede ser mejor pedir más en stackoverflow.com si usted necesita ayuda con los detalles de la implementación.

1voto

mvanbem Puntos 46

El moving parte de la media móvil significa que el período utilizado para calcular la cual se mueve. Por ejemplo, si su base de datos (D) es como sigue, y están haciendo una media móvil (A) con un periodo de 3, esto es lo que usted obtendrá:

D A

1 0

2 0

3 2

2 2.3

3 2.6

4 3

2 3

Así, el cálculo del promedio ignora el promedio anterior cálculos se basan únicamente en los datos.

0voto

tobes Puntos 19

Cuando la configuración de una hoja de cálculo, sólo la lista de precios en una columna vertical. En la siguiente columna, seleccione la celda junto a la N-ésima entrada (donde N es decir 30, para su 30 días de media), a continuación, simplemente calcular el promedio de las células adyacentes y antes de N días. Cuando "relleno" de la ecuación de cambio de las células que se utiliza para calcular siempre el uso de la celda adyacente y antes de N de las células.

0voto

dmeister Puntos 11529

Ver la media móvil Simple en la Wikipedia, que proporciona una ecuación que puede ser fácilmente traducido a código.

-2voto

karim Puntos 45
MyLib.getSimpleMovingAverage = function (closes, mvg, idx) {

  for (n = 0; n < closes.length; n++) {
    if (n > 0) {
        if (closes[n] == null && closes[n - 1] != null) {
            closes[n] = closes[n - 1]
        }
    }
  }

  if (idx > mvg) {

    start = idx - mvg;
    end = (idx + 1)
    narr = closes.slice(start, end)
    var total = narr.reduce(function (sum, value) { return sum + value }, 0);
    return parseFloat(total / narr.length)

  } else {
    start = 0;
    end = (idx + 1)
    narr = closes.slice(start, end)
    var total = narr.reduce(function (sum, value) { return sum + value }, 0);
    return parseFloat(total / narr.length)
  }
}

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X