4

Este artículo es el primero de la categoría de Sistemas en análisis y he querido empezar con éste a raíz de otro artículo reciente de un compañero de Rankia, Jeromegekko titulado "Ganando dinero con Larry Williams", cuando leí su post me pareció un sistema sencillo y según se desprendía de elevada efectividad en aciertos. Lo que me hizo pensar, bueno dará pocas entradas pero si son positivas con 2 ó 3 sistemas como éste podríamos obtener unos beneficios consistentes mensual o anualmente, o también podemos incrementar el número de contratos en cada potencial operación para obtener un mayor retorno o beneficio, pues bien para responder a estas cuestiones esta última semana me he dedicado a automatizarlo y probarlo con diferentes herramientas Visual Chart 4 y Ninja Trader 6.5.

Hoy explicaré las 2 versiones para Visual Chart 4, en barras diarias y barras de 60 minutos, pero antes quiero aclarar los criterios de entrada y salida de este sistema, con algunas diferencias a las descritas en el artículo del compañero, puesto encontré un artículo en inglés donde se describían con algo más de detalle: http://www.mrci.com/lwilliams.php

Instrumento objetivo

Larry Williams aplica este método al mismo índice SP500 (no confundir con el miniSP) de hecho el gráfico que él mismo expone como ejemplo es del día 17 de Abril del 2001 donde el sistema expuesto consigue 22,8 puntos de ganancia con 1 solo contrato.

 

Para abrir este instrumento en Visual Chart, hacer lo siguiente:

 

Y seleccionar el S&P 500 NDX CONTINUOUS

Criterios de entrada

El método propuesto consta del análisis de un patrón de 3 días cotizados y consecutivos, esto es 3 barras diarias consecutivas de la cotización del SP500:

1- El primer día debe ser un día positivo, esto es que la apertura sea menor en puntos al cierre del mismo día, o lo que es lo mismo que habríamos ganado si hubiésemos comprado al inicio de la sesión y vendido al fin de la misma.

2- El segundo día debe ser una “inside day” del primer día, esto es que el mínimo y el máximo del segundo día sea mayor y menor respectivamente, por lo que la barra del segundo día queda visualmente como si estuviera dentro de la del primer día, ver la barra señalada con una flecha en rojo en la siguiente imagen:


3- El segundo día además debe ser un lunes, un jueves o un viernes.

4- El tercer día debe abrir por debajo del máximo de los dos días anteriores, esto es que la cotización en la apertura del tercer día tiene que ser menor que el máximo del primer día y menor al máximo del segundo día, con que sea menor al máximo del segundo ya es suficiente.

5- La entrada se producirá cuando durante el tercer día se rompa el máximo del primer día, por lo tanto habrá que poner una orden stop de compra en el máximo del primer día.

Criterios de salida

Pues "casi" no hay!, parece increíble pero el mismo Larry Williams nos dice en su artículo "The exit strategy is to get out on the first profitable open with a dollar risk stop" y esto significa:

1- Stop de 1$ (que es lo mismo que no ponerlo)

2- Salida en la primera apertura con beneficios

¿Por qué nos dice esto? pues bien según él mismo, este sistema ha dado un 100% de aciertos en todas las entradas que se han hecho, en el artículo dice de 27 entradas las 27 entradas son ganadoras.

Es muy atractivo, ¿no? lo mismo pensé y me puse manos a la obra para automatizarlo y analizarlo.

Proceso de automatización

Para tener una idea de cuántas entradas y cómo podía funcionar este sistema, realicé una automatización a partir de las cotizaciones históricas en barras diarias del SP500, es una primera aproximación a su automatización pues no es posible replicar todos los criterios de entrada con las cotizaciones diarias y para entender esto hay que entender primero cómo funcionan y trabajan las herramientas que nos permiten construir sistemas como son Visual Chart y Ninja Trader y que aclararé más detalladamente en posteriores artículos.

Cuando analizamos una barra en estas herramientas, las cotizaciones contenidas en esa barra ya son historia, ya son pasado, es decir en ese momento no podremos lanzar una orden al mercado, solo podemos lanzar una orden en la próxima barra, o sea, cualquier orden introducida desde una barra solo se ejecutará en la próxima.

Una imagen vale más que mil palabras:

La orden se ejecuta en la barra con la flecha azul identificada como una "C" de Compra y un "1" de 1 contrato, pero realmente esta orden se introduce en la herramienta desde la barra señalada con la flecha roja, esto debemos tenerlo siempre en mente pues determinará cómo procedemos a automatizar un sistema.

En cambio si operamos discrecionalmente (ejecutando órdenes manualmente), mientras se está dibujando una barra podemos lanzar una orden al mercado, en cambio con estas herramientas no es posible pero sí podemos minimizar el problema, el cómo lo veremos en otro artículo, aunque estoy seguro de que muchos de vosotros ya sabéis la solución o la podréis intuir después de leer este artículo.

En cuanto a la estrategia de salida, la lógica es salir de una operación que se halle en mercado en la apertura de la barra próxima barra diaria, es decir en la apertura del 4º día.

Resumiendo, en el sistema con barras diarias sólo podemos automatizar los criterios de entrada 1, 2 y 3 mientras que en las barras de 60 minutos podemos automatizarlos todos, por lo que el sistema que os proporciono al final del artículo está desarrollado y hay que aplicarlo a cotizaciones de 60 Minutos.

Vamos a ver los resultados para las barras diarias.

Resultados

Automatización del Sistema Larry Williams en barras diarias para 1 contrato sobre el histórico 2000-2010 del SP500:

Nota: estos resultados no incluyen las comisiones del bróker por operación ni el slipagge.

Hoy vamos a analizar 3 puntos (en otros artículos explicaremos la equity curve, Drawdown y otras medidas de resultados):

1) El primero se trata de la Ganancia total, como podéis ver en la imagen es de -9,3 puntos, sí! es negativo, después de 10 años de ejecutar este sistema según las pruebas o backtesting nos dice que hoy perderíamos 9,3 puntos por contrato.

2) El segundo es el total de operaciones "Nº Negocios", en diez años se han lanzado al mercado 36 operaciones que nos da una media de unas 3,6 operaciones al año, pero lo que es más importante es que de estas 36, 16 son ganadoras "Nº negocios positivos" y 20 son perdedoras "Nº negocios negativos", vaya! con lo optimista que había empezado...

3) El tercer punto es la fiabilidad del sistema, con un porcentaje del 44% de aciertos, que lo obtenemos dividiendo las operaciones ganadoras por el total de operaciones (16/36) y el profit factor que nos determinará la fiabilidad en las ganancias del sistema y se obtiene su resultado dividiendo el total de ganancias por el total de pérdidas (166,8/176,10)

El máximo DrawDown no lo voy a analizar pues este sistema carece de una estrategia de salida por lo que por ahora no le doy importancia, aunque es uno de los indicadores más importantes a la hora de analizar un sistema.

Conclusión: a primera vista ya descartaría este sistema, pues nos da más pérdidas que ganancias y su principal característica (una elevada tasa de aciertos) queda en entredicho pues obtenemos solo un 44% de aciertos.

Finalizada la primera prueba, que a más de uno hubiese hecho descartar este sistema, preferí desarrollarlo con una mayor granularidad para adaptarlo exactamente a la estrategia de entrada descrita (ver criterios de entrada), por lo que pasé a construirlo en barras de 60 Minutos. Vamos a ver sus resultados.

Automatización del Sistema Larry Williams en barras de 60M para 1 contrato sobre el histórico 2000-2010 del SP500:

Nota: estos resultados no incluyen las comisiones del bróker por operación ni el slipagge.

1) Ganancia en 10 años para 1 contrato de 82,1 puntos. Esto nos da una media de 8,2 puntos por año para un solo contrato, no está mal para un sistema que lanza tan pocas operaciones, aunque si obtenemos la media de puntos por operación sale algo más de 3,5 puntos que tampoco se trata de la panacea.

2) De un total de 23 operaciones (2,3 de media por año), 11 son ganadoras y 12 perdedoras... vamos mal amigo Larry, seguimos sin cumplir con la alta efectividad anunciada.

3) El profit Factor de 2,58 es aceptable, a partir de 2 considero que hay que seguir estudiando y trabajando el sistema, puesto nos indica que de cada 2 puntos perdemos 1 y en el caso que nos ocupa de cada 2,58 puntos perdemos 1.

Vista la segunda prueba se nos despeja un poco más el cielo, aunque no es oro todo lo que reluce pues cuando pensábamos que estábamos ante un sistema de alta efectividad, nos encontramos con un sistema de baja tasa de aciertos pero que produce resultados positivos.

Si analizamos las 12 operaciones perdedoras podremos ver que en 8 de ellas podríamos haber salido tranquilamente con una ganancia mayor a 3 puntos que habría mejorado notablemente la efectividad (19 operaciones con ganancia/23 operaciones totales) hasta un 83%, aunque claro está seguramente también penalizaríamos las operaciones ganadoras.

Conclusión

Para ir terminando y no aburriendo al personal quiero concluir destacando que el sistema que nos ocupa es necesariamente mejorable en cuanto a los criterios de salida pero que mientras tanto se puede utilizar a modo discrecional y gestionando personalmente la salida, os proporciono una herramienta para vigilar las posibles entradas.

Para incluirlo en la futura cartera de sistemas automáticos (es uno de mis objetivos explicado en la presentación con su consiguiente seguimiento de resultados mensual, deberíamos ser capaces de mejorar la efectividad encontrando una estrategia de salida adecuada. Si de algo estoy bastante convencido es que uno de los aspectos más importantes de la inversión en los mercados es la estrategia de salida, yo lo equiparo a lanzar una moneda al aire, es decir, si lanzamos una operación al mercado, pueden ocurrir dos cosas en un determinado punto del tiempo futuro que suba o baje (no quiero ni hablar de que se quede como estaba) y esto lo podemos demostrar con el mismo sistema que hoy os he expuesto, la tasa de aciertos se  aproxima al 50% (11 ganadoras por 12 perdedoras) por eso considero tan importante gestionar bien la salida en un sistema.

Como cuatro ojos ven más que dos, y un objetivo de este blog es que participéis y juntos consigamos encontrar sistemas que sean aceptables para ir construyendo una cartera, podéis solicitarme los dos archivos con los sistemas, los dos para Visual Chart (más adelante os pasaré la versión para Ninja Trader) que contienen:

- Fichero con el sistema de Larry Williams para la dimensión de 60 Minutos (Sistema_60M_larryWilliams1.vba y acordaros de seleccionar esta compresión al abrir el gráfico de las cotizaciones) y parámetros de entrada: el día de la semana a operar y el número de contratos, para que podáis trastear los diferentes resultados que nos daría probando diferentes combinaciones...

- Fichero con el Estudio para la dimensión de 1 día (Estudio_1D_LarryWilliams1.vba y acordaros de seleccionar esta compresión al abrir el gráfico de las cotizaciones) para este sistema, nos servirá para que el propio Visual Chart nos indique cuándo es posible que haya una potencial operación a la vista, y digo a la vista porque nos avisa que se cumplen las primeras 3 condiciones de entrada explicadas antes, por lo que el resto de criterios los aplicaremos en modo discrecional o manual.

- Para su instalación ver el artículo Instalación de sistemas, estudios e indicadores para Visual Chart.

Y ya para terminar os pongo la imagen sacada del día 17 de Abril del 2001 día del que tan satisfecho estuvo nuestro amigo Larry:

Nota: en la dimensión de 60M no se habría realizado esta operación, a ver si encontráis el porqué, espero vuestros comentarios, análisis, pruebas, propuestas, opiniones... Muchas gracias!.

Si deseas que te envíe cualquiera de los archivos con los sistemas automáticos de trading, no tienes más que pedirlo.

  1. en respuesta a Iparra
    #4
    10/03/10 12:05

    Hola Iparra,

    de tu pregunta podríamos hacer varios post, finalmente llegaríamos a la pregunta clave de cómo consideramos si un sistema es aceptable, aquí cada maestrillo tiene su librillo, pero ya hablaremos más adelante sobre este asunto.

    Respecto al mínimo de negocios u operaciones que debe lanzar un sistema para tener datos fiables sobre él, que creo que por ahí va tu duda, decirte que no estoy de acuerdo con lo de los 1000 negocios, yo me fijo más bien en otros criterios como el DrawDown, Profit Factor, entre otros, por que la fase de backtesting sirve para que nos dé una pequeña idea de cómo se puede comportar, claro está que si un sistema da muy pocas entradas en un amplio backtesting (como el de Larry) casi es mejor que lo ejecutemos manualmente. Y posteriormente pasaría por una fase de Forwardtesting, esto es en papertrading o demo, a partir de ahí vamos sacando más conclusiones...

    Saludos

  2. #3
    09/03/10 22:15

    Hola Joanmarcel

    Llevo un tiempo iniciándome en los sistemas de trading, con Visual Chart y me alegro de que haya alguien que se anime a hacer un blog como éste.
    Me gustaría comentar, al hilo de tu escrito sobre Larry Williams, cuál sería el número de negocios mínimo para considerar el sistema, por lo menos, a estudiar.
    Yo he leído opiniones que hablan de un mínimo de 1.000 negocios para considerar los datos mínimamente fiables.
    Los sistemas que he probado en gráficos diarios, se quedan todos muy lejos de los 1.000 negocios (con un espacio de tiempo 1990 - 2010)
    En gráficos intradía sí se llega a los 1.000 negocios, pero según mi poca experiencia, incluso siendo sistemas con buenos resultados, en cuanto se ponen las comisiones y los deslizamientos, se vuelven negativos o por lo menos poco interesantes.
    Parece ser que la alternativa es combinar sistemas y mercados. El problema que le veo a esto es que sube el nominal total.

    Un saludo.

  3. en respuesta a Lugarejo
    #2
    09/03/10 17:10

    Gracias Lugarejo,

    También tienes el Ninja Trader que es gratis y también lo puedes probar en tiempo real si tienes cuenta en IB, aquí hay que saber algo de C# pero si sabes programar en VB yo no creo que tengas ningún problema en aprender con el NT pues básicamente lo que importa es conocer las funciones propias de la herramienta para programar sistemas y el manual de ayuda que proporcionan aunque esté en inglés es fácil de entender.

  4. #1
    09/03/10 16:38

    Enhorabuena con el artículo. Espero que sigas trabajando en esto y nos sigas explicando tan bien todos los términos y sistemas que utilizas. A mí también me va esto de los sistemas, pero hasta el momento sólo he podido hacer cosas interesantes con Visual Chart gracias al visual basic, porque con Java no soy capaz de programar... estoy intentando aprender, porque se puede usar en numerosas plataformas, no sólo en Visual y se pueden comprobar en tiempo real, no como con Visual que su coste es muy elveado.

    Un saludo y seguiré leyéndote.

Cookies en rankia.com

Utilizamos cookies propias y de terceros con finalidades analíticas y para mostrarte publicidad relacionada con tus preferencias a partir de tus hábitos de navegación y tu perfil. Puedes configurar o rechazar las cookies haciendo click en “Configuración de cookies”. También puedes aceptar todas las cookies pulsando el botón “Aceptar”. Para más información puedes visitar nuestra política de cookies.

Aceptar