Última hora
0
Versión sin publicidad. Mejore su experiencia Investing.com. Ahorre hasta un 40% más detalles

Pensemos en el trading algorítmico de manera diferente

es.investing.com/analysis/pensemos-en-el-trading-algoritmico-de-manera-diferente-200438909
Pensemos en el trading algorítmico de manera diferente
Por Luis García Zafra   |  05.10.2020 09:02
Guardado. Ver Elementos guardados.
Artículo ya guardado en sus Elementos guardados
 

Voy a intentar explicar mi visión sobre cómo debería tratarse cualquier proyecto de trading algorítmico representando esto única y exclusivamente mi opinión personal.

Es de la forma que expongo como estoy operando una cuenta real financiada por una de las empresas de fondeo del sector, por lo que considero que puede ser útil aunque no única.

Clave: Universo del algoritmo

Llamamos universo a la porción de realidad de la que el algoritmo será consciente.

El principal problema que nos encontramos en el desarrollo de este tipo de software es cuál será y cómo representaremos el universo de este (el mercado). 

Generalmente los bots que veo intentan representarlo mediante indicadores de uso común (emas, rsi, atr, etc) o combinaciones de ellos.

¿Os imagináis operando un gráfico en el que solo veis 2 emas y el precio de cierre de la vela cuando se cortan las emas? ¿Qué locura, no? Pues ese es el universo de vuestro bot de cruce de medias, aunque estéis viendo el gráfico completo. Recomiendo mirar un gráfico exclusivamente con lo que el robot verá, si solo ve emas y rsi, que no aparezcan velas más que el precio de entrada y salida (y a veces ni eso). ¿Operarías con eso? Pues estás diciéndole a la máquina que lo haga.

Intentar predecir la lluvia mirando al suelo

Supongamos que estamos estudiando patrones para detectar cuando va a llover (nos salimos del trading por un momento) y tenemos a dos individuos con dos universos diferentes:

  1. Cielo: Este estudiará el cielo para intentar saber cuando va a llover, porque dice que el agua viene de ahí.
  2. Suelo: Este estudiara el suelo para intentar saber cuando va a llover, porque dice que el agua llega ahí.

¿Cuál de los dos tiene más posibilidades de llegar a conclusiones óptimas? ¿Cuál de los dos trabajando lo mismo rendirá más?

Por si no se ha entendido aún, añadamos a un tercer individuo, este estudiará el precio de la gasolina en su ciudad para intentar predecir el comportamiento de la lluvia. ¿Apostarías por su proyecto?

Esto mismo pasa con el trader que mira el precio y el trader que mira los indicadores o cualquier otra cosa. Y donde digo trader podría decir estrategia, algoritmo o robot.

 
Error: Optimizar.

Una vez llegamos a nuestro bot basado en indicadores comunes que de por sí no es rentable o "ni pierde ni gana", viene el trabajo de la optimización que no es más que utilizar ciertas herramientas para cambiar parámetros (longitud del rsi, de la ema, del atr, nivel sobrecompra y sobreventa del rsi, etc u otros factores más "complejos" que no dejan de ser más de lo mismo) de forma automatizada dándonos en algunos casos resultados asombrosos en backtest.

Y aquí viene el bendito ratio, tenemos una estrategia no rentable y descubrimos que en el año de backtest hubo 2 semanas que no van a repetirse nunca más probablemente donde podíamos haber sacado el 200 a 1 (o el 6:1) y terminamos haciendo que nuestro sistema opere con esos ratios. En real viene la catástrofe. Y esto del ratio puede extenderse a cualquier otro parámetro…

¿Cuántas veces no has escuchado “¡Este sistema es bueno, sin optimizar casi no pierde o gana algo! Vamos a optimizarlo que ya tenemos el santo grial.”? 

En mis sistemas yo NO optimizo. No, cuando estoy programando solo me interesa que represente al algoritmo que diseñé y que este represente bien a la estrategia que quiero. Profundizaremos en esto más adelante.

 
Error 2: automatizar demasiado rápido

Otro error muy común es , en la fase de implementación (no te preocupes si no sabes de que hablo, más adelante analizaremos todas las fases. En concreto hablo de la fase en la que programamos el sistema para que se ejecute automáticamente), querer automatizar demasiado rápido. Acabo de terminar de probar manualmente mi algoritmo (no la estrategia, sino el algoritmo, también hablaremos de él más adelante. Me refiero a las reglas sin mirar el resultado) y ya quiero automatizarlo de manera que haga él solito las entradas. ¡Error!

Yo aún no automaticé el mío y voy a tardar tiempo en hacerlo. Recién implementado tenemos que depurar bien todo y para hacer esto, la mejor forma es implementarlo en forma de indicador de manera que marque las entradas, pero no las tome y sea el trader humano el que decida si la entrada es buena con respecto al método y se toma o no lo es, no se toma, se documenta el fallo y se corrige.  

¿Qué es depurar?

Depurar consiste en establecer una vía de comunicación entre la implementación y su desarrollador de manera que esta vaya diciendo cada una de las decisiones que va tomando y cómo se van modificando sus principales variables y bucles, de manera que el humano pueda supervisar que está “pensando” como debe y no hay ningún fallo.

Un ejemplo: una vela rompe un rango en una estrategia de rompimiento de rangos pero no la tomamos por ser contratendencia. El algoritmo irá diciendo desde antes de que se produzca esa vela: estamos contratendencia. En la vela dirá no la tomé por ir contratendencia.

 
Error 3: utilizar robots de terceros

Si no entiendes lo que tienes, no lo utilices. Eso no va a salir bien por mucho que optimices. 

Si quieres utilizar un robot de trading tienes dos opciones:

  • Desarrolla el tuyo (puede ser en base a otro ya creado, pero debe terminar siendo tuyo).
  • Contrata a un experto que lo haga por ti y que lo utilice por ti.

Creo que con todo lo expuesto en este artículo, tengo poco más que argumentar aquí.

Entonces, ¿Cómo debe de diseñarse un robot de trading?

Divido en 3 etapas el desarrollo de cualquier bot, cada etapa junto a su fase de pruebas: cualquier error detectado en una etapa anterior nos haría volver a ella, solucionarlo y actualizar las siguientes.

  1. Creación de un criterio lógico operativo.
  2. Diseño del algoritmo que representará este criterio.
  3. Implementación del algoritmo.

Creación de un criterio lógico operativo

Lo primero que tenemos que tener es una estrategia manual que sabemos que funciona. Hasta no tener esto, pensar en automatizar es una tontería. 

Si no la tenemos, tendremos que investigar hasta formarnos un criterio en base al que operar y demostrarnos que este criterio funciona (aunque sea en backtest o en demo).

Diseño del algoritmo que representará este criterio

Una vez tenemos este criterio operativo, nuestro Yo trader ya ha hecho su trabajo, ahora viene nuestro Yo ingeniero el cual tendrá que diseñar un algoritmo que represente fielmente este criterio operativo y probarlo manualmente para ver que representa bien a la estrategia ¡No para comprobar que es rentable!, Eso ya se hizo en la etapa anterior. 

Esto quiere decir que tenemos que ser capaces de operar nuestra estrategia de forma manual como si de una máquina se tratase: sin salirnos de las decisiones que el algoritmo indique. Cada decisión que tengamos que contradecir al algoritmo para seguir al método, será un error y deberá ser corregido. Implementación del algoritmo.

Una vez tengamos el algoritmo, ya solo queda elegir sobre qué plataforma trabajará e implementarlo en esta. Esta es la parte de nuestro Yo programador. 

Luego vendrá la fase de pruebas en la que nos aseguraremos de que se cumple fielmente el criterio del algoritmo. Aquí solo probamos que si el algoritmo dice largo, la implementación mete el largo, no que sea rentable, eso es trabajo de la primera fase y estas no deben mezclarse.

Depuración

Y no nos olvidemos de que esta fase se divide en 2: depuración y automatización completa. En el apartado “Error 2” están definidas estas fases.

En esta fase implementaremos el algoritmo como un indicador que supervisaremos. Podremos tomar manualmente sus señales si nos dan confianza.

Automatización completa

En esa fase, pasará de ser un indicador a operar completamente él.  Se añadirán las órdenes directamente desde el script.

Conclusión

Expuesto esto, creo que es evidente que para mi no hay cabida para la optimización. Es en la primera fase cuando nuestro Yo trader diseña su estrategia y la modifica las veces que haga falta. Cuando esté seguro de ella y no vaya a tener que modificarla más, entonces se pasará a los siguientes pasos y en estos, no se modificará la estrategia, por lo tanto la optimización no tiene sentido.

En cualquier paso si hay que cambiar algo de la estrategia, se vuelve a ese paso, se corrige y se actualiza el trabajo ya desarrollado en las siguientes etapas.

Y lo fundamental, si nuestro robot va a trabajar sobre un gráfico completo de velas, con su contexto y todo, debe conocerlo. Si solo conoce 2 emas, un rsi y un close en un determinado momento... ¡¡Imagina operar humanamente un gráfico así!!

Si nuestra estrategia que nos funciona se basa en price action y no sabemos representar al precio y sus estructuras en un algoritmo, nos ponemos a ello, no intentamos suplir nuestras carencias utilizando cosas ya hechas como indicadores...

Si fuese tan fácil, ¿por qué no ponemos una máquina a probar un conjunto de indicadores y variamos sus parámetros y combinaciones hasta dar con el mejor sistema que nos haga millonarios? Parece fácil, solo necesitamos un equipo bueno o suplirlo con paciencia para esperar que el pc termine. Dividimos el trabajo en lotes por si hay complicaciones en el proceso y listo.

Qué tontos esos que destinan capacidades de cálculo infinitas minando criptomonedas (por ejemplo) pudiendo estar buscando la optimización perfecta y ganando muchísimos millones… ¿O quizás no sea tan ideal esta idea? Dejemos de soñar y pongámonos a trabajar (en lo nuestro, en base a lo de otro quizás, pero nunca copiando a otro. Parasitar no da resultados…).

En futuros artículos, me gustaría explicar qué estrategia sigue el robot del que hablo al principio y cómo fue su proceso de desarrollo, para que se pueda visualizar de qué forma aplico lo que comento aquí.

Pensemos en el trading algorítmico de manera diferente
 

Artículos relacionados

Pensemos en el trading algorítmico de manera diferente

Comentar

Guía para comentarios

Desde Investing.com España le invitamos a que interactúe con otros usuarios y comparta con ellos sus puntos de vista y sus dudas en relación con el mercado. Sin embargo, para que el debate sea lo más enriquecedor posible, por favor, le rogamos que tenga en cuenta los siguientes criterios:

  • Aporte valor a la conversación: Transmita sus conocimientos reales sobre el mercado. Si dispone de información técnica o razones contrastadas sobre los comentarios que vierte en el foro, por favor, añádalas también. Recuerde que hay usuarios que sí deciden operar en real en base a comentarios publicados en el foro.
  • Céntrese en el tema a tratar y contribuya al debate con información de interés. Recuerde que somos una página de información económica y bursátil, por lo que no daremos cabida a comentarios de índole política, religiosa o social. 
  • Sea respetuoso: Rebata cualquier argumento de forma constructiva y diplomática. Queremos ante todo conversaciones objetivas y que se centren en el tema/instrumento a debatir en cuestión. 
  • Cuide la redacción: Vigile la puntuación, las mayúsculas y las tildes. Solo se permitirán comentarios en castellano. Se pueden eliminar comentarios en otros idiomas o dialectos, comentarios cuyo contenido no sea comprensible o comentarios en mayúsculas.
  • Evite comentarios irreverentes, difamatorios o ataques personales contra otros autores o usuarios. Pueden suponer la suspensión automática de la cuenta.
  • Cuidado a la hora de elegir un nombre para su cuenta: Se suspenderán aquellas cuentas que utilicen los nombres de personalidades conocidas o intenten suplantar la identidad de otros usuarios, así como aquellas cuentas que incumplan de manera reiterada las normas del foro. No se permitirán tampoco nombres o nicknames inapropiados o promocionales.
  • NOTA: El spam, los mensajes promocionales y los enlaces serán eliminados de sus comentarios. Enlaces a grupos de Facebook, Telegram, WhatsApp, entre otros, se eliminarán del foro y pueden suponer la suspensión automática de la cuenta. Velamos en todo momento por la protección de datos.

¿Cómo funciona la sección de comentarios?

Todos los comentarios se publican de forma automática siempre y cuando no incumplan ninguna de las normas anteriores. En el momento en el que el sistema detecta una posible “infracción”, el comentario se queda pendiente de revisión, por lo que puede tardar más en aparecer en pantalla (evite duplicar comentarios).

Si el moderador detecta que es un comentario inapropiado procederá a eliminarlo. Si el usuario incide en dicho comportamiento, procederemos a suspender de forma temporal su cuenta y contará como un primer aviso. Si el comportamiento se repite tras el primer aviso, se suspenderá la cuenta de forma definitiva.

Contacte con Soporte Técnico ante cualquier duda que pueda surgirle. Es la única vía de comunicación para tratar estos temas.

Escribe tus ideas aquí
 
¿Estás seguro que quieres borrar este gráfico?
 
Publicar
Publicar también en
 
¿Sustituir el gráfico adjunto por un nuevo gráfico?
1000
En estos momentos no le está permitido dejar comentarios debido a informes negativos de otros usuarios. Su estado será revisado por nuestros moderadores.
Por favor, espere un minuto antes de publicar otro comentario
Muchas gracias por participar en nuestro foro. Su comentario quedará pendiente hasta que nuestros moderadores lo revisen, por lo que puede tardar un tiempo en aparecer publicado.
 
¿Estás seguro que quieres borrar este gráfico?
 
Publicar
 
¿Sustituir el gráfico adjunto por un nuevo gráfico?
1000
En estos momentos no le está permitido dejar comentarios debido a informes negativos de otros usuarios. Su estado será revisado por nuestros moderadores.
Por favor, espere un minuto antes de publicar otro comentario
Adjuntar un gráfico al comentario
Confirmar bloqueo

¿Está seguro de que desea bloquear a %USER_NAME%?

Al hacerlo, ni usted ni %USER_NAME% podrán ver las publicaciones del otro en Investing.com.

Se ha agregado correctamente a %USER_NAME% a su lista de usuarios bloqueados

Acaba de desbloquear a esta persona; tiene que esperar 48 horas para poder bloquearla de nuevo.

Denunciar este comentario

Díganos qué piensa de este comentario

Comentario denunciado

Gracias

Su denuncia será examinada por nuestros moderadores
Aviso legal: Fusion Media would like to remind you that the data contained in this website is not necessarily real-time nor accurate. All CFDs (stocks, indexes, futures) and Forex prices are not provided by exchanges but rather by market makers, and so prices may not be accurate and may differ from the actual market price, meaning prices are indicative and not appropriate for trading purposes. Therefore Fusion Media doesn`t bear any responsibility for any trading losses you might incur as a result of using this data.

Fusion Media or anyone involved with Fusion Media will not accept any liability for loss or damage as a result of reliance on the information including data, quotes, charts and buy/sell signals contained within this website. Please be fully informed regarding the risks and costs associated with trading the financial markets, it is one of the riskiest investment forms possible.
Regístrese con Google
o
Regístrese con su email