La forma en que los seres humanos hemos comerciado (trading -a partir de ahora-) ha ido evolucionando con el pasar del tiempo. Antiguamente, las personas recorrían largas distancias acarreando productos de valor para comerciar en varios destinos. Años más tarde, comenzaron a reunirse en mercadillos donde los comerciantes efectuaban sus transacciones. Hoy día cuando nos referimos al trading, automáticamente lo relacionamos con la inversión y el mercado de capitales.

En nuestra primera entrada vamos a introducir el concepto del trading automático con algunos ejemplos. Identificaremos cómo un inversor individual (también llamado retailer, del inglés) puede emprender el camino hacia la inversión de manera más inteligente utilizando el potencial de las nuevas tecnologías. Éstas, le permitirán traducir una estrategia de trading manual en un conjunto de instrucciones válidas para un software específico. A dicho conjunto de instrucciones lo denominaremos algoritmo.

¿Qué es un algoritmo?

Existen muchas definiciones al respecto, pero aquí vamos a definirlo en una simple sentencia:

Un algoritmo es un conjunto finito de pasos que tienen una entrada y producen siempre un resultado.

¿Demasiado abstracto? Veamos un ejemplo de la vida real:

  1. Todas las mañanas antes de salir al trabajo chequeo en internet si en mi ciudad está pronosticado lluvia durante el día.
  2. Si hay más del 60% de probabilidad de lluvia, entonces tomo el paraguas.
  3. Si no, no tomo el paraguas.

Por tan sencillo que parezca, lo que acabamos de describir es un algoritmo: tenemos 3 pasos (número finito), una entrada (la probabilidad pronosticada de lluvia) y producimos una salida (la decisión de tomar el paraguas o no tomar el paraguas).

Entonces… ¿Cómo podríamos hacer para que la computadora nos libere de esta tarea rutinaria de modo que simplemente nos diga si debo o no tomar el paraguas? Para que la computadora pueda interpretar estos pasos, primero es necesario basarnos en un lenguaje de programación. Éste nos permitirá definir nuestro conjunto finito de pasos de manera formal.

Existen diversos lenguajes disponibles, como por ejemplo Python, R, Java, C, por solo nombrar algunos. Habitualmente, Python es el más utilizado dada su simplicidad y sencillez, además de que cuenta con una gran comunidad de desarrolladores, paquetes de software y plataformas online que facilitan la tarea del trading automático.

En entradas futuras del blog ahondaremos más en estos temas técnicos.

¿Hablamos de trading?

Comencemos con un ejemplo básico de una estrategia de trading. Imaginemos que queremos invertir en la empresa estadounidense Caterpillar Inc.

Tenemos a disposición el siguiente histórico de precios de los últimos 5 años:

Histórico de precios de Caterpillar Inc. a 5 años.

Vamos entonces a basar nuestra estrategia utilizando el concepto de las medias móviles. Una media móvil es simplemente un cálculo matemático que toma el promedio de los últimos X días consecutivos de precios del activo financiero observado. Las medias móviles más utilizadas son las de 20, 50, 100 y 200 días.

A modo de ejemplo, hagamos el siguiente ejercicio para calcular la media móvil de 5 días:

  1. Tomamos la cotización de las acciones de Caterpillar Inc. de los últimos 5 días (del 22 al 26 de Abril de 2019) y obtenemos los siguientes precios expresados en USD:
    142.38, 142.03, 137.73, 136.13, 139.03.
  2. Computamos la media móvil actual sumando estos 5 precios y dividiendo por 5 (es decir, calculamos el promedio): (142.38 + 142.03 + 137.73 + 136.13 + 139.03) / 5 = 139.46.
  3. Al finalizar el próximo día de operación bursátil, tendremos a disposición un nuevo precio que nos permitirá recalcular la media móvil. Para esto, quitamos el primer precio observado (142.38 correspondiente al día 22) y agregamos el último precio al final. Realizamos nuevamente el cálculo del punto 2 y de esta forma tendremos un nuevo punto de media móvil de 5 días.

Programas informáticos realizan estos cálculos automáticamente, pero siempre es bueno entender cómo lo hacen.

En la siguiente imagen, vemos nuevamente la cotización de Caterpillar Inc. con su histórico de 5 años, pero ahora con dos líneas adicionales. La púrpura representando la media móvil de 20 días y la amarilla siendo la de 100 días:

Medias móviles de 20 y 100 días (líneas púrpura y amarilla respectivamente).

Aquí podemos apreciar que la media móvil de 20 días sigue más de cerca lo que el precio fue describiendo a lo largo de estos 5 años. Esto se debe a que en su cálculo, al tomar una pequeña cantidad de precios, la media móvil no se ve afectada por las variaciones pasadas (memoria de corto plazo). Por el contrario, la media móvil de 100 días describe una línea menos pronunciada o más suave por su característica de tener en cuenta muchos más precios (memoria de largo plazo).

Con esto ya tenemos material suficiente para comenzar.

Elaboremos una estrategia!

La estrategia que vamos a idear es la de los cruces de las medias móviles. Cuando la media móvil de 20 días corta a la de 100 en dirección ascendente, compramos acciones de Caterpillar Inc. En contraste, cuando la media móvil de 20 días corta a la de 100 en dirección descendente, vendemos acciones de Caterpillar Inc.

Ubiquemos gráficamente dos puntos de compra y venta que se dieron en el pasado:

Puntos de venta o salida y compra o entrada.

Si poseíamos acciones de la compañía previo al año 2015, se nos hubiese presentado una oportunidad de venta a principios de febrero de 2015. De esta manera, hubiésemos evitado gran parte de la caída que vemos en el precio. Posteriormente, a mediados de septiembre de 2016 se habría presentado una oportunidad de recompra de las acciones aprovechando la tendencia al alza que se sucedió.

¡Y listo, aunque no lo creas ya tenemos una primera estrategia básica de trading! Sencillo, ¿verdad? Muchas veces las estrategias sencillas son las ganadoras. Siempre va a depender del perfil y expectativas del inversor.

Hasta acá, hemos explicado qué es un algoritmo y hemos propuesto una estrategia básica de trading manual. ¿Qué pasa si los combinamos? Obtenemos un trading automático.

Estrategia + Algoritmo = Automatización

Básicamente, lo que vamos a hacer es traducir nuestra estrategia en un algoritmo que pueda ser ejecutado por una computadora a través de un lenguaje de programación.

Cuando el algoritmo comience a funcionar, recibirá los precios de las acciones de Caterpillar Inc. y automáticamente calculará las medias móviles. Si se produce un cruce de medias, se enviará al mercado la orden de compra o venta según el caso. Todo, sin intervención humana alguna.

Cabe destacar que el trading automático puede ser peligroso si no se tiene en cuenta el control de riesgos que ya veremos en futuras entradas. Muchas personas hacen lo que se llama trading semi-automático. Siguiendo nuestro ejemplo, el algoritmo nos notificará cuando se presente una oportunidad de compra o venta, pero no ejecutará la operación. Somos nosotros los que decidimos finalmente que hacer.

Así que antes de empezar una estrategia de trading automático, recordar:

Tener sólidos conocimientos sobre lo que hacen y siempre evaluar la exposición al riesgo a la que nos sometemos.

En Tradiar, creemos fuertemente en que la cooperación entre humano-máquina nos ayuda a ejecutar inversiones inteligentes. En la próxima entrada mostraremos como desarrollar este algoritmo en el lenguaje de programación Python.

Esperamos que les haya sido útil esta primera pequeña introducción a un mundo increíblemente complejo y fascinante.

¡Si tienes comentarios o preguntas, no dudes en escribirnos!

Categorías: General

0 Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *