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 avances tecnológicos y 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 (lo que todo el mundo llama “una estrategia”) para hacer compras y ventas en el mercado financiero. Es decir, lo mismo que hace cualquier trader que sigue una estrategia, pero en vez de tener que hacerlo a mano, se gestionan con un programa informático.

En Internet los encontrarás con otros nombres como robot advisor, expert advisor(ea), etc…

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.

Diseñar tu propia estrategia es muy sencillo y hoy en día ni siquiera es necesario saber programar. En este vídeo te enseñamos cómo hacerlo.

¿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 constantemente. Para ello, los algoritmos pueden usar 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.

¿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.

Descarga de nuestros Robots

En Faro Bursátil llevamos tiempo perfeccionando nuestras propias estrategias. Disponemos de una gran comunidad donde compartimos estas estrategias en código abierto y además explicamos cómo funcionan.

¿Quieres echarles un vistazo?

👇Pincha en la imagen👇

¿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 últimos 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 me puedo fiar yo de su operativa?

La respuesta a estas preguntas es coger ese indicador u estrategia y comprobarla a pasado cómo hubiese funcionado (es decir, hacer backtesting) y no fijarme únicamente en el resultado que me quiera enseñar.

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 futuro.

¿Cómo evitar el overfitting (sobreajuste)?

El overfitting se representa como en esta imagen, donde las bolas azules serían las operaciones ganadoras y las bolas rojas las operaciones perdedoras.

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, sin ningún criterio que justifique de algún modo el porqué trazar esa linea en esas condiciones, salvo la de sobreajustarnos a la muestra.

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. Cuantas más operaciones realice tu estrategia, mejor! Realizar pocas operaciones puede hacer que uses demasiados filtros y por tanto estés pecando de overfitting.
  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.