Acceder
Sistema Inverso: diseño del sistema de trading

Sistema Inverso: diseño del sistema de trading

Introducción

Hace unos días, durante el desarrollo de un seminario, planteamos una idea que despertó el interés de los parcipantes. Debido a esto, he creido conveniente exponerla aquí y compartirla con toda la comunidad de Rankia. Aclarar de salida que el siguiente artículo está planteado desde el punto de vista del desarrollador de sistemas de Visual Chart, de manera que tendrá un mayor interés especialmente para aquellos usuarios que cumplan éste perfil.

El problema que planteamos fue el siguiente: ¿Existe la posibilidad de aprovechar aquellas estrategias que sean descartables debido a su nivel de pérdidas? La solución a ésta pregunta era sencilla: Cuando un sistema ofrezca muy malos resultados, generamos el sistema inverso, de modo que, teóricamente, obtendremos un sistema con resultados más favorables. Veamos ésta idea mediante un ejemplo.

 

La estrategia cruce RSI

Vamos a diseñar una estrategia con un esquema muy sencillo: Cuando el RSI cruce las bandas de sobrecompra y sobreventa, operamos a favor del cruce, quedándonos a largo si el cruce es alcista y a corto si es bajista.

Además, vamos a añadir al sistema un stoploss para cubrir el margen máximo de pérdidas soportado.

El sistema quedaría tal que así:

imagen estrategia RSI

Aplicamos el sistema al gráfico del FUTURO del DAX (15 minutos) que es donde queremos realizar las pruebas y observamos que obtenemos los siguientes resultados negativos en la estadística:

imagen ganancia neta acumulada

Como vemos, el sistema sigue una línea de ganancias nada halagüeña.

Supongamos que aún cambiando los distintos parámetros del sistema, los resultados no mejoran, por lo que lo primero que pensaríamos ante esta circunstancia es que éste sistema es totalmente descartable y por tanto nos desharíamos de él o al menos no lo pondríamos en marcha sobre el subyacente sobre el que lo hemos aplicado.

Lo que aquí vamos a plantear es lo siguiente: Si se fijan, la línea de ganancia que proyecta el sistema sigue una función prácticamente exponencial pero en sentido inverso. Si viéramos la línea de ganancia al revés, obtendríamos un resultado realmente bueno:

imgen ganancia neta

¿Podríamos aprovechar el sistema teniendo en cuenta este dato? En realidad sí. Lo que podemos hacer es mantener las reglas de operativa del sistema pero realizar las operaciones contrarias a las que actualmente se están ejecutando. Teóricamente, al hacer esto, deberíamos obtener una línea de ganancia similar a la que acabamos de mostrar, si bien pueden existir matices que diferencen ambos resultados.

Empezaremos, por tanto, viendo los pasos a seguir para diseñar lo que definiríamos como la estrategia inversa.

Diseño de la estrategia inversa

Como hemos dicho, el aspecto clave para el desarrollo de una estrategia invertida es mantener las reglas de trading del sistema original. En nuestro caso, mantenemos las reglas de cruce de bandas tal y como están, con la particularidad de que en lugar de enviar una orden de entrada a largo cuando se cruce la banda inferior (BandaC), ahora haremos lo contrario, enviando una entrada a corto:

imagn

Fíjensé en un detalle importante: Además de haber cambiado el tipo de orden (de Compra a Venta), también hemos cambiado la condición ¿GetMarketPosition <> 1?. Ahora la pregunta pasa a ser ¿GetMarKetPosition <> -1? ¿Por qué? Puesto que lo que buscamos con esta condición es posicionarnos a Corto, la condición debe cambiar de manera que la pregunta pase a ser si GetMaretPosition es distinto de -1,es decir, que todavía no estemos posicionados a Corto.

El proceso es exactamente el mismo para la regla sobre la banda superior (BandaV):

imagn 2

 

Esta parte es la más sencilla puesto que lo único que tenemos que hacer es cambiar el tipo de orden. Para el cambio de las órdenes de salida el proceso es algo más complejo.

A la hora de invertir las órdenes de salida, en este caso no basta con cambiar la orden de CerrarLargo a CerrarCorto y viceversa, sino que además tendremos que fijarnos en el tipo de orden que se envía (Stop,Limitada,etc…). Siguiendo el ejemplo del sistema Cruce RSI. Si ahora mismo enviamos órdenes de stop de pérdidas, lo primero que pensaríamos sería en realizar el siguiente cambio:

imagen 3

Es decir, nuevamente, cambiar la orden de CerrarCorto a CerrarLargo y cambiar la condición ¿GetMarketPosition = 1?.

Sin embargo, realizar simplemente este cambio no es suficiente. Si se fijan, dejándolo así estaremos enviando una orden de Compra (CerrarCorto) en Stop a un precio INFERIOR al precio de entrada. Si hacemos esto, la orden se ejecutará instantáneamente. De hecho, como el sistema es el inverso, ahora la orden StopLoss no servirá para cubrir pérdidas sino como objetivo de ganancias. ¿Conclusión? Debemos cambiar el tipo de orden de modo que en lugar de especificar como orden de cierre en stop pasará a ser orden de cierre limitada:

imagen 4

Si observan, ahora tiene más sentido el precio de salida especificado, al ser órdenes de cierre limitadas.

Resultado Final

Con estos sencillos pasos ya tendríamos finalizado el sistema inverso. Le daríamos a Compilar y comprobaríamos si lo deducido teóricamente se cumple una vez lo llevamos a la práctica. Los resultados estadísticos del sistema serían los siguientes:

imagen ganancia neta acumulada

Como ven, un mejor resultado que permite aprovechar la estrategia previamente planteada. Obviamente, este tipo de estrategia sólo es posible desarrollarla sobre productos que nos permitan operaciones en corto.

Últimas conclusiones

Como punto final a este estudio, vamos a plantear un modo más de añadir más posibilidades a nuestro sistema: Puesto que inicialmente desconocemos qué tipo de estrategia va a funcionar mejor sobre cada subyacente, si la normal o la inversa, podemos incorporar al sistema un parámetro al que llamaríamos AplicarInversa. Este parámetro podría ser del tipo (0/1), de modo que en función de su valor el sistema realizaría el sistema en un sentido u otro.

Veamos un ejemplo. En el siguiente caso, tenemos el sistema original aplicado al FUTURO del MINI IBEX-35:

mini ibex 35

Como vemos, los resultados no son muy buenos. Probamos el sistema inverso simplemente cambiando el parámetro AplicarInversa a 1 y vemos si la ganancia mejora:

mini ibex 35

No sólo eso, sino que además podemos probar a optimizar los parámetros del sistema (incluyendo este último), lo cual nos va a permitir que el programa nos informe de en qué casos es mejor aplicar la estrategia inversa y en qué casos aplicar la estrategia original.

 

Óscar Cuevas

 

  1. #4
    17/04/14 14:00

    Disculpame Oscar por mi torpeza , pero no consigo entender ese lenguaje.Ya se que para los que estais acostumbrados es muy sencillo, pero para mi lo es mas aun si digo.Si el RSI 14 corta hacia arriba la linea del 30, qué hago ? Largo o corto?. Y lo mismo cuando corta hacia abajo la linea de 70.Yo estas cosas no las hago con sistemas automáticos sino en vivo.Confio en que me puedas explicar mis dudas. Gracias

  2. en respuesta a alex.popescu
    -
    #3
    24/03/14 09:24

    Estimado Alex. A lo que me refería es que no podemos aplicar esta idea, tal y como está planteada, sobre productos que no permitan operaciones a corto. Por la sencilla razón de que si no nos permiten tomar posiciones cortas, no podemos desarrollar el sistema invertido. Siempre que hablemos de sistemas que realizan operaciones tanto a corto como a largo, obviamente.

  3. Top 100
    #2
    21/03/14 12:33

    Es curioso, al trabajar con sistemas también se me ha ocurrido alguna vez invertir las órdenes, en vez de comprar vender y en vez de vender comprar... A veces sale bien otras no, todo es cuestión de parametrizar y optimizar las variables cuando hay una lógica detrás. A veces los indicadores al llegar tarde, pueden dar oportunidades si aplicamos la lógica inversa.

    Un saludo y gracias por el artículo.

  4. #1
    21/03/14 09:49

    Muy buen articulo Óscar Cuevas! Muy interesante esta estrategia para operar. Lo que me gustaría saber es porque no se podrida aplicar este tipo de estrategia sobre productos que nos permitan operaciones en largo? Cuales serian los principales problemas de aplicar el sistema inverso a las posiciones largas?
    Gracias y un saludo!

Definiciones de interés