Respuesta directa: la regla de actualización de la McGinley Dynamic
La McGinley Dynamic se calcula actualizando un valor de media móvil en cada nuevo paso de tiempo utilizando el valor anterior de McGinley y el precio actual. En su forma común, la actualización se puede escribir como:
McGinley(i) = McGinley(i−1) + (P(i) − McGinley(i−1)) / [N · (P(i)/McGinley(i−1))^4]
Donde:
- i es el índice de tiempo actual (por ejemplo, la siguiente vela/barra).
- P(i) es el precio de entrada seleccionado en el tiempo i (comúnmente el cierre, pero puede ser otro campo de precio consistente).
- McGinley(i−1) es el valor de la McGinley Dynamic previamente calculado.
- N (a menudo llamado “período” o “longitud”) controla la capacidad de respuesta.
- ( )^4 significa la cuarta potencia.
Esta definición es un mecanismo (una actualización matemática determinista), no una garantía de resultados comerciales.
Mecanismo o definición: qué hace la fórmula
Una media móvil estándar (como una media móvil simple) se actualiza con un factor de suavizado fijo. La McGinley Dynamic, en cambio, utiliza un paso de suavizado que se adapta a la distancia entre el precio y la media anterior.
En la regla de actualización anterior:
- El término (P(i) − McGinley(i−1)) representa la distancia entre el precio actual y el valor anterior de McGinley.
- El denominador N · (P(i)/McGinley(i−1))^4 escala ese ajuste de distancia.
Así, cuando P(i) está relativamente cerca de McGinley(i−1), el ratio P(i)/McGinley(i−1) está más cerca de 1, y el efecto de adaptación es menor. Cuando P(i) está más lejos, el ratio se aleja de 1, y la cuarta potencia amplifica el efecto. Esto hace que la actualización se comporte como una media que cambia su “velocidad” dependiendo de cuán estirado esté el precio actual respecto a la media actual.
Parámetros y entradas que debes elegir
Para calcularla tú mismo, necesitas definir cuatro cosas:
- Serie temporal y paso de tiempo: ¿La estás calculando en barras de 1 minuto, barras de 1 hora, barras diarias, etc.? La secuencia debe ser consistente.
- Serie de precios de entrada P(i): Elige un campo de precio (por ejemplo, cierre a cierre). Tu elección debe ser consistente en todos los i.
- N (longitud/período): Elige un valor numérico. Diferentes valores de N cambian la capacidad de respuesta.
- Valor inicial McGinley(0): La fórmula utiliza el valor anterior de McGinley, por lo que necesitas un punto de partida. Muchas implementaciones establecen el primer valor de McGinley al primer precio disponible o a una estimación inicial de media móvil; debes replicar el método que intentes reproducir.
Evidencia o ejemplo: un cálculo paso a paso con supuestos explícitos
Debido a que la McGinley Dynamic es determinista dados los insumos, puedes verificar tu comprensión realizando una o más actualizaciones manualmente.
Supongamos lo siguiente (estos son supuestos de ejemplo para demostración, no afirmaciones de mercado):
- Calculas en una serie temporal discreta i = 1, 2, 3, …
- Usas P(i) como el precio seleccionado (digamos, “cierre”), medido en las mismas unidades en cada paso.
- Eliges N = 10.
- Estableces un valor inicial McGinley(0) = P(0).
Ahora calcula el siguiente paso, i = 1:
- Lee P(1).
- Toma McGinley(0) de la regla inicial.
- Calcula el ratio R = P(1) / McGinley(0).
- Calcula el denominador D = N · R^4.
- Calcula la actualización:
- McGinley(1) = McGinley(0) + (P(1) − McGinley(0)) / D.
Repite para i = 2 usando el valor McGinley(1) recién calculado.
Notas importantes para la verificación independiente
- Las unidades deben ser consistentes: dado que divides P(i) entre McGinley(i−1), ambos deben representar el mismo tipo de medición de precio.
- Evita los ceros: si McGinley(i−1) es cero, el ratio y la cuarta potencia quedan indefinidos. Las implementaciones prácticas dependen de datos de precios que normalmente se mantienen distintos de cero, pero debes ser consciente de este modo de fallo matemático.
- Existen diferencias de implementación: dos plataformas pueden mostrar “McGinley Dynamic” pero usar convenciones diferentes (por ejemplo, cómo inicializan el primer valor, o si aplican la fórmula exactamente como se muestra arriba). Tu verificación independiente debe confirmar la inicialización y el manejo de N.
Limitaciones y riesgos: cuándo el cálculo puede engañar o comportarse inesperadamente
El cálculo de la McGinley Dynamic no es una garantía de calidad. Aunque la regla de actualización es precisa, su uso puede estar limitado por supuestos de modelado.
1) Sensibilidad a las elecciones (entradas e inicialización)
Debido a que la fórmula utiliza tanto P(i) como McGinley(i−1), la trayectoria del indicador puede cambiar si:
- eliges un precio de entrada diferente (cierre vs. precio típico),
- eliges un N diferente, o
- comienzas desde un McGinley(0) diferente.
Esto no es un error; es una consecuencia de la fórmula adaptativa.
2) Comportamiento en movimientos bruscos
El factor de adaptación depende de (P(i)/McGinley(i−1))^4. En un cambio repentino de régimen donde P(i) se mueve bruscamente en relación con McGinley(i−1), la cuarta potencia puede hacer que el denominador cambie rápidamente, produciendo actualizaciones que pueden:
- retrasarse respecto al nuevo nivel (aún “poniéndose al día”), o
- reaccionar de una manera que se siente no lineal en comparación con las medias de suavizado fijo.
Para verificar, puedes probar recalculando la secuencia alrededor de un gran salto y observando cuánto se desplaza el denominador.
3) Casos límite matemáticos
Los modos de fallo potenciales incluyen:
- Ratios indefinidos si McGinley(i−1) es cero.
- Inestabilidad numérica si la implementación usa baja precisión o si los valores se vuelven extremadamente grandes/pequeños.
Incluso si nunca los encuentras en datos típicos, comprenderlos te ayuda a evaluar una implementación fielmente.
4) Riesgo de interpretación
Un valor del indicador (o su pendiente) no es automáticamente una explicación completa del comportamiento del mercado. La McGinley Dynamic es una transformación de tu serie de precios elegida en una línea adaptativa suavizada; por sí misma no identifica causalidad, dirección de precios futuros ni acciones óptimas.
Verificación y siguiente pregunta: cómo comprobar que lo calculaste correctamente
Para verificar tu propio cálculo, usa un flujo de trabajo simple y reproducible:
- Escribe tu fórmula exacta y confirma que coincide con la definición que estás usando (especialmente el denominador y el exponente).
- Registra tu N elegido, tu P(i) seleccionado y tu regla de inicialización para McGinley(0).
- Calcula los primeros pasos i = 1, 2, 3 a mano (o en una hoja de cálculo) y verifica la consistencia con la implementación que deseas replicar.
- Si los resultados difieren, compara primero los detalles de implementación: inicialización, indexación y si la fórmula se aplica con el mismo campo de precio.