Indicador de Control Horario. Parte 1

Como sabemos, una de las herramientas más interesantes dentro del estudio de estrategias con Visual Chart, es la herramienta de optimización. Con dicha herramienta, podemos establecer qué valores de los parámetros de un sistema son los que obtienen mejores resultados.

Respecto a esto, muchos sistemas intradía cuentan con una serie de parámetros que nos permiten delimitar la franja horaria durante la cual el sistema va a operar. El ejemplo lo encontramos en el sistema Default System que ya vimos en anteriores entradas:

El sistema cierra a mercado cuando alcanza la hora de cierre.

Pues bien. Si optimizamos este tipo de sistemas, y queremos observar qué franja horaria es la más favorable, nos encontramos con un problema: Este tipo de parámetros están definidos en formato militar, lo cual es una ventaja, ya que si estuvieran en formato puramente horario ("hh:mm"), Visual Chart no nos permitiría optimizarlos.

Sin embargo, cuando realizamos la optimización, nos podemos encontrar con casos como el siguiente:

Resultados tras la optimización.



Como vemos, el programa nos dice que la mejor franja horaria va desde las 10:35 hasta las 18:05. 

No obstante, el gráfico utilizado ha sido el de compresión 15 minutos, por tanto hay un problema: Con esta compresión de tiempo, no existen barras que marquen las 10:35 o las 18:05, ya que el intervalo es de 15 en 15 minutos. Cuando hemos iniciado el optimizador, hemos especificado que el salto queríamos hacerlo de 15 en 15, entonces... ¿Por qué se han seleccionado estos intervalos?

La explicación la podemos encontrar viendo el incremento de InitTime: Si especificamos que queremos optimizar este parámetro desde las 900 hasta las 1200 con un incremento de 15 en 15 minutos, observamos que la secuencia de valores será la siguiente: 900, 915, 930, 945, 960, 975, etc...

Esto sucede porque Visual Chart no tiene modo de saber que estamos trabajando con una variable horaria, de modo que los incrementos los hace siguiendo un sistema decimal, como hace con el resto de variables.

¿Cómo conseguir, por tanto, que el programa optimice la franja horaria sin que tenga en cuenta los horarios que no son válidos? La solución pasa por utilizar un indicador que hemos llamado Control Horario.

El indicador Control Horario.

Este indicador se ha desarrollado como método para filtrar los valores no válidos que pueda generar el optimizador.

Pueden obtener dicho indicador (y el indicador sobre el que se apoya) accediendo al siguiente enlace de descarga:

Indicador Control de Horario

El proceso que sigue es el siguiente:

1. Primero, el indicador se apoya en otro indicador llamado Control Salto de Hora (deben compilar primero éste indicador). El Control Salto de Hora estudia si un valor concreto puede considerarse válido dentro de un intervalo y un incremento: Si el valor cumple la condición, el indicador pintará un 1, si no lo cumple, pintará un 0:

Ejemplos de valor válido y de valor no válido.

2. Segundo, el indicador recoge los valores tanto de hora inicio como de hora fin de la franja elegida y aplica el anterior indicador sobre estos dos valores. Además, comprueba que no contienen valores imposibles (por ejemplo, HoraInicio = 2189):


3. Por último, calcula si ambos valores (HoraInicio y HoraFin) mantienen una relación coherente:


4. Si cumple todas las condiciones, el indicador pintará un 1, Si no las cumple, pintará un 0:


Una vez que hemos visto como actúa este indicador, nos quedaría explicar cómo aplicarlo a nuestros sistemas de manera que podamos usarlo a la hora de optimizar. La semana que viene veremos cómo hacerlo  utilizando como ejemplo el sistema Default System PDV.

Comentarios

Entradas populares de este blog

Como consultar el GAP % de un conjunto de valores

MANEJO DE PLANTILLAS. Eliminar plantilla de un gráfico activa

Bollinger Volatility Oscillator N