Machine Learning para Traders I

Con esta serie de artículos iniciamos una introducción al Machine Learning o aprendizaje máquina, realizando un repaso a los principales métodos existentes y sus aplicaciones en el trading.

¿Qué es Machine Learning?

Machine Learning es una disciplina científica que combina conceptos procedentes de dos áreas: Estadística (Matemáticas) y Ciencias de la Computación. Mediante dicha combinación, es posible crear sistemas que aprenden de forma autónoma, identificando patrones complejos en millones de datos. Dicho aprendizaje se realiza mediante algoritmos que revisan los datos y son capaces de predecir comportamientos futuros, mejorando sus resultados de forma autónoma con el tiempo, sin intervención humana.

Dentro del Machine Learning podemos establecer diferentes categorías en función de los métodos utilizados:

  • Aprendizaje Supervisado, mediante el que se intenta establecer una relación entre dos conjuntos de datos, utilizando uno de ellos para predecir el otro. Estos métodos generalmente son modelos de regresión mejorados para modelizar cambios de régimen, datos atípicos (outliers) y correlaciones entre variables. Dentro de esta categoría podemos diferenciar los siguientes métodos:

    – Regresión: Lasso, Ridge, Loess, KNN, Splines, XGBoost.
    – Clasificación: Regresión Logística, Naive Bayes, Support Vector Machine, Random Forests, Cadenas Ocultas de Markov.

  • Aprendizaje No Supervisado, mediante los que se pretende obtener una estructura subyacente en los datos e identificar los principales factores que rigen su comportamiento. En este caso, podemos encontrar los siguientes métodos: – Clustering: K-Means, Birch, Ward Spectral Cluster
    – Análisis Factorial: PCA, ICA, NMF

  • Deep Learning, utilizado habitualmente en el procesado de imágenes, análisis del lenguaje y en general en cualquier campo que presente datos desestructurados. Aquí están la mayor parte de redes neuronales, incluyendo Perceptrones Multicapa, Redes Convolucionales, Redes LSTM y Restricted Boltzmann Machines.

  • Otras aproximaciones, tales como Aprendizaje Reforzado, Semi-Supervisado y Aprendizaje Activo.

Como podemos ver, tenemos ante nosotros un amplio abanico de técnicas, cada una con sus diferentes características, que iremos desgranando en los próximos artículos. No obstante, seguramente el lector se esté preguntando en estos momentos, por qué deberían interesarle este tema de cara a su aplicación en el trading, sobre todo si nunca ha oído hablar de estos métodos.

La Revolución de las Máquinas

Como ya sabrán, en la actualidad millones de registros y observaciones son capturados electrónicamente por múltiples dispositivos, algo que resulta perfectamente palpable en los mercados financieros, donde se producen millones de operaciones, ticks, cotizaciones, noticias, etc. que pueden ser analizados desde un punto de vista estadístico.

A esta amplia disponibilidad de datos de alta frecuencia es la que se conoce como Big Data. Gracias a esta nueva tendencia, ahora es posible que un analista cuantitativo pueda tener una idea más o menos aproximada de la situación de una compañía o un país en tiempo real adquiriendo y analizando estas grandes bases de datos sin necesidad de recurrir a los datos publicados por la propia empresa o por los organismos oficiales.

El análisis de estas enormes bases de datos desestructurados generalmente se realiza mediante técnicas de Machine Learning como las que acabamos de enumerar. No obstante, ya les adelanto que es tan sencillo como “meter los datos a la trituradora y a ver qué sale”, utilizar de forma adecuada este tipo de técnicas requiere un buen conocimiento teórico de las mismas, así como bastante práctica utilizándolas.

Para que se entienda mejor, imaginemos por ejemplo el caso de un analista de Wall Street que analiza varias compañías y pretende dar una valoración de las mismas. ¿Cómo pueden ayudarle el Big Data y las nuevas técnicas de Machine Learning?

Primero, el analista busque proveedores de grandes bases de datos de la mayor calidad posible. Seguramente se trate de bases de datos de gran volumen, generados en tiempo real y con un amplio rango de características. Entre esos datos, además de las cotizaciones y las transacciones realizadas en el mercado, podemos encontrarnos información generada por personas y empresas tales como mensajes en redes sociales, análisis de productos, tendencias en los términos de búsqueda, transacciones comerciales, operaciones con tarjetas de crédito, etc., aunque también podemos encontrar la proporcionada por los sensores que registran nuestra actividad cada día (imágenes obtenidas por satélite, movimientos de personas por la ciudad o en unos grandes almacenes, datos de tráfico, posicionamiento de barcos, etc.)

Todos esos datos deben ser procesados para poder obtener una valoración muy precisa y casi en tiempo real de una empresa. A partir de dicha valoración, se adoptará la decisión de compra o venta, dependiendo en parte del estilo de trading que se esté desarrollando (macro, equity long-short, etc.)

Seguramente al leer todo este proceso que acabamos de describir, algunos pueden sentirse tentados a pensar que esto no es muy diferente de las técnicas estadísticas tradicionales. Sin embargo, este nuevo marco de análisis basado en Big Data y Machine Learning supone el desarrollo de nuevas capacidades de análisis y, sobre todo, infraestructura, mucha infraestructura para poder almacenar y procesar esta ingente cantidad de datos.

Por otro lado, otro aspecto que casi siempre se olvida es que una vez analizados los datos, necesitamos a un experto en el campo de análisis considerado para decidir si las reglas y relaciones obtenidas con estas técnicas tienen sentido. Esto es, si generamos reglas de trading en base a técnicas de Deep Learning, el siguiente paso a realizar es revisar si los resultados obtenidos son operables y si tienen sentido desde el punto de vista de un analista o un trader. Y es que por el momento el Machine Learning aún no es capaz de reemplazar la intuición humana (aunque me consta que se están realizando esfuerzos en ese terreno).

Ojo también con considerar el Machine Learning como la panacea para todo. Sin un análisis adecuado y un conocimiento avanzado de las técnicas, podemos caer muy fácilmente en el overfit o en engañarnos con relaciones y patrones espurios.

Lo que está claro es que esta revolución es ya imparable y que el interés cada vez mayor por estas técnicas, tal y como podemos ver en el siguiente gráfico de Google Trends:

Los Cambios que se Avecinan

Resulta evidente que toda esta revolución tendrá consecuencias en la manera en que funcionan los mercados. A medida que cada vez más traders e inversores adopten el uso de técnicas de Machine Learning, los mercados reaccionarán cada vez más rápido y anticiparán con mayor precisión los resultados de las compañías y los datos macroeconómicos, superando a las estimaciones realizadas con métodos tradicionales basadas en datos “lentos” como resultados trimestrales de las compañías o datos macro mensuales.

Con el paso del tiempo, los quants tendrán cada vez más ventaja frente a los operadores tradicionales y es incluso bastante probable que al final los datos tradicionales terminen por perder todo su valor predictivo.

Lógicamente, todo este proceso reducirá la presencia humana en el mercado: no en vano, ya la mayor parte de las actividades de market making de alta frecuencia están controladas por máquinas. Asimismo, el rápido procesado de feeds de noticias, tweets, presentaciones de resultados, páginas web, etc. permite adoptar decisiones de trading rápidamente basándose en toda la información que se publica en tiempo real a lo largo y ancho de la Red, no siendo tan necesaria ya la figura del analista fundamental o técnico a la hora de decidir si compramos o vendemos. Es cierto que el desarrollo de la tecnología aún es modesto y que interpretar el comportamiento humano de un banquero central o de un político es por el momento demasiado complicado, pero también lo es el hecho de que inevitablemente los analistas, traders y gestores tendrán que familiarizarse antes o después con el Big Data y el Machine Learning si quieren sobrevivir en el mercado.

Es por ello que me he animado a iniciar esta serie de artículos, con el fin de poner al día a los lectores de X-Trader.net y hacerles ver que el trabajo de desarrollar y trabajar con sistemas automáticos de trading pasa actualmente y de forma inevitable, por un conocimiento de las técnicas de Machine Learning.

Un Poco de Terminología

Para finalizar el artículo, y con el fin de centrar un poco al lector de cara a los próximos artículos, os presento una relación de algunos términos utilizados en Estadística con sus correspondientes equivalencias en el campo del Machine Learning:

Ah se me olvidaba: podéis aprender más sobre estas técnicas en el nuevo Master en Machine Learning que ha lanzado recientemente la UNED.

(Continuará…)

Saludos,
X-Trader

COMPARTIR EN: