Respuesta directa
El oscilador estocástico se calcula a partir de los extremos de precios en una ventana móvil. Primero se calcula %K como la posición del último precio de cierre dentro de un rango reciente de máximos y mínimos. Luego se calcula %D como un suavizado de %K mediante una media móvil (a menudo con un ajuste más corto o diferente). El cálculo solo requiere datos históricos de precios (normalmente los valores de máximo, mínimo y cierre) y los parámetros elegidos para la ventana de retroceso y los períodos de suavizado.
Mecanismo y definición
La idea central es simple: convertir la posición del cierre actual dentro del rango reciente en un número acotado.
1) Elegir la serie de precios de entrada
Una implementación estándar necesita, para cada paso de tiempo, al menos:
- Máximo: el precio más alto negociado durante el período.
- Mínimo: el precio más bajo negociado durante el período.
- Cierre: el precio de cierre del período.
Para verificar, debes registrar exactamente qué campos proporciona tu fuente de datos (por ejemplo, si “cierre” significa el precio al final del período y si el máximo/mínimo son extremos reales en esa barra).
2) Elegir la ventana de retroceso para el rango
Sea n la longitud de retroceso (a menudo llamada período de %K). Durante los últimos n períodos, calcula:
- Máximo más alto (HHn) = el máximo de los precios máximos en la ventana.
- Mínimo más bajo (LLn) = el mínimo de los precios mínimos en la ventana.
3) Calcular %K (estocástico bruto)
Sea C el último cierre en el paso de tiempo actual. El %K estocástico bruto es:
%K = 100 × (C − LLn) / (HHn − LLn)
Interpretación:
- Si C es igual a LLn, entonces %K = 0.
- Si C es igual a HHn, entonces %K = 100.
- Si C está en medio, %K se encuentra entre 0 y 100 (en condiciones típicas de datos).
4) Calcular %D (estocástico suavizado)
Sea m el período de suavizado para %D (a menudo llamado período de %D). Un enfoque común es tomar una media móvil de los valores más recientes de %K:
%D = MediaMóvil(%K, m)
El tipo de media móvil importa:
- Algunas implementaciones usan una media móvil simple (SMA).
- Otras usan media móvil exponencial (EMA) u otro tipo de promedio.
Si deseas un resultado verificable de forma independiente, debes coincidir tanto en la longitud del período m como en el método específico de media móvil.
5) Manejo de casos límite
Dos casos límite prácticos son dignos de mención para un cálculo correcto:
- Barras iniciales: durante los primeros n−1 períodos, es posible que no tengas suficiente historial para calcular HHn y LLn.
- Rango cero: si HHn − LLn = 0 (por ejemplo, si los máximos y mínimos son idénticos en toda la ventana), la fracción no está definida. Las implementaciones manejan esto de manera diferente (por ejemplo, generando valores faltantes o forzando un valor definido). Al verificar, revisa cómo tu método trata esta situación.
Evidencia o ejemplo (con supuestos explícitos)
Aquí hay un pequeño ejemplo numérico que muestra cómo funciona la fórmula. Supuestos:
- Ventana de retroceso n = 5 períodos.
- Estamos calculando el valor en el paso de tiempo actual.
- Los valores calculados de LLn y HHn se toman de los 5 períodos más recientes.
- Para simplificar, primero calculamos solo el %K bruto.
Supongamos que los 5 períodos más recientes producen:
- LLn = 1.1000 (el mínimo más bajo en la ventana)
- HHn = 1.1200 (el máximo más alto en la ventana)
- Cierre actual C = 1.1150
Entonces:
- HHn − LLn = 1.1200 − 1.1000 = 0.0200
- C − LLn = 1.1150 − 1.1000 = 0.0150
Por lo tanto:
- %K = 100 × 0.0150 / 0.0200 = 75
Para calcular %D, a continuación deberías construir los valores de %K para los últimos m períodos y aplicar la media móvil seleccionada. Para verificar, anota el m elegido y si la implementación usa SMA, EMA u otro promedio. Sin eso, %D puede diferir incluso cuando el %K bruto se calcula de la misma manera.
Limitaciones y riesgos (centrados en el cálculo)
1) Sensibilidad a los parámetros y a la frecuencia de los datos
La longitud de retroceso n y el ajuste de suavizado para m cambian directamente la capacidad de respuesta del indicador. Una ventana más corta puede hacer que %K reaccione más rápido a los movimientos recientes, mientras que una ventana más larga generalmente suaviza el contexto del rango.
Además, usar diferentes marcos temporales (por ejemplo, barras de 5 minutos frente a barras diarias) cambia lo que significan “máximo”, “mínimo” y “cierre”, lo que altera HHn, LLn y, por lo tanto, %K.
2) Dependencia del comportamiento del rango de máximos y mínimos
El oscilador estocástico no mide la tendencia directamente; mide la posición del cierre dentro de un rango reciente. Si el mercado se mueve en una banda estrecha o errática, el rango de máximos y mínimos puede ser pequeño, haciendo que %K parezca volátil de una barra a otra.
3) Valores indefinidos o engañosos en condiciones de rango constante
Si HHn − LLn = 0, %K no está definido matemáticamente. Incluso si una implementación completa los valores de alguna manera, los números resultantes pueden no contener información significativa.
4) Las opciones de suavizado afectan la comparabilidad
Debido a que %D depende del tipo de media móvil y de la longitud del período, dos plataformas pueden mostrar líneas %D diferentes mientras coinciden en el %K bruto. Para una verificación independiente, compara tus ajustes completos, no solo el nombre del indicador.
Verificación y siguiente pregunta
Para verificar tus propios cálculos del oscilador estocástico de forma independiente:
- Fija los parámetros n (retroceso) y m (suavizado).
- Para cada paso de tiempo, calcula LLn y HHn exactamente como se definen (mínimo móvil de los mínimos; máximo móvil de los máximos durante n períodos).
- Aplica %K = 100 × (C − LLn) / (HHn − LLn).
- Calcula %D usando el método exacto de media móvil y la longitud del período utilizados por tu herramienta.
Si quieres ir más allá, un siguiente paso útil es comparar cómo los ajustes del indicador cambian el comportamiento de %K y %D, o verificar cómo diferentes definiciones de la media móvil cambian la línea suavizada:
- /forex-indicators/momentum-indicators/stochastic-oscillator/how-do-settings-change-stochastic-oscillator/
- /forex-indicators/momentum-indicators/stochastic-oscillator/what-can-signals-from-stochastic-oscillator-mean/