Cálculo del retraso de las medias móviles
Publicado: 02 Oct 2012 22:14
Sres. foristas,
Hace muchos meses que pregunté, en un post de un hilo de este foro, sobre cuál es el retraso de la media móvil exponencial (EMA en inglés).
Nadie me respondió. Sniff.
Pero hoy me he inspirado un poquitín y ya me atrevo a aventurar un cálculo teórico.
El retraso (lag) de la SMA(n) si que lo sabemos, es muy fácil:
Lag(SMA(n)) ≅ (n - 1) / 2 = (n - 1) * 0,5
Donde n es el período.
Ejemplo. El SMA de 5 días tiene un valor próximo al cierre de la antepenúltima barra ya que el lag es 2 ((5 - 1) / 2 = 4 / 2 = 2).
Pero ¿cuál es el retraso del EMA(n)?
Encontré en Internet una aproximación entre EMA (Exponential Moving Average - Media móvil exponencial) y WSA (Wilder Smoothing Average - Alisado de Wilder de la media móvil). (No sé como se justifica esta aproximación, pero me la creo, de momento).
WSA(n) ≃ EMA(2 * n - 1)
De esta expresión se deduce fácilmente esta otra aproximación:
EMA(n) ≃ WSA((n + 1) / 2)
Donde:
EMA(n) = (EMA(n, barra anterior) * (n - 1) + 2 * Cierre) / (n + 1)
WSA(n) = (WSA(n, barra anterior) * (n - 1) + Cierre) / n
Como bien sabemos, el lag de la EMA es inferior que el de la SMA. (Ya que el peso de la última barra en el EMA, 2 / (n + 1), es casi el doble que el peso de la última barra del SMA, 1 / n).
Pero fijémonos en otro detalle importante: el lag de la WSA es superior al de la SMA. ¿Cómo podemos ver esto?
El peso que tiene la última barra en el SMA y en la WSA es 1 / n. ¿Ok?
La barra última tiene el mismo peso en el SMA y en la WSA. ¿Ok?
De ahí deducimos que el SMA tiene menos lag que el WSA porque el SMA se pondera solo de la últimas n barras y el WSA se pondera sobre todas las barras del histórico. Disculpen que no me sepa expresar mejor.
Entonces podemos afirmar las siguiente cadena de igualdades, desigualdades y aproximaciones:
(n - 1) / 2 ≅ Lag(SMA(n)) > Lag(EMA(n)) ≃ Lag(WSA((n + 1) / 2)) > Lag(SMA((n + 1) / 2)) ≅ ((n + 1) / 2 - 1) / 2 = (n + 1 - 2) / 4 = (n - 1) / 4.
Bien, no sé calcular exactamente el Lag del EMA pero podemos conocer, aproximadamente en que intervalo está su valor:
(n - 1) / 4 < Lag(EMA(n)) < (n - 1) / 2.
Entonces, para minimizar el error, voy a suponer que está justo en el medio de dicho intervalo:
Lag(EMA(n)) ≃ ((n - 1) / 4 + (n - 1) / 2) / 2 = (n - 1 + 2 * n - 2) / 8 = (3 * n - 3) / 8 = (n - 1) * 3 / 8
Por tanto:
Lag(EMA(n)) ≃ (n - 1) * 3 / 8 = (n - 1) * 0,375
Y como ya sé calcular aproximadamente el lag del EMA, también puedo calcular aproximadamente el lag del WSA:
Lag(WSA(n)) ≃ Lag(EMA(2 * n - 1)) = ((2 * n - 1) - 1) * 3 / 8 = (2n - 2) * 3 / 8 = 2 * (n - 1) * 3 / 8 = (n - 1) * 3 / 4.
O sea:
Lag(WSA(n)) ≃ (n - 1) * 3 / 4 = (n - 1) * 0,75
(Curiosamente el Lag del WSA es aproximadamente el doble que el del EMA).
Bueno, esto es una aproximación de cálculo, no un cálculo exacto.
Se podría estudiar empíricamente el lag de una exponencial. Si alguien se anima y quiere exponer su estudio, ¡adelante!
Saludos.
Hace muchos meses que pregunté, en un post de un hilo de este foro, sobre cuál es el retraso de la media móvil exponencial (EMA en inglés).
Nadie me respondió. Sniff.
Pero hoy me he inspirado un poquitín y ya me atrevo a aventurar un cálculo teórico.
El retraso (lag) de la SMA(n) si que lo sabemos, es muy fácil:
Lag(SMA(n)) ≅ (n - 1) / 2 = (n - 1) * 0,5
Donde n es el período.
Ejemplo. El SMA de 5 días tiene un valor próximo al cierre de la antepenúltima barra ya que el lag es 2 ((5 - 1) / 2 = 4 / 2 = 2).
Pero ¿cuál es el retraso del EMA(n)?
Encontré en Internet una aproximación entre EMA (Exponential Moving Average - Media móvil exponencial) y WSA (Wilder Smoothing Average - Alisado de Wilder de la media móvil). (No sé como se justifica esta aproximación, pero me la creo, de momento).
WSA(n) ≃ EMA(2 * n - 1)
De esta expresión se deduce fácilmente esta otra aproximación:
EMA(n) ≃ WSA((n + 1) / 2)
Donde:
EMA(n) = (EMA(n, barra anterior) * (n - 1) + 2 * Cierre) / (n + 1)
WSA(n) = (WSA(n, barra anterior) * (n - 1) + Cierre) / n
Como bien sabemos, el lag de la EMA es inferior que el de la SMA. (Ya que el peso de la última barra en el EMA, 2 / (n + 1), es casi el doble que el peso de la última barra del SMA, 1 / n).
Pero fijémonos en otro detalle importante: el lag de la WSA es superior al de la SMA. ¿Cómo podemos ver esto?
El peso que tiene la última barra en el SMA y en la WSA es 1 / n. ¿Ok?
La barra última tiene el mismo peso en el SMA y en la WSA. ¿Ok?
De ahí deducimos que el SMA tiene menos lag que el WSA porque el SMA se pondera solo de la últimas n barras y el WSA se pondera sobre todas las barras del histórico. Disculpen que no me sepa expresar mejor.
Entonces podemos afirmar las siguiente cadena de igualdades, desigualdades y aproximaciones:
(n - 1) / 2 ≅ Lag(SMA(n)) > Lag(EMA(n)) ≃ Lag(WSA((n + 1) / 2)) > Lag(SMA((n + 1) / 2)) ≅ ((n + 1) / 2 - 1) / 2 = (n + 1 - 2) / 4 = (n - 1) / 4.
Bien, no sé calcular exactamente el Lag del EMA pero podemos conocer, aproximadamente en que intervalo está su valor:
(n - 1) / 4 < Lag(EMA(n)) < (n - 1) / 2.
Entonces, para minimizar el error, voy a suponer que está justo en el medio de dicho intervalo:
Lag(EMA(n)) ≃ ((n - 1) / 4 + (n - 1) / 2) / 2 = (n - 1 + 2 * n - 2) / 8 = (3 * n - 3) / 8 = (n - 1) * 3 / 8
Por tanto:
Lag(EMA(n)) ≃ (n - 1) * 3 / 8 = (n - 1) * 0,375
Y como ya sé calcular aproximadamente el lag del EMA, también puedo calcular aproximadamente el lag del WSA:
Lag(WSA(n)) ≃ Lag(EMA(2 * n - 1)) = ((2 * n - 1) - 1) * 3 / 8 = (2n - 2) * 3 / 8 = 2 * (n - 1) * 3 / 8 = (n - 1) * 3 / 4.
O sea:
Lag(WSA(n)) ≃ (n - 1) * 3 / 4 = (n - 1) * 0,75
(Curiosamente el Lag del WSA es aproximadamente el doble que el del EMA).
Bueno, esto es una aproximación de cálculo, no un cálculo exacto.
Se podría estudiar empíricamente el lag de una exponencial. Si alguien se anima y quiere exponer su estudio, ¡adelante!
Saludos.