Creación de un sistema de trading automatizado

Rustem Bigeev | 15 marzo, 2016

Introducción

Debe admitir que resulta tentador convertirse en el afortunado dueño de un programa que le permite desarrollar un sistema de trading automatizado (STA) rentable en pocos minutos. Sólo tiene que introducir las entradas adecuadas y pulsar "Enter". Y aquí lo tiene, su STA probado y con expectativas positivas de ganancias. Pero al ver miles de personas dedicando miles de horas en el desarrollo de este singular STA, que será como "coser y cantar", mis afirmaciones le resultarían, por decirlo suavemente, poco convincentes.

Por una parte, esto parece realmente inalcanzable... Pero en mi opinión, esto tiene solución. Todos sabemos que las condiciones de las fluctuaciones del mercado cambian constantemente, al mismo tiempo, las herramientas que usan los traders no se suelen adaptar muy bien a estos cambios. Esto se traduce en la necesidad de tener claro lo que hay que adaptar antes de su adaptación. En la mayoría de los casos, no somos capaces de definir claramente lo que sucede en nuestro alrededor para elaborar un modelo de comportamiento correcto.

Cuando se trata de la creación de algoritmos en un contexto de incertidumbre, ¿cómo puede un ciego (una persona) mostrarle el camino a otro ciego (el ordenador)? Por otra parte, tarde o temprano, todo se repite en este mundo, de modo que una situación que ocurrió en el pasado puede volver a ocurrir de nuevo en el futuro. La mayoría de los sistemas STA se basan en esto. Y no me refiero a la adaptación a los cambios de condiciones del mercado. Es mejor ser paciente y poder esperar a que se vuelva a producir la situación que proporcionó resultados aceptables.


¿Para qué sirve un sistema de trading automatizado?

Resulta tentador responde así: Los sistemas STA son para los traders que no saben qué operaciones hay que llevar a cabo en el mercado. Es decir, que si un trader sabe lo que tiene que hacer no necesita un STA. Pero este no es el tema de nuestro artículo. Al mismo tiempo, alguien que siempre sabe lo que hay que hacer, no es un ser humano.

Es una broma. Y es justamente por eso que nos sentimos a veces perdidos, como si estuviéramos en la oscuridad absoluta. Así que la naturaleza se ha preocupado por el ser humano y ha creado los ciclos para estas situaciones de incertidumbre. La alternancia entre el día y la noche es un ciclo evidente. Todo el mundo sabe que la noche sigue al día y viceversa. Podemos ver que el día se está acabando; empieza a oscurecerse. Sucede aproximadamente lo mismo en los mercados. Si observamos un movimiento plano, irá seguramente seguido de una tendencia. Y viceversa, si observamos una tendencia en el gráfico, irá seguramente seguida de un movimiento plano u opuesto, pero con menos fuerza.

En otras palabras, para desarrollar un modelo adecuado del comportamiento del mercado en el futuro, tenemos que definir claramente y registrar el estado actual del mercado. Como lo demuestra la práctica, este punto representa la mayor dificultad. Cada trader tiene su propio concepto sobre cuál es el estado del mercado en un momento determinado. Esto se debe a que cada persona observa los gráficos con su propia percepción del tiempo. Al mismo tiempo, resulta que si dividimos todo el dinero entre todos los traders con sus propias percepciones del tiempo, la mayor parte del dinero será para los traders que trabajan (invierten en posiciones abiertas) con períodos de seis meses o más.

Si no fuera así, no volveríamos a ver tendencias durante muchos años. La singularidad de los mercados financieros define esta escala. Ya que si reducimos drásticamente el tiempo invertido en las posiciones abiertas e invertimos en volúmenes mayores y a corto plazo, o desaparece el mercado o se queda completamente sin liquidez, por lo que trabajar en este mercado sería una especie de caridad. Por lo tanto, los grandes operadores tienen que prolongar los períodos de formación de posiciones de varias semanas e incluso meses. En consecuencia, no se puede cerrar una posición larga en una hora.

Aunque los mercados FOREX operan con volúmenes que van de 3 a 4 trillones de dólares americanos al día, la mayor parte se hace mediante apalancamiento. Esto significa que las posiciones abiertas se convierten en el cierre y el dinero realmente operado es mucho menor. Si alguien decide cambiar una divisa mediante la conversión directa, esta operación no estará cubierta por el swap inverso, por lo que habrá que encontrar a alguien para cubrir el riesgo causado por el efecto de la multipilcación.

La formación de de estas posiciones abiertas con un volumen de "sólo" varios millones de dólares puede "mover" seriamente el mercado. Estos volúmenes son bastante comunes en los grandes fondos de pensiones y de cobertura que no especulan con las diferencias, sólo buscan herramientas con intereses más rentables en ciertas divisas y después de encontrarlas, invierten en ellas por un período de un año o más. Se puede considerar la diferencia del cambio resultante como una ventaja adicional.

Resumiendo todo lo anterior, podemos decir que las fluctuaciones precipitadas prácticamente impredecibles durante los períodos planos empiezan exactamente como consecuencia de las grandes operaciones de conversión directa. Y la tendencia en sí, es el resultado de estas operaciones, puesto que los creadores del mercado empiezan a cubrir los riesgos y abrir sus posiciones en la misma dirección. Cuanto más largo es el movimiento plano (cuanto mayor es la posición y el período que se está formando), más fuerte será la siguiente tendencia.

Modelos de mercado

Por más que los grandes operadores oculten sus maniobras relacionadas con las operaciones de conversión, estas últimas serán tarde o temprano visibles. Un cosa distinta, es cuando un trader normal entiende lo que sucede en el mercado. Es en beneficio de los grandes operadores ocultar sus maniobras lo máximo posible, hasta su finalización. Es en beneficio de los pequeños traders (y no tan pequeños) reconocer estas maniobras en cuanto antes para tomar posiciones rentables con antelación. De todos modos, la formación de una posición larga es un proceso largo y complejo, es decir, hay que calcular todo en detalle y hacer las estimaciones con antelación.

El hecho de que la formación de grandes posiciones siga un reglamento y esté sujeta a ciertas reglas, hace que sea posible identificar estas acciones, al menos en la fase de implementación, no después. En esto se basan todos los tipos de modelos de mercado. Se representan determinadas acciones mediante un determinado modelo en el gráfico de precios. Antes de empezar con el análisis detallado de los modelos del mercado, sería conveniente tratar de entender lo que realmente representan y lo que queremos de ellos. Para empezar, podemos ver los modelos de mercado descritos con detalle en los libros clásicos sobre el análisis técnico.

Por ejemplo, los patrones de las figuras "Doble techo/suelo", "Cabeza y hombros", etc. son todos modelos de mercado, ya que después de su formación en el gráfico van seguidos en la mayoría de los casos de un movimiento de precio definido y previsible. Por lo tanto, se puede resumir la definición del modelo de mercado de la siguiente manera:

Un modelo de mercado es un determinado patrón en el gráfico, seguido de un movimiento de precios en la dirección y distancia previstas.

Añadiría más; en la mayoría de los casos.

Si sólo tenemos en cuenta los gráficos del precio, se pueden identificar varios modelos de mercado, a pesar de los errores que puedan producirse. Pero cuando se trata de los sistemas STA, tendremos que usar métodos matemáticos ya que los ordenadores adoran la precisión y odian la incertidumbre.

Precisión de los modelos de mercado y su capacidad de predicción

Se puede describir cualquier modelo de mercado mediante algunos parámetros matemáticos. Cuanto más parámetros usamos en la descripción del modelo de mercado, más claro será este modelo y podremos reconocerlo con más facilidad en el futuro. Por otra parte, antes de empezar con la descripción matemática de los modelos de mercado, sería conveniente seleccionar aquellos que proporcionan en la mayoría de los casos los resultados esperados. Pero existen algunas dificultades.

¿Cómo se definen y seleccionan estos modelos? Dándole vueltas, encontré algunas analogías con otros ámbitos. Como ejemplo, vamos a considerar un criador de caballos pura sangre. El criador sabe perfectamente, de experiencias pasadas, cuales son los requisitos que hay que reunir para criar un caballo capaz de ganar competiciones. Por ejemplo, los padres y los abuelos de este caballo también tienen que ser pura sangre. Sus condiciones de vida, su alimentación y sus entrenamientos deben cumplir también con ciertos requisitos. Al mismo tiempo, si el criador reúne todos los requisitos, conseguirá potros, que en su mayoría estarán a la altura de sus expectativas.

En términos de mercado, estas condiciones son el equivalente a nuestro modelo de mercado que tiene que responder a nuestras expectativas en el futuro. La única diferencia, es que el trader no puede crear estas condiciones, pero sí que puede esperar hasta que ocurran. Volviendo a lo anterior, tenemos que determinar qué modelos hay que seleccionar para su descripción matemática, y lo más importante, ¿cómo reconocerlos desde el principio? Tendría sentido actuar de forma inversa. Es decir, determinamos primero los resultados esperados, y luego las condiciones que proporcionaron estos resultados en el pasado.

Por ejemplo, nos gustaría tener 100 pips por operación. Por lo tanto, necesitamos los movimientos de precios que hayan superado 100 pips + spread + margen de situaciones imprevistas (digamos el 30-35 5%). En este caso, es muy recomendable que estos movimientos de precio vayan en sólo impulso y que no tengan importantes correcciones de errores. Es también muy conveniente describir los modelos de mercado mediante las herramientas matemáticas que suelen usar los traders. Se determina el conjunto de indicadores y sus entradas con antelación. Se pueden describir las acciones posteriores de la siguiente forma:

  1. seleccionar y marcar en el gráfico las áreas que cumplen con nuestros requisitos, es decir, movimientos de pulsos de 130-140 pips;
  2. definir los puntos/áreas donde han empezado;
  3. describir matemáticamente el punto/área donde se inició el pulso;
  4. tratar de encontrar los valores de los parámetros comunes obtenidos en las descripciones.

Si se encuentran los parámetros comunes, es muy posible que el modelo de mercado se base en ellos. Si cada situación parece única, sería conveniente cambiar los indicadores para describir el modelo de mercado o para buscar parámetros más óptimos para los que ya existen.

La siguiente etapa es la prueba del modelo de mercado obtenido mediante los datos del historial. En esta etapa, puede ocurrir que el precio no permita siempre variaciones de 130-140 pips en las mismas condiciones, a veces no alcanza este nivel y a veces lo supera bastante. Por lo tanto, hay que tener en cuenta el número de casos donde el modelo proporciona el resultado esperado y el número de casos que se puedan considerar como errores estadísticos. Si el error estadístico supera un cierto nivel, tendremos que introducir otros parámetros para describir el modelo con el fin de ajustar los casos a nuestros objetivos. Así que podemos describir de esta forma el modelo de mercado para nuestros fines concretos.

Teniendo esta descripción, podemos crear un STA que completará la creación del modelo de mercado y proporcionará la señal para iniciar una nueva operación. En mi opinión, la mayor dificultad consiste en que todos los modelos se construyen a partir de los datos del historial, y nadie puede predecir su comportamiento en el futuro. A veces, los caballos de pura raza tienen descendientes que no lo son.

La única solución consiste en seguir probando. Es decir, al obtener un resultado satisfactorio con los datos del historial, comenzamos a operar y seguimos observando los parámetros estadísticos en base a lo acumulado. Una vez no satisfechos con los resultados, tendremos que volver a calcular y describir todo de nuevo.

Automatización de la creación de un STA

Al final, vamos a pensar si es posible automatizar el proceso de selección y descripción de los modelos en base al STA. Desde el punto de vista técnico, no le veo muchas dificultades. Como se mencionó antes, la descripción del modelo de mercado comienza con la definición de los objetivos. Después seleccionamos las situaciones que cumplen los objetivos preestablecidos a partir del historial.

Creo que un programador poco cualificado es capaz de seleccionar impulsos de una longitud preestablecida a partir del historial de datos y registrarlos. Sin embargo, la siguiente etapa relacionada con la descripción de las situaciones seleccionadas puede requerir un planteamiento distinto y mucha más experiencia. En la descripción del impulso del movimiento de un punto/área, habrá que buscar un gran número de indicadores con múltiples combinaciones de parámetros. Cuanto mayor es el número de indicadores y parámetros implicados en la descripción, más precisa será la descripción del modelo y más fácil será filtrar aquellas situaciones del mercado que no se ajustan exactamente a la descripción.

Más tarde, a partir de los múltiples parámetros que describen el punto/área del impulso de inicio del movimiento, mantendremos sólo aquellos que se repiten en la mayoría de los casos y los usaremos en la descripción del modelo.

Conclusión

En otras palabras, este proceso se puede automatizar. Personalmente, no sé cuanto tiempo pude implicar su implementación. Esto se debe a que no soy un programador, aunque lo he intentado. Me gustaría proponer a todos los que estén interesados en este problema y deseen participar en su resolución, crear un laboratorio de sistemas de trading y combinar esfuerzos y experiencias con el fin de conseguir un buen resultado.

Como punto de partida, podemos tratar de crear un algoritmo para seleccionar situaciones de mercado con parámetros preestablecidos. Después de superar esta etapa, podemos comenzar a desarrollar el algoritmo de descripción de los modelos de mercado.