Operaciones Correlacionadas

En algunos sistemas podemos encontrarnos con que el comportamiento de una operación dependa de una secuencia de operaciones anteriores. De hecho es habitual observar en las simulaciones, rachas de operaciones ganadoras y perdedoras. Pero, ¿podemos utilizar esta información para mejorar nuestros sistemas?

Para determinar si existe alguna correlación o dependencia entre las operaciones de un sistema que sea estadísticamente significativa, podemos utilizar lo que se conoce como test de rachas. Mediante este test lo que vamos a comprobar es si una determinada racha de operaciones es significativamente más larga o más corta de lo que cabría esperar si las operaciones del sistema no tuvieran ninguna correlación y se sucedieran en un orden aleatorio.

Por ejemplo, supongamos el caso de un sistema que presentara la siguiente secuencia de resultados:

500 €, 200 €, 300 €, 150 €, -750 €, -250 €, 350 €, 400 €, -500 €

Como podemos observar, tenemos una serie de nueve operaciones con dos rachas de operaciones ganadoras y dos rachas de operaciones perdedoras.

Para realizar el contraste utilizaremos el siguiente estadístico:

 

Donde r es el número de rachas, W es el número de operaciones ganadoras, L es el número de operaciones perdedoras, X es igual a (2WL)/(W + L) y N es el número total de operaciones.

El valor crítico del estadístico z se obtiene a partir de las tablas de la distribución Normal por lo que, al 95% de confianza, el valor crítico para un contraste de dos colas es de 1.96. Si el valor del estadístico es mayor que 1.96 (o menor que -1.96) podremos concluir que la presencia de rachas en la muestra de operaciones es significativa; asimismo, el signo de z nos informará del tipo de dependencia existente: si es positivo, existirán más rachas de lo normal mientras que si es negativo tendremos menos rachas de lo normal en una muestra.

Si se producen menos rachas de las que esperariamos en una muestra aleatoria, ello sugerirá que las rachas presentes en la muestra sean más largas de lo habitual por lo que la dependencia será positiva, de tal forma que operaciones ganadoras (perdedoras) vendrán seguidas por más operaciones ganadoras (perdedoras).

Lo contrario sucederá si se produce un número de rachas mayor de lo que cabría esperar en un mundo aleatorio. En este caso la dependencia será negativa, implicando que las operaciones ganadoras (perdedoras) vendrán seguidas por operaciones perdedoras (ganadoras).

Veamos ahora cómo utilizar estos resultados para mejorar nuestros sistemas de trading:

  • Podemos parar el sistema después de una operación perdedora hasta que se produzca de nuevo una operación ganadora: esta regla será útil para mejorar sistemas con dependencia positiva.
  • Del mismo modo, podemos dejar de operar cuando se produce una operación ganadora o reiniciar la operativa en el caso de que se haya producido una operación perdedora en el caso de sistemas con dependencia negativa.
  • Asimismo podemos tomar en consideración la longitud media de las rachas: por ejemplo, si la racha de operaciones ganadoras media es 3 y la racha media de operaciones perdedoras es 2, podemos saltarnos las dos operaciones siguientes si se produce una racha de 3 operaciones ganadoras.
  • Finalmente, en el caso de un sistema con dependencia positiva, podemos aplicar también otra regla: si se producen más de X operaciones perdedoras, evitaremos las siguientes Y operaciones.

En todo caso, la aplicación de este tipo de reglas debe realizarse siempre que sean estadísticamente significativas (como mínimo, al 95% de confianza), lo cual generalmente se obtiene en muestras que no sean demasiado amplias, lo que hace recomendable el estudio periódico de las dependencias que pudieran existir en las operaciones de nuestro sistema para utilizarlas sólo cuanto realmente sean significativas.

Bien, pongamos en práctica lo aprendido ;-). Para ello, tomamos un simple sistema de cruce de medias y lo insertamos en el histórico en 30 minutos del futuro sobre el Dax Vto. Junio 2007 utilizando como periodos 4 para la media corta y 40 para la media larga. En este caso no se trata de encontrar el Santo Grial (eso nos podría llevar algo más de tiempo ;-)) como de ver el impacto que tiene aplicar algunas de las reglas que acabamos de describir.

Lo primero de todo, los resultados del sistema:

DAX FUTURE JUN – 2007 Intradía (30) Minutos
Sistema: AVGSYS

Concepto
Valor
Ganancia total
6,102.50
Ganancia en posiciones abiertas
746.00
Ganancia por día
40.89
Ganancia por mes
1,226.68
Ganancia por año
14,924.60
Ganancia a corto
-4,769.50
Ganancia a largo
10,872.00
Acumulado negocios positivos
64,876.50
Acumulado negocios negativos
-58,774.00
Nº de barras analizadas
2,289
Nº Negocios
165
Nº de negocios positivos
59
Nº de negocios negativos
106
Nº de negocios de la mejor serie
5
Nº de negocios de la peor serie
9
Ganancia media por negocio
36.98
Ganancia media positivos
1,099.60
Ganancia media negativos
-554.47
Mejor serie de ganancia
22,629.00
Peor serie de pérdidas
-10,476.50
Fecha final peor serie de pérdidas
18/01/07
Serie pérdidas actual
-6,050.00
Mejor Negocio
6,746.00
Peor Negocio
-2,491.50
Ratio
1.42
Fiabilidad
35.76 %
Profit Factor
1.10
PRR
1.06
Índice Largo/Corto
-2.28
Índice Positivos/Negativos
1.99
Índice comisiones / ganancia
328
Gasto en comisiones
656.00
Máximo nº de contratos
1
Desviación típica de resultados
1,151.23
Coeficiente de regresión
0.65

Como pueden ver, los resultados no son para tirar cohetes pero tampoco están mal para haber elegido los parámetros al azar. A continuación cogemos el histórico de operaciones y lo introducimos en el excelente software Market System Analyzer de Adaptrade, del que pueden descargar una demo desde http://www.adaptrade.com/

Dentro del menu Analysis->Dependency Analysis, podemos estudiar si el histórico de operaciones presenta rachas, considerando tanto la muestra completa como tomando submuestras (el tamaño de la submuestra puede fijarse en el programa desde Analysis->Setup->Options y marcando la casilla «Perform runs test over a sliding n trades in length», donde n será el tamaño de la submuestra (en nuestro ejemplo, lo hemos fijado en 50). Los resultados se presentan en la siguiente imagen:

 

En la imagen anterior podemos apreciar como, si bien en conjunto no hay rachas significativas, tenemos submuestras en las que existen dependencias positivas. Aprovechando estas dependencias y sabiendo que la racha media de operaciones ganadoras es aproximadamente de 2 y la racha media de operaciones perdedoras es aproximadamente 3, aplicamos a los resultados del sistema la siguiente regla:

«Después de 2 operaciones ganadoras, dejamos de operar en las siguientes 3 operaciones»

Bingo! Aplicando esta sencilla regla el sistema mejora bastante: comparen los resultados antes y después de aplicar la regla:

Image
Antes

Image
Después

Todas las cifras de rentabilidad mejoran y el drawdown se reduce ligeramente. Y ojo porque esta regla se ha aplicado a todo el histórico, si sólo la hubiésemos aplicado a los periodos donde existía una dependencia estadísticamente significativa, los resultados seguramente habrían mejorado aún más. Desde luego, se nos abre todo un nuevo mundo de posibilidades a estudiar.

Un saludo
X-Trader

COMPARTIR EN: