Técnicas de normalización de indicadores.
 
 
  • Usted está aquí:
  • Home
  • Indicadores
  • Técnicas de normalización de indicadores.

Técnicas de normalización de indicadores.

 
TradingSys (AndG) - 18 Jul 2011
3 comentarios
 

tradingsysAl 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:


tradingsys

 

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:

  • a) Estática.- Tomamos como divisor el valor máximo de todos los elementos de la serie de datos.
  • b) Dinámica.- Vamos recalculando el máximo en intervalos de "n" barras.

En la imagen inferior podemos ver un RAVI normalizado en intervalos de 500 barras:

 

tradingsys


  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:


tradingsys


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.

 

tradingsys


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):


tradingsys


  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:


tradingsys


  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:


tradingsys


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:


tradingsys


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.

 

 

Comentarios

 

MARQUESITO - OTRO ESTUPENDO ARTICULO

Hola Andrés.  
Interesante idea la de normalizar los indicadores que vamos fabricando para lidiar con el mercado.  
Por mi parte todo lo más que le añado al indicador (si es de 1 sola línea) es otra línea de referencia para que al visualizarlos tengan un carácter "familiar" con el resto y dar también algo de juego con su cruce. 
Un saludo y hasta la próxima.

admin - Re: MARQUESITO

Me alegro de que te gustase el artículo.  
 
Me decidí a escribir sobre este tema porque había observado que, siendo una cuestión importante cuando tratamos de aplicar el mismo sistema a activos muy distintos, los autores más conocidos parecen pasar de puntillas sobre el tema, o dan indicaciones demasiado genéricas. 
 
Quizá más adelante publicaré aquí algunos casos prácticos de normalización de indicadores.

flyscalper - Off topic

Aunque no esté directamente relacionado con este artículo, me gustaría comentaros una referencia que acabo de ver y que me parece interesante: 
 
http://dekalogblog.blogspot.com/2011/07/new-indicator-for-possible-inclusion-in.html 
 
en esta entrada, el autor hace referencia a un indicador de Ehlers que está publicado en su website, el Vigor Trend, y que intenta determinar si el mercado está en tendencia o en "sideways".  
 
Muy interesante el pdf donde Ehlers explica su modelo, aunque sólo sea para ver el cámino seguido por alguien que crea un indicador: 
 
http://www.mesasoftware.com/Seminars/Trend%20Modes%20and%20Cycle%20Modes.pdf 
 
Quizá sea interesante darle un vistazo. 
 
Un saludo, 
 
Pablo

Añadir comentario

 
Modificado por TradingSys (AndG) - 19 Jul 2011
 
 

* Campos obligatorios

 
 

 
 

Secciones

 
 
 

Entradas recientes

 
 

Enlaces