Al diseñar estrategias multimercado nos encontramos, en no pocas ocasiones, con el problema de tener que reajustar los parámetros de algunos indicadores que no están en la misma escala. Esto nos obligará a hacer uso intensivo de los algoritmos de optimización disponibles en la plataforma, con el consiguiente problema de caer en las múltiples trampas del curve fitting. Sin embargo, una de las mejores alternativas será proceder a una normalización previa de los indicadores incluidos en el sistema empleando algunas de las técnicas que veremos en este artículo.
Las series de datos que representan procesos naturales y otros sistemas dinámicos complejos, como es el caso de los mercados financieros, presentan una propiedad conocida como invarianza de escalado, la cual implica que, al multiplicar cada elemento de la serie por un factor común o escalar los datos utilizando cualquier transformación lineal, exponencial o logarítmica, la nueva serie retiene las mismas propiedades e información que la serie original. En otras palabras, y en el caso que nos ocupa, podemos convertir prácticamente cualquier indicador del análisis técnico en otro indicador normalizado equivalente que, pese a la transformación matemática aplicada, mantenga la misma relación con las series de precios que el indicador original.
En las siguientes líneas vamos a explicar los tres modelos de normalización más empleados en el trading cuantitativo, señalando sus ventajas y utilidad práctica. Utilizaremos como hilo conductor el Range Action Verification Index (RAVI) de Tushar Chande, que muestra la variación porcentual de precios entre dos medias, una rápida y otra lenta, aplicadas al mismo producto.
La fórmula más sencilla del indicador RAVI es:
RAVI = 100*(SMA(7) - SMA(65)) / SMA(65)
Aunque, igualmente, se pueden emplear medias exponenciales, ponderadas y adaptativas (como la VIDYA de este mismo autor). Otras variantes del indicador utilizan también diferenciales de medias de distinto tipo y con el mismo número de barras, por ejemplo una EMA ZeroLag contra una EMA.
El indicador sin normalizar muestra el siguiente aspecto:
1.- REFERENCIA A MÁXIMOS
La primera fórmula de normalización nos permitirá expresar cada elemento de la serie como porcentaje de un valor máximo:
100 x (RAVI[0] / Max(RAVI)[n] )
Este sencillo método de normalización presenta dos variantes:
En la imagen inferior podemos ver un RAVI normalizado en intervalos de 500 barras:
2.- TIPIFICACIÓN
La tipificación de variables resulta enormemente útil para eliminar la dependencia del indicador respecto a las unidades (determinadas por el valor del punto y tamaño del tick) en que están las series de cotizaciones de los distintos productos financieros. Esta técnica de normalización, que sólo debe aplicarse a series de datos próximas a la normalidad, permitirá emplear el mismo juego de parámetros en un conjunto amplio de activos en escalas diferentes.
En términos estadísticos se conoce por tipificación el proceso de restar la media y dividir por la desviación estándar cada elemento X de una serie de valores, de tal modo que los elementos Y de la nueva serie: Y =( X-μ) / σ, tienen de media 0 y de desviación 1.
En realidad, lo que estamos aplicando es una transformación lineal del tipo Z= aX+b, donde a = 1/ σ y b = - μ/σ.
Al tipificar un indicador tanto la media móvil como la desviación deben tener el mismo número de barras o periodo de cálculo. Por ejemplo, en el caso de un RAVI con su media mayor de 40 barras, tendremos:
Z = RAVI(40)[0] - SMA (RAVI (40), 40)[0]) / StDev (RAVI(40),40)[0]
En este caso, el gráfico nos quedará del siguiente modo:
La línea roja es el RAVI normalizado por referencia a máximos y la verde el RAVI tipificado. En ambos se ha utilizado un período de 40 barras.
Cuando la serie de datos de un indicador está muy alejada de una distribución normal, entonces será más conveniente emplear transformaciones no lineales. La más empleada es la transformación logarítmica. Muchas series de datos financieros se convierten en simétricas al tomar logaritmos. Aunque también podemos utilizar, dependiendo del grado de asimetría de la distribución, transformaciones de otro tipo:
- Cuando la distribución de frecuencias tiene asimetría negativa aplicaremos la transformación y = x2.
-Si la asimetría es positiva, las transformaciones más adecuadas serán:
y = √x, y=1/x, y=ln x.
En la imagen inferior podemos apreciar el gráfico de la distribución del RAVI de 65 barras aplicado al FDAX en time frame de 20 minutos.
Como en este caso la distribución de frecuencias muestra una clara asimetría a la izquierda, con la transformación logarítmica conseguimos un ajuste de la serie mucho más próximo a la normalidad.
En el siguiente gráfico comparamos la versión tipificada del RAVI (rojo) con la versión logarítmica (amarillo):
3.- NORMALIZACIÓN E INDICADORES DE INDICADORES.
a) Estocástico-RAVI
Una forma rápida de normalizar prácticamente cualquier indicador es aplicándole la fórmula del Estocástico:
(Close[0] - Min(Close, n)[0] / MAX (Close, n)[0] - Min(Close, n)[0])
Donde "n" es el número de barras empleado en el cómputo del indicador.
Bien, pues para aplicar la fórmula del Estocástico al RAVI sólo tenemos que sustituir el cierre por sus correspondientes valores:
(RAVI[0] - Min(RAVI, n)[0] / MAX (RAVI, n)[0] - Min(RAVI, n)[0])
De este modo el nuevo indicador oscilará entre los valores 0 y 1, a la vez que podría aumentar ligeramente su capacidad de filtrado:
b) Bollinger-RAVI
El propio John Bollinger, en su libro Las bandas de Bollinger (Ediciones Valor, Barcelona, 2006), dedica un capítulo a la normalización de indicadores empleando sus célebres bandas. Además de a las series de precios, ciertamente estas bandas pueden incorporarse a cualquier indicador, proporcionando una forma dinámica, y hasta cierto punto adaptativa, de definir conceptos como "alto", "bajo", "sobrecompra", "sobreventa", etc. Sin embargo, el problema de incorporar estas bandas a un indicador es que ahora tendremos que contar con dos nuevos parámetros: el número de barras de la media central y las desviaciones típicas de sus bandas superior e inferior.
En el estudio que el autor realiza para el RSI y el MFI, la relación entre las barras del indicador y de la media central es aproximadamente 1:4, mientras que el número de desviaciones queda fijado en 2. Esta relación me parce también adecuada para el RAVI, ya que de lo que se trata es de combinar el valor puntual del indicador con una estimación más larga, o de contexto, que es la que proporciona la media. Por otra parte, la anchura de las bandas, modulada por el número de desviaciones, debe permitir que entre un 85% y un 90% de los puntos de datos caigan dentro de las bandas.
Vemos un gráfico del Bollinger-RAVI que satisface estos requisitos:
Por último, aplicaremos la fórmula del BandWidth (b%) para aproximar el indicador a los valores 0 y 1:
b% = Close[0] - Banda Inferior / Banda superior - Banda inferior.
Este indicador nos dice en qué posición se encuentra un precio en relación a las bandas de Bollinger: cuando el valor es 1 el precio se sitúa en la banda superior, con 0,5 en la media y, cuando es 0, en la banda inferior. Adviértase que el indicador no está acotado, como ocurre con el Estocástico, por lo que nos podremos encontrar ocasionalmente con valores ligeramente superiores a 1 e inferiores a 0.
Pues bien, lo único que tenemos que hacer para construir un RAVI normalizado es sustituir en el indicador b% la serie de cierres por los valores del RAVI. El resultado es éste:
Y lo que obtendremos (línea roja) es un nuevo indicador con cierta capacidad de adaptación a los cambios de mayor duración en las formaciones de precios, pero sin aumentar por ello el lag o retardo; esto es, manteniendo en todo momento una capacidad de respuesta análoga a la del indicador original (línea gris). Por otra parte, al estar referenciado a las bandas superior e inferior de Bollinger resulta mucho más fácil su lectura e interpretación.
Andrés A. García
© Tradingsys, 2011.