Al tratarse de un sistema aleatorio, su funcionamiento es diferente al de cualquier otro sistema. Una vez aplicado sobre un gráfico, podemos obtener series estocásticas de entradas de las dos siguientes maneras:
Con estos simples parámetros resulta bastante sencillo simular una enorme tipología de sistemas:
PRUEBA DE ESTRATEGIAS DE CIERRE
Un generador aleatorio de entradas puede constituir un banco de pruebas excepcional para calibrar la eficacia de nuestras estrategias de cierre de posiciones e incluso de position syzing. Como ya hemos dicho repetidas veces en esta web, el objetivo primordial de un buen algoritmo de cierre no es ganar más, sino tener el DD. bajo control, así como obtener zonas optimas de recogida de beneficios. Una estrategia de cierre que consiga mejorar de manera consistente los resultados, incluso con entradas aleatorias, habrá demostrado sobradamente su eficacia y se podrá emplear con total seguridad en nuestro sistema.
Para aplicar estas estrategias, será necesario editar el sistema Aleatorio en la plataforma de diseño de Visual Chart, incluir el código debajo del último elemento del diagrama de flujo y compilar nuevamente el sistema.
FACTORES A TENER EN CUENTA PARA DETECTAR EL COMPORTAMIENTO ALEATORIO DE UN SISTEMA DE ENTRADAS.
Para saber si nuestra estrategia de entrada es eficiente o se comporta de manera aleatoria, bastará con que nos fijemos en los siguientes elementos de las estadísticas generales del sistema:
1) La Fiabilidad relaciona los negocios positivos y negativos. Si, al realizar una optimización, su valor está muy cerca del 0.50 en casi todas las iteraciones, nuestro sistema de posicionamiento evidenciará un comportamiento estocástico. Ahora bien, la fiabilidad sólo ofrecerá información relevante cuando, en el modelo a evaluar, son suficientemente representativos:
a) El tamaño del histórico.
b) El total de operaciones.
c) El número de iteraciones del optimizador.
Por otro lado, las comisiones y deslizamientos aplicadas al sistema aumentan o reducen el valor promedio de la fiabilidad, por lo que el dato más relevante será la horquilla entre sus valores máximo y mínimo. Sólo si aparece muy cerrada en el total de las iteraciones (por ejemplo ±7 puntos) esta información será concluyente.
2) El Profit factor combina la fiabilidad con las ganancias medias positivas y negativas. Si su valor está próximo a la unidad (entre 0,80 y 1,20) entonces posiblemente estaremos trabajando con una estrategia que produce un 50% de la veces beneficios o pérdidas en el conjunto de las operaciones. En tal caso, nuestro algoritmo de entrada estará muy cerca de la aleatoriedad.
3) Índice positivos/negativos, o cociente entre operaciones ganadoras y perdedoras. Igual que en el caso anterior, si está muy próximo a uno, estaremos operando muy cerca de la fatídica proporción 50/50.
4) Ganancia media por negocio: Cuando disponemos de series de operaciones muy grandes (>500), el hecho de que la ganancia media por operación no se separe más de 3 ticks del producto de referencia, puede ser otro claro síntoma de comportamiento azaroso.
5) Comisiones y deslizamientos: Si el gasto por operación no se despega mucho (±15%) de la ganancia (o pérdida) total del sistema, posiblemente estaremos tambien ante una estrategia de entrada muy próxima a la aleatoriedad.
Estos cinco criterios sólo resultarán evidentes en un histórico suficientemente grande (de 7 a 10 años) y aplicado a un sistema que genere como mínimo unas 500 operaciones. Si entrenamos el sistema en un histórico muy pequeño, acabaremos enmascarando, por sobreoptimización —y debido a la notable eficiencia de los algoritmos genéticos para encontrar soluciones óptimas en un número mínimo de ciclos— todos estos factores.
PROCESOS DE OPTIMIZACIÓN.
La mejor manera de comprender porqué muchos sistemas fracasan en la operativa real, aunque las pruebas de backtesting muestren resultados excelentes, es jugando un rato con nuestro generador aleatorio de entradas. Vamos a someter sus dos parámetros a una primera optimización, empleando un pequeño histórico de un año sobre el e-mini Russell 2000 en time frame de 30 minutos.
El primer paso será elegir el rango de parámetros a optimizar y el número máximo de iteraciones. Seleccionamos los siguientes valores:
Con lo que le estamos diciendo al
configurador de sistemas que busque soluciones óptimas, en las que la probabilidad máxima de entrada no sea superior al 20% en cada barra. Como no queremos que el sistema acabe sobreoptimizado al aplicar los
algoritmos genéticos, paramos en la iteración 200, que es, aproximadamente, la raíz cuadrada del número total de iteraciones (para más información sobre este punto, léase nuestro artículo
Sistemas con esperanza positiva).
Una vez concluido el proceso, obtenemos los siguientes resultados:
¡Qué maravilla! ¿Quién pudiera disponer “a pie de obra” de un sistema así? El mejor juego de parámetros, en apenas 200 iteraciones, ofrece nada menos que un beneficio anual del 48,4% con un excelente ratio del 6,58% y número de negocios (246) realmente acelerado, para tratarse de un solo año de operativa. Por otra parte, obtener una fiabilidad del 54% tampoco está nada mal, siendo un sistema tan intensivo en operaciones.
Pero como soy muy suspicaz, procedo a calcular el promedio de la relación entre negocios positivos y negativos en toda la secuencia de iteraciones y obtengo la sospechosa cifra de 0,51, con una horquilla muy cerrada de tan sólo 5 puntos. ...Uf!! Malo, malo. Casi 50/50. Ya estoy empezando a escuchar el tintineo metálico de una moneda rebotando sobre la mesa.
...Esto es lo que tienen los bellos cantos de sirena de la diosa Fortuna, cuando crees haber cerrado todas las puertas y ventanas de tu estupendo y aparentemente racional conjunto de reglas, el azar acaba colándose, como el malvado lobo que persigue a los tres cerditos, por la chimenea.
De esta aproximación precipitada a lo que es capaz de hacer un sencillo sistema aleatorio, ya podemos sacar dos valiosas conclusiones:
Las estadísticas, a toro pasado, de cualquier sistema (por muy buenas que se nos presenten) son condición necesaria, pero no suficiente para garantizar el éxito en la operativa real de dicha estrategia.
Los procesos de optimización empleando históricos demasiado pequeños experimentan una vertiginosa tendencia a la sobreoptimización, incluso controlando cuidadosamente los rangos paramétricos y el número máximo de iteraciones. Constituyen, por tanto, un camino seguro hacia la ruina.
Seguidamente vamos a aplicar el
protocolo de normalidad para procesos de optimización (siguiendo la metodología descrita en el artículo
Sistemas con esperanza positiva) a los sistemas
Aleatorio,
GeosTrend,
SVbreak.
1) Aplicación del sistema Aleatorio al e-mini S&P 500
Datos iniciales:
Tamaño del histórico: 49.555 barras. (años 2000 a 2006).
Time frame: 30 minutos.
Gastos por operación: 12$
Rangos paramétricos. Pc: 0.8-1. Pv: 0-0.2, en saltos de 0.001
Número de iteraciones del optimizador: 40.200
Límite de iteraciones para algoritmos genéticos: 654. (Que hemos aumentado deliberadamente, desde el valor ideal de 200, para ajustarnos a los datos que ya teníamos del sistema GeosTrend)
Una vez, copiados a nuestra plantilla Excel los datos de las 654 iteraciones, procedemos a aplicar a la columna “Ganancia anual %” un análisis de estadística descriptiva, y obtenemos la siguiente tabla:
El mejor resultado de la optimización arroja un beneficio anual del 14,43% y el peor unas pérdidas anuales del –17,78%. El beneficio medio de todas las iteraciones se sitúa en el –4,9%. Por tanto, nuestra estrategia aleatoria es claramente perdedora.
Si agrupamos los datos en rangos y frecuencias, obtenemos la siguiente distribución normal, que nos indica que un 91% de las iteraciones dan resultados negativos:
La imagen no deja lugar a dudas. La esperanza de obtener beneficios con una estrategia como esta es prácticamente nula.
Llegados a este punto, conviene reflexionar sobre la siguiente cuestión: ¿Si en un sistema aleatorio puro, las probabilidades de obtener operaciones positivas o negativas se reparten en la proporción 50/50? Entonces, ¿qué está pasando? Pues miren, justo lo que tanto le gustaba repetir al doctor Alexander Elder: “La operativa bursátil no es un juego de suma 0, sino –1”. Los deslizamientos y comisiones son formas eficientes y seguras de drenar dinero directamente de nuestros bolsillos al de los intermediarios. El peso del gasto medio por operación, que aquí hemos fijado en la modesta cifra de 12$, es el responsable de buena parte de dicho desequilibrio.
Comprobar esto es muy sencillo, bastará con multiplicar en una nueva columna el gasto por operación por el total de operaciones de cada iteración. Luego calcularemos el promedio absoluto de beneficios (PB) y gastos (PG). Si el cociente se acerca a la unidad, ...ya saben lo que hay.
En el caso estudiado:
PB= -43.192
PG= 45.365
ABS( PB)/PG)=0,952
2) Aplicación del sistema GeosTrend al e-mini S&P 500
Se trata de un sencillo sistema microtendencial, de tipo continuo, con una cadencia de operaciones que oscila, según los parámetros empleados, entre los 0,5 y 3 negocios diarios. Siguiendo los pasos del protocolo de optimización, obtenemos esta tabla de resultados:
Aquí las cosas pintan de otra manera y se pone de manifiesto rápidamente que estamos ente una estrategia capaz de aceptar el envite al oscuro semblante de lo indeterminado.
Hay un claro –aunque, a mi juicio, todavía poco eficiente- sesgo positivo en el promedio total de iteraciones ganadoras, que arrojan un beneficio medio del: 4,42%.
Si observamos la siguiente distribución de rangos y frecuencias:
Comprobaremos que la mayor parte de las combinaciones paramétricas se sitúan en la zona comprendida entre el 3% y el 9% de beneficio anual; garantizando, de este modo, una esperanza matemática positiva, incluso en el caso de que se eligiesen los valores de los parámetros al azar.
3) Aplicación del sistema Aleatorio al e-mini Russell 2000.
Datos iniciales:
- Tamaño del histórico: 27.710 barras.
- Time frame: 30 minutos.
- Gastos por operación: 12$
- Rangos paramétricos. Pc: 0.8-1. Pv: 0-0.2 en saltos de 0.001
- Número de iteraciones del optimizador: 40.200
- Límite de iteraciones para algoritmos genéticos: 200.
Repetimos los primeros pasos del protocolo de normalidad y obtenemos la siguiente tabla de datos estadísticos:
Con una media de –3,57% de beneficio anual (algo mejor que la del S&P) y una mediana similar –4,29% (versus –4,52), el sesgo negativo debido al peso de los gastos por operación sigue manifestándose de forma incontestable. Sin embargo, miren atentamente el siguiente gráfico:
La distribución de frecuencias, aunque no pierde la normalidad, es diferente. Además, hay un elemento ciertamente atípico y desconcertante: La frecuencia con la que se repite el rango 13%-14% de rentabilidad anual, nada menos que ¡19 veces! También podemos observar que los valores positivos abundan mucho más a la derecha de la curva que en el caso del S&P. ¿Será que el
effective range, con el que tanto hemos jugado en anteriores artículos, es aplicable incluso a los sistemas aleatorios de entradas? De ser cierto (y prometo volver sobre este asunto en posteriores artículos) estaríamos ante una especie de principio universal de los mercados. Pero, no nos precipitemos y volvamos a los hechos: La probabilidad de obtener beneficios en este mercado utilizando juegos aleatorios de entradas se sitúa en el 41%. Por tanto, cualquier sistema que no acredite esperanza matemática positiva, también acabará perdiendo en el MR.
4) Aplicación del sistema SVbreak al e-mini Russell 2000.
Como en el caso del GeosTrend, ajustamos los rangos paramétricos para conseguir un número similar de iteraciones, a fin de que los resultados sean comparables con el sistema Aleatorio. Una vez detenido el optimizador en el ciclo 200, procedemos al habitual análisis estadístico de resultados:
Aquí no hay duda alguna; los datos muestran de manera contundente que estamos ante una estrategia robusta y con clara esperanza positiva; no sólo por el hecho de que la media de las 200 iteraciones arroje un estupendo beneficio del 12,27%, sino por la insignificante pérdida máxima (-1,24%) que hace que, prácticamente, todos los rangos de la distribución se encuentren desplazados a la derecha de la curva:
Esto nos permite afirmar que la probabilidad de obtener beneficio tomando al azar dos valores cualesquiera del juego de parámetros seleccionado es superior al 97%.
Pero todavía nos queda un detalle importante: ¿Qué pasa con la fiabilidad media? 0.479: Un poco justa, pero suficientemente alejada del peligroso 50/50, ya que la horquilla entre la fiabilidad mejor (0.65) y peor (0.38) es bastante ancha.
En la siguiente tabla mostramos las diferentes fiabilidades de estas estrategias:
Por último, conviene tener en cuenta que estos datos, aunque a mi juicio fiables, son el resultado de un doble proceso estocástico: En primer lugar, por el propio método de entrada (en el sistema Aleatorio) y por la elección de los rangos paramétricos (en GeosTrend y SVbreak) y, en segundo lugar, por la propia naturaleza heurístico-direccional de los algoritmos genéticos.
Usted puede tomarlos como referencia, pero cuando aplique esta metodología a sus propios sistemas siempre encontrará valores ligeramente distintos. Así mismo, la validez de todos estos tests dependerá siempre del tamaño del histórico empleado y del número de operaciones: Cuanto más pequeños, menos representativos.
Como de costumbre, los usuarios registrados podrán disponer del sistema
Aleatorio en la sección de
Descargas.
Andrés A. García.