Última actualización:

Con la llegada de la computaci√≥n al mundo financiero, se ha generado una nueva vertiente, a la hora de invertir, conocida como trading algor√≠tmico. En realidad el trading algor√≠tmico lleva muchos a√Īos en funcionamiento pero no al alcance de minoristas. Hoy en d√≠a, gracias a los br√≥kers online, es mucho m√°s sencillo hacer uso de ellos.

¬ŅQu√© es el trading algor√≠tmico?

El trading algorítmico consiste en programar una serie de reglas y procedimientos bien definidos (una estrategia) para hacer compras y ventas en los mercados financieros. Es decir, lo mismo que hace cualquier trader, pero automatizado por un programa informático.

En Internet son conocidos como «robot advisor».

Las órdenes que generan estos programas pueden ser ejecutadas directamente en el mercado financiero si así lo deseas. A esto se le llama Trading Algorítmico Automatizado.

¬ŅC√≥mo funciona el trading algor√≠tmico?

Para que funcione un buen sistema de trading algorítmico lo primero que tienes que tener es una estrategia ganadora.

Con una estrategia perdedora, cuando programes el algoritmo, la estrategia seguir√° siendo perdedora.

Si por ejemplo, tu estrategia consiste en usar el RSI para entrar a mercado cuando haya sobreventa y salir cuando haya sobrecompra, lo que tu programa har√° es lanzar la orden de compra y de venta en sobreventa y sobrecompra respectivamente en los mercados o valores que tu le indiques. Nada m√°s.

Por tanto, digamos que el trading algor√≠tmico lo √ļnico que har√° es quitarnos el trabajo de aplicar nuestra estrategia en bolsa.

¬ŅQu√© ventajas tiene el trading algor√≠tmico autom√°tico?

A continuación vamos a enumerarlas.

  1. Se pueden hacer estrategias teniendo en cuenta tanto el análisis técnico como el análisis fundamental.
  2. Las compras/ventas son ejecutadas por una m√°quina que es ajena al p√°nico o la euforia que podamos tener nosotros a la hora de operar.
  3. Una m√°quina siempre podr√° operar mucho m√°s r√°pido que nosotros. El ordenador no dudar√°. Si tu estrategia dice que compres, el programa comprar√° al segundo.
  4. Tu estrategia puede ser llevada a cabo en varios mercados a la vez, en busca de buenas oportunidades de mercado constantemente. Para ello, los algoritmos usan screeners como hacemos nosotros normalmente.
  5. No comete errores humanos: comprar/vender err√≥neamente, no aplicar stops, etc…
  6. Está automatizado. Eso quiere decir que aunque apaguemos nuestro ordenador, el algoritmo seguirá funcionando en los servidores donde esté alojado. Parece un proceso complejo pero en futuros tutoriales verás que es muy sencillo.

¬ŅC√≥mo sabemos si un robot de trading algor√≠tmico es bueno?

La pregunta parece sencilla, pero realmente no lo es.

Antes de contestar a la pregunta, vamos a formular otra pregunta distinta…

¬ŅC√≥mo sabemos que nuestra estrategia es ganadora?

Volviendo al ejemplo anterior de la estrategia del RSI, lo primero que te tendrías que preguntar es:

¬ŅC√≥mo sabemos que realmente es buena estrategia comprar cuando hay sobreventa?

Tened presente que una estrategia nunca es infalible y eso del «santo grial» de los algoritmos no existe. Ante cualquier sistema, siempre deb√©is analizar si realmente funciona o no.

Volvamos al ejemplo anterior: el RSI puede estar muy bien en ciertos momentos, pero no siempre ser√° as√≠ y por supuesto, funcionar√° mejor en unos valores que en otros, por no hablar que tiene mil configuraciones posibles y funciona mejor seg√ļn ciertas temporalidades.

Para saber si una estrategia es buena y por ende, nuestro robot har√° buenas operaciones, debemos hacer un backtesting de la estrategia.

¬ŅQu√© es el Backtesting?

El backtesting es la ejecuci√≥n de tu estrategia a pasado. De esta manera sabremos si nuestra estrategia hubiese funcionado bien si la hubi√©semos usado en los a√Īos/meses/d√≠as anteriores.

Personalmente, cuando yo estudio un indicador nuevo o veo la operativa de alguien, lo primero que me ronda la cabeza es:

¬Ņc√≥mo se yo que no ha sido casualidad?

La respuesta a estas preguntas es coger ese indicador u estrategia y comprobarla a pasado (es decir, hacer backtesting).

Para hacer backtesting a mi personalmente me gusta usar Prorealtime.

Independientemente de la plataforma que utilices, todas tienen unas estadísticas para medir el potencial de una estrategia:

  1. Inicio/Fin(Actual): Se refiere al periodo de tiempo en el que aplicamos nuestro backtesting. Cuanto mayor sea el plazo, mejor.
  2. Ganancias: Se refiere a las ganancias que ha dado la estrategia en el periodo de tiempo estipulado anteriormente. Es muy importante saber si en el backtesting se han tenido en cuenta las comisiones por cada operación.
  3. % de posic ganadoras: Se refiere al porcentaje de acierto que tiene nuestra operativa. No te preocupes si es bajo, ya que esto no es relevante por si solo.
  4. Ratio Gan/Perd: Siempre debe superior a 1. Esto significa la viabilidad de nuestra estrategia. Un Ratio inferior a 1 significa que pierde dinero.
  5. Gan media posic ganadora: La ganancia media que tenemos por cada operación exitosa.
  6. Pérdida med opes perdedoras: La pérdida media que tenemos por cada operación fracasada.
  7. Max Drawdown: La pérdida más grande que tuvo el algoritmo en su backtesting. Esto es importantísimo, ya que nos da una estimación de cual ha sido su peor caída. Ojo, esto NO significa que no pueda caer más del Max Drawdown, pero te hace una idea de hasta cuanto puede llegar a caer en un momento determinado.
  8. Max Runup: El mayor beneficio que ha conseguido en el backtesting.
  9. Tiempo en mercado: Tiempo que el algoritmo permanece invertido. Cuanto menor tiempo mejor, ya que no estar√° tan expuesto al mercado. Recuerda que el dinero cuanto mayor tiempo est√© en liquidez mejor. El principio b√°sico para ganar dinero en bolsa es ganar el m√°ximo dinero posible, en el menor tiempo posible, al riesgo m√°s bajo posible. La estrategia de «ir a largo» no es tan bonita como se pinta.
  10. Media órd ejec: Cuantas órdenes de compra/venta se lanzan al día. Cuantas menos mejor, ya que no tendremos que pagar tantas comisiones.
  11. Resultado Bruto: Se refiere al beneficio obtenido en un periodo temporal.
  12. Gráfico liquidez: Es la curvatura de beneficio. Lo ideal es que sea una pendiente recta y constante en la subida. De nada nos sirve que de bandazos arriba y abajo de manera aleatoria, ya que eso significaría que nuestra estrategia no es capaz de hacer dinero de manera constante, si no de manera aleatoria.
backtesting prorealtime
backtesting prorealtime

En el ejemplo de esta estrategia real, el algoritmo opera en velas de 1 minuto, por tanto operar a mano sería prácticamente imposible. Gracias a este robot no tengo que estar mirando minuto a minuto que ocurre en el DAX para ejecutar las órdenes de compra/venta.

La estrategia tiene un % de posic ganadoras muy baja, pero eso no me preocupa ya que es normal. Si la operaci√≥n se tuerce, la cierra r√°pido para evitar una p√©rdida abultada. Por tanto, aplica un stop loss muy ce√Īido. Si nos fijamos en el Ratio de Gan/Per veremos que es muy bueno. Por otro lado, la ganancia media por operaci√≥n es muy superior a la de p√©rdidas.

Partiendo de una cartera simulada de 10.000‚ā¨, un Max dradown de 400‚ā¨ es tan solo un 4% de p√©rdidas. Poqu√≠simo comparado con el rendimiento de casi el 9% que ha dado en menos de 4 meses.

La pendiente de beneficios se ve ascendente de manera pr√°cticamente perfecta, sin altibajos.

¬ŅQu√© problemas tiene el backtesting?

Imaginemos el ejemplo inicial de la estrategia utilizando √ļnicamente el RSI. Si aplicamos un RSI(14) en OHL podemos ver que funciona mal en el √ļltimo mes de Junio, pero si lo cambiamos a un RSI(2) y hacemos backtesting en Junio, funciona de maravilla!

Ahora llega Julio y aplicamos nuestra estrategia con un RSI(2) y solo tenemos pérdidas.

¬ŅQu√© ha pasado?

La respuesta se llama overfitting. Es decir, has sobre ajustado tu estrategia al pasado para que funcione bien en backtesting, pero eso no significa que vaya a funcionar correctamente a futuro. Es m√°s, cuanto m√°s sobre ajustes tu estrategia, peor funcionar√° a pasado.

¬ŅC√≥mo evitar el overfitting (sobreajuste)?

El overfitting se representa como en esta imagen, donde las bolas azules serían las operaciones exitosas y las bolas rojas las operaciones que nos hacen perder dinero.

overfitting
overfitting

El overfitting sería intentar trazar una estrategia como la linea verde, es decir, intentando acaparar todas las operaciones buenas evitando las erróneas.

Lo correcto sería trazar una estrategia como es la linea negra, donde se puede ver una linea sencilla que trata de abarcar la mejor solución sin tratar de sobre ajustar los casos extremos.

Todo esto traducido al trading, significa que nuestra estrategia debe ser sencilla, evitando todas las particularidades posibles (temporalidad, sobre ajuste de indicadores, uso masivo de indicadores, etc).

Vale, pero… y ¬Ņc√≥mo sabemos si estamos haciendo overfitting de manera inconsciente?

Para ello, debemos trabajar con dos juegos de datos, uno de entrenamiento y otro de testeo. Por ejemplo, nuestra estrategia la ajustaremos y probaremos con backtesting solo para 2018 y una vez obtengamos una estrategia sólida con un buen backtesting, la aplicaremos sobre los datos de test, en este caso, haremos el backtesting sobre 2019.

Si en 2019 vemos que la estrategia sigue con un rendimiento m√°s o menos similar al de 2018, quiere decir que la estrategia es buena. Si por el contrario, el resultado en 2019 vemos que es totalmente aleatorio o no sigue la misma curvatura de beneficios de 2018, quiere decir que hemos hecho overfitting.

Backtesting vs vida real

El problema que tiene el backtesting es que siempre da mejor resultado que en la vida real.

¬ŅPor qu√©?

Principalmente porque siempre, aunque no queramos, tendemos al overfitting. Adem√°s en Backtesting las operaciones se realizan siempre, mientras que en la vida real las operaciones pueden no aplicarse a los mismos precios (por problemas de volumen o subastas).

Generalmente el backtesting es un 3-4% mejor que en la vida real. Ten esto en cuenta cuando pienses que tienes una estrategia ganadora.

Consejos para hacer buen uso del trading algorítmico

  1. Evita algoritmos que tengan un drawdown elevado. Tarde o temprano ese drawdown aumentar√° m√°s y te puede descapitalizar tu cartera.
  2. Plantea algoritmos sencillos, que funcionen en el tiempo y sin obsesionarte por el porcentaje de acierto que tenga. Lo importante es que al final de beneficio.
  3. Procura que la curva de beneficios sea constante, sin altibajos y con forma de pendiente.
  4. Trabaja principalmente en √≠ndices. Son los activos m√°s estables, sin sufrir manipulaciones (splits, dividendos, ampliaciones de capital, noticias de gran impacto…) y de los que m√°s datos para hacer backtesting vas a tener.
  5. Usa temporalidades con las que te sientas más cómodo.
  6. Haz el menor n√ļmero de operaciones posibles.
  7. Permanece el menor tiempo posible expuesto al mercado.

Recordad, que un algoritmo por muy bueno que sea, no quiere decir que no pueda fallar. El futuro es impredecible y rentabilidades pasadas no garantizan rentabilidades a futuro precisamente por eso.

Ejemplo de estrategia exitosa
Ejemplo de estrategia exitosa

¬ŅSab√≠as que…?

Hoy en día, el 60% de todas las operaciones que ocurren en la bolsa americana, son producidas por Robots.

El 6 de mayo de 2010 se produjo un ‚ÄúFlash Crash‚ÄĚ, donde el √≠ndice estadounidense Dow Jones sufri√≥ una ca√≠da del 9%. Esta ca√≠da se recuper√≥ en tan solo 2:45 minutos.

En ese transcurso de tiempo, los algoritmos de Goldman Sachs (robots…) lanzaban miles de √≥rdenes de compra y venta aprovechando la volatilidad del mercado. Mientras tanto, los peque√Īos inversores, buscaban en Google noticias que explicasen que pasaba, sin ser capaces de seguir con sus estrategias o al menos reaccionar ante tan jugosa oportunidad.

Flash Crash

Flash Crash

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.