Què és el trading algorísmic?

Trading algorismic

Inici » Actualitat »

Què és el trading algorísmic?
Autors:

La Borsa de valors era un mercat on clàssicament inversors de carn i ossos intercanviaven títols, establint-se uns preus a partir de l’oferta i la demanda que existia a cada moment.

Aquesta visió ha canviat dràsticament en els darrers anys en què la majoria de les operacions que es creuen als diferents mercats del món són llançades de manera automàtica per robots que executen algorismes.

El trading algorísmic és el procés de fer servir un programa informàtic per a què generi ordres de compra o de venda en base a un conjunt d’instruccions o models de predicció.

La clau del trading algorísmic és la manca d’intervenció humana, ja que es descarta l’impacte de les emocions humanes, a l’hora de prendre decisions.

Les ordres de compra i venda es poden llançar al mercat de manera manual (paper trading) o de manera automàtica (és el que s’anomena trading automatitzat).

 

Com són aquests algorismes de trading?

Els algorismes que s’utilitzen intenten rendibilitzar un cert patró de comportament que hem detectat en base a la informació històrica. Per tant el que es busca és tenir un avantatge estadístic a l’hora de prendre una decisió per comprar o vendre.

Per exemple, uns algoritmes se centren a buscar la continuïtat d’una tendència alcista o baixista, d’altres busquen valors que s’han allunyat molt de la seva valoració mitjana, alguns busquen els clàssics arbitratges que es produeixen en períodes transitoris, mentre que d’altres busquen divergències entre parells de valors correlacionats.

Els algorismes de trading es poden basar en regles (tipus quan passa certa condició compra/ven) i/o també es poden programar mitjançant algorismes de Machine Learning (aprenentatge automàtic).

 

Exemple d’algorisme basat en regles, en aquest cas amb una mitjana aritmètica curta de 15 sessions i una mitjana aritmètica de 150 sessions. Compraria quan la mitjana curta talles de baix cap a dalt la mitjana llarga i vendria al fer el creuament de dalt cap a baix..

Exemple d’algorisme basat en regles, en aquest cas amb una mitjana aritmètica curta de 15 sessions i una mitjana aritmètica de 150 sessions. Compraria quan la mitjana curta tallés de baix cap a dalt la mitjana llarga i vendria al fer el creuament de dalt cap a baix.

 

El disseny d’aquests algoritmes és una tasca complexa que requereix una combinació adequada de raonament lògic i creativitat. A més, el desenvolupament habitualment comporta una fase dilatada en el temps de prova i error per donar lloc a una estratègia guanyadora.

Molts d’aquests algoritmes necessiten ser adaptatius i evolucionar durant la seva vida, perquè quan una estratègia és molt rendible, apareixen altres agents que intenten replicar-la i explotar-la i, com a conseqüència, pot passar a ser una estratègia perdedora.

 

Procés de creació d’un algorisme de trading mitjançant Machine Learning

El procés de creació d’un algorisme de trading mitjançant Machine Learning en línies generals el podríem dividir en els següents passos:

  1. Definició de l’enunciat del problema
  2. Lectura de dades històriques de les cotitzacions d’un o més actius
  3. Comprovacions del bon estat de les dades
  4. Configuració de la variable objectiu
  5. Feature engineering (Enginyeria de característiques)
  6. Divisió de dades en dos conjunts: proves i validació i entrenament del model
  7. Backtesting dels resultats i anàlisi del rendiment de l’algorisme

 

Per exemple, seguint la mateixa numeració dels passos faríem:

  1. Volem saber si hem de comprar o vendre accions de l’empresa X

  2. Obtindríem les dades històriques de l’empresa X

  3. Comprovaríem que no hi ha salts en les dates de les dades obtingudes, que no hi ha duplicats, que no hi ha màxims o mínims sense sentit,…

  4. Com a “variable objectiu”, per exemple, podem definir que volem saber si les accions de l’empresa X pujaran un 5% en els propers 5 dies. Com tenim les dades històriques,per cadascuna de les jornades, podem mirar que ha passat els 5 dies següents i marcar la variable objectiu d’aquell dia amb un “Comprar” o “No fer res”

  5. Com a “features” (característiques), per exemple, puc fer servir indicadors tècnics de tendència com el ADX,  un de tipus oscil·lador com el  RSI (Index de força relativa) i  un que m’indiqui la volatilitat o la correlació entre dues  mitjanes temporals. Fem els càlculs corresponent per cadascun dels dies per tal d’obtenir les“features” que ens han de servir per predir la nostra “variable objectiu”

  6. Dividirem el “DataSet” (conjunt de dades) en dos conjunts tenint en compte la temporalitat. Per exemple, les dades des de l’1 de gener del 2015 a l’1 de gener del 2021,  i ens guardarem les dades del segon període, del 2 de gener de 2021 al 31 de gener del 2022 per validar.

  7. Backtesting dels resultats i anàlisi del rendiment de l’algorisme

Un cop obtingut el model mitjançant diferents algorismes de Machine Learning, faríem el que es coneix com  a “Backtesting”, és a dir, provaríem l’estratègia obtinguda de fer el model en el pas anterior amb les dades del darrer any, d’aquesta manera podríem comprovar si l’algorisme hagués guanyat o perdut i en quina quantitat.

 

Resultat del valor de la cartera al llarg del temps fent servir l’estratègia de la gràfica anterior. Els trams plans indiquen que estem fora del mercat.

 

El fet d’obtenir un bon algorisme de trading per un cert valor o un cert conjunt de valors, no es garantia de res, però ofereix un avantatge “estadístic” a l’hora de prendre decisions. 

Si esteu satisfets amb el rendiment de l’estratègia de “Backtesting”, aleshores el següent pas seria començar a operar en mode manual (Paper trading). Si no és així, hauríeu d’ajustar l’estratègia fins a obtenir un rendiment acceptables. I un cop els resultats en mode manual siguin satisfactoris, podríeu començar a operar de manera automatitzada a través d’un broker online.

Figura que mostra el procés d’implementació d’una estratègia de trading automàtic, Extreta del llibre (1)

 

Es poden llogar aquests algorismes de trading?

Arran de l’explosió en l’ús de programes algorísmics per invertir en borsa ha sorgit tota una indústria. Mentre les grans institucions financeres tenen els seus propis departaments d’investigació per desenvolupar un programari personalitzat, els petits inversors també es poden beneficiar d’aquests models gràcies als robots de lloguer.

 

On puc aprendre’n més ?

Podeu consultar el codi d’exemple que genera l’estratègia d’aquest article al repositori de  Github

Per la xarxa podeu trobar un munt d’articles, Moocs i vídeos,  personalment us recomano aquests cursos online que a hores d’ara son gratuïts:

 

Referències