Re: Cálculo del retraso de las medias móviles
Publicado: 18 Ene 2018 14:55
X-Trader.Rafa7 escribió:Ok, X-Trader.X-Trader escribió: En cualquier caso, todo esto lógicamente afecta al resultado y lo hace bastante diferente de una SMA por lo que dudo mucho de que en el límite el lag de ambas sea igual.
Revisaré a fondo el cálculo de la EMA, y, en particular, el cálculo de la EMA estándar. Tal vez he cometido algún error aritmético. A mí también me cuesta creer que el lag de la EMA estándar converja al lag de la SMA.
Gracias.
He vuelto a calcular el lag de la EMA y me da exactamentwe el mismo resultado.
Me hubiera gustado encontrar un error en mi demostración porque a mí también me cuesta creer que el lag de la EMA estándar pueda converger en el lag de la SMA.
Vuelvo a poner la demostración en este mismo aporte. Y, te pido que la revises. (Comprendo que no lo hagas porque no tengas tiempo o ganas. Si lo haces, mil gracias).
Supuestos:
EMA = a * C + (1 - a) * EMA[1]
Donde 0 <= a <= 1.
Y supongamos que tenemos infinitas velas en el histórico.
***
EMA = a * C + (1 - a) * EMA[1] =
a * C + (1 - a) * (a * C[1] + (1 - a) * EMA[2]) =
a * C + a * (1 - a) * C[1] + (1 - a)^2 * EMA[2] =
a * C + a * (1 - a) * C[1] + (1 - a)^2 * (a * C[2] + (1 - a) * EMA[3]) =
a * C + a * (1 - a) * C[1] + a * (1 - a)^2 * C[2] +(1 - a)^3 * EMA[3] =
sum(a * (1 - a)^i * C; i >= 0) =
a * sum((1 - a)^i * C; i >= 0)
Voy a hacer un cálculo de la suma de coeficientes que nos será últil
a * sum((1 - a)^i; i >= 0) = a * 1 / (1- (1 - a)) = 1
Por tanto
EMA - C =
a * sum((1 - a)^i * C; i >= 0) - C * a * sum((1 - a)^i; i >= 0) =
a * (sum((1 - a)^i * C; i >= 0) - sum(C * (1 - a)^i; i >= 0)) =
a * sum((1 - a)^i * (C - C); i >= 0)
Por tanto:
lag =
a * sum(i * (1 - a)^i; i >= 0) =
a * sum(i * (1 - a)^i; i >= 1) =
a * sum((i + 1) * (1 - a)^(i + 1); i >= 0) =
a * (1 - a) * sum((i + 1) * (1 - a)^i; i >= 0) =
a * (1 - a) * (sum(i * (1 - a)^i; i >= 0) + sum((1 - a)^i; i >= 0)) =
(1 - a) * (lag + a * (1 / (1 - (1 - a)))) =
(1 - a) * (lag + 1) =
(1 - a) / (1 - (1 - a)) =
(1 - a) / a
Ahora tomemos a = 2 / (n + 1). EMA(a) sería la EMA-estándar(n).
lag(EmaEstándar(n)) =
(1 - (2 / (n + 1))) / (2 / (n + 1)) =
(n + 1 - 2) / 2 =
(n - 1) / 2 =
lag(SMA(n))
X-Trader, ¿Algún error? ¿Hay algún paso de la demostración que no estés seguro que sea correcto?
¿Es correcto afirmar que si tuviéramos infinitas velas en el histórico la EMA-estándar(n) tiene el mismo lag que la SMA(n)?
¿Podemos afirmar que la EMA estándard(n) tiene menos lag que la SMA(n) porque no tenemos un número infinito de velas en el histórico?
¿Cómo interpretas el resultado?
Gracias.