4 votos

¿Cuál es el tamaño mínimo de los datos históricos para obtener una EMA/ MACD precisa para el último punto histórico?

Actualmente, tengo datos del historial de 10 años.

La mayoría de las veces, sólo me interesa obtener la EMA/ MACD para el último punto de la historia (significa el punto de ayer). En lugar de utilizar toda la historia de 10 años, sólo me gustaría proporcionar N puntos de datos, para el cálculo rápido, sin embargo, obtener un EMA precisa razonable. Actualmente, esta es la manera de determinar cuántos datos N.

9 days SMA lookback = 8
9 days EMA lookback = 8
9 days 12/26 MACD lookback = 33

final int scale = 2;
startIndex = historyDataSize - ((lookback + 1) * scale);
for (int i = startIndex; i < historyDataSize; i++) {
    // ...
}

Sé que puedo aumentar aún más scale para obtener un resultado razonablemente bueno de EMA/ MACD. La pregunta es, ¿qué tan grande debo aumentar, para el propósito de cálculo rápido, sin embargo, razonable precisa?

4voto

Simon Puntos 416

Implementé estos algoritmos hace apenas unos meses. Yo sólo duplicaría el número de puntos de datos que necesita. Si necesita una EMA de 10 días, tome 20 puntos de datos. Para el MACD, necesitas la EMA, así que súmalos y duplícalos. Aquí está el algoritmo, incluyendo una hoja de cálculo de Excel que se puede comparar con:

http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages

Afirman en sus gráficos que utilizan más de 200 días para la precisión, pero recuerde que los precios de las acciones sólo tienen 2 decimales, y normalmente 4 dígitos significativos, con un máximo de 4 decimales para las acciones de centavo. Así que usted no necesitaría nada más preciso que 2 decimales la mayor parte del tiempo. El deslizamiento sería más importante.

Si quiere ser súper preciso, y tener una "escala" o "lookback" dinámico, puede calcular el indicador utilizando muestras de "escala" o de historia exponencialmente mayores (x2, x4, x8, ...) hasta que la diferencia entre los resultados finales esté dentro de 4 dígitos significativos entre sí. Entonces no necesitaría más precisión. Podría hacer esto cada vez o 'calibrarlo' usando quizás un año de datos para todo el mercado, y tomar la media de su 'escala'.

2voto

Joe Puntos 178

No debe volver a calcular su EMA - simplemente mantenga sus valores antiguos, y aplique su fórmula EMA al último valor a actualizar.

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