Entrevista a Quant Beckman

Sin lugar a duda, en los últimos años estamos asistiendo a un auténtico boom de la aplicación de técnicas de Machine Learning al análisis de mercados financieros. Sin embargo, son muy pocos los traders que a día de hoy trabajan únicamente con este tipo de técnicas cuantitativas y, mucho menos, los que se prestan a ser entrevistados, como es el caso que nos ocupa hoy. Y es tengo el honor de haber podido entrevistar a Quant Beckman, un auténtico experto en este campo que nos desvela cómo es su trabajo, qué algoritmos de Machine Learning utiliza y también nos da algunos trucos en exclusiva para nuestros lectores.

X-Trader (XT): Ante todo, muchísimas gracias por concedernos esta entrevista, como te puedes imaginar no hay muchos traders que trabajen técnicas avanzadas de Machine Learning en el trading y que además quieran salir a la luz. Pero vayamos por partes: lo primero de todo, la presentación de rigor. ¿Quién es Quant Beckman y por qué te da por meterte en esto de los mercados financieros? Y ya de paso, ¿de dónde viene tu curioso nombre de guerra en Twitter?

Quant Beckman (QB): Muy buenas, Alberto, es un placer estar aquí contigo y con todos los seguidores de X-Trader, a los que les mando un afectuoso saludo.

Esas preguntas siempre son las más dificiles de contestar… Mi familia y amigos dicen que soy un fanático del aprendizaje, pero simplemente creo que es importante conocer el porqué de lo que haces. Ahora bien, si tuviera que definirme con más formalidad, te diría que soy un científico de datos cuya área de dominio es la Economía.

Los mercados me han interesado desde que era un niño. Vengo de una familia de funcionarios y toda mi vida he huido de eso. Mis intereses siempre han estado alineados con el mundo de la empresa privada y la inversión. Sin embargo, tuve que esperar a conseguir mi primer empleo, para poder reunir capital suficiente y empezar a operar.

En cuanto al nombre de Twitter, viene de Johann Beckmann. Se trata de un científico alemán que vivió en el siglo XVIII y que, aunque mucha gente no lo sabe, acuñó el término «Tecnología».

XT: ¿Cómo le explicarías tu forma de desarrollar estrategias de trading a alguien que no sabe nada de Machine Learning?

QB: Sin duda, lo primero que le diría es que se olvide de todo el corpus que da forma al paradigma del análisis técnico, fundamental, chartismo, etc. Y como no, también del folclore, la farándula y el misticismo que probablemente habrá escuchado sobre el ML.

Teniendo esto claro, la aproximación sistemática sería la siguiente:

  • Definir cuál es el problema a modelar.
  • Revisar si ya existe una solución disponible y si es posible mejorarla.
  • Entender la estructura de los datos disponibles.
  • Identificar si los datos admiten múltiples maneras de ser modelados.
  • Seleccionar las técnicas de ML más adecuadas para cada parte del problema.
  • Finalmente, reflexionar y entender las limitaciones del producto creado.

Todos estos pasos forman parte de una secuencia mucho más compleja y que da estructura al sistema de trading.

XT: ¿Cómo es el día a día de un trader quant? ¿Cuánto tiempo dedicas a desarrollar y a supervisar la ejecución de las estrategias? Los algoritmos que desarrollas, ¿operan en gráficos de ticks, intradía, etc. o son más de largo plazo?

QB: Es bastante rutinario. La mayor parte del tiempo está asignada a la investigación y revisión de literatura académica, normalmente, papers en el ámbito de la ciencia de datos. Posteriormente, llega la otra cara de la moneda, su implementación y testeo.

En relación al tiempo y dedicación, es relativo y depende del proyecto, pero puede ir desde un par de semanas hasta meses. Hay periodos que son más como un maratón y otros se parecen más a un sprint. En estos momentos tengo la suerte de trabajar con un pequeño grupo de grandes profesionales en Scipia que aligeran toda la carga del proceso, que se encuentra dividido en tres etapas:

  • Una parte del equipo se centra en la adquisición, curado de datos e infraestructura del broker.
  • Otra parte se encarga de la investigación y desarrollo de sistemas.
  • Y la tercera parte se ocupa del testeo de los outputs de los sistemas generados limitando posibles sesgos.

Esta manera de trabajar hace de cortafuegos para cualquier sesgo que una de las partes pudiera tener. Completado el proceso, si el tester da luz verde al sistema, se pone en producción y opera automáticamente sin requerir de intervención humana.

En cuanto al tipo de datos, si nos referimos al OHLC tradicional o sucedáneos, hay que tener en cuenta que las múltiples interacciones que se dan en el mercado no siguen un intervalo temporal fijo. Por esa razón, evito las clásicas barras temporales que agregan ticks y, en su lugar, utilizo datos procesados que han sido construidos a partir de la entrada de nuevas transacciones significativas. Esto reduce el ruido y mejora las propiedades estadísticas de los datos. El único hándicap que tiene esto es que el volumen de datos se reduce.

XT: ¿En qué mercados y productos operas habitualmente?

QB: Prácticamente, cualquier activo y mercado que tenga datos suficientes y donde los sistemas alcancen unos estándares de calidad mínimos: Forex, acciones, commodities… La construcción del portfolio es un proceso iterativo que define cada sistema de manera autónoma.

XT: Cuéntanos un poco acerca de tu equipo y el software que utilizas, tanto para el desarrollo de sistemas como para su ejecución.

QB: Actualmente utilizo un Lenovo con procesador AMD Ryzen Pro 5995WX y doble tarjeta gráfica NVIDIA RTX A6000 (que es específica para la computación de sistemas de Machine Learning).

Por otro lado, como los sistemas son de baja frecuencia están ejecutados en Python. Para ello, utilizo dos IDEs bastante populares: el primero es Pycharm, para la elaboración de proyectos que ejecuto en local, mientras que el segundo es Google Colab, que permite cloud computing, testeos rápidos y compartir código con cualquier persona del equipo.

XT: ¿Cuáles serían las estadísticas de un sistema ideal? O dicho de otro modo, ¿qué parámetros y métricas te hacen decantarte por uno u otro sistema?

QB: Antes de las estadísticas, busco como prerrequisito que el sistema sea explicable; es decir, que entienda por qué hace lo que hace, tanto si lo hace bien como si lo hace mal. Este es un punto clave en cualquier trabajo de ingeniería y en este caso no es diferente, los sistemas hay que mantenerlos, actualizarlos y mejorarlos.

Por otro lado, como es obvio, el sistema debe ser funcional. Esto se puede traducir en las siguientes métricas:

  • Precisión: > 0.7
  • Recall: > 0.7
  • F1 score: > 0.7
  • Deflated Sharpe Ratio: > 0.9
  • Information ratio: 0.5-0.75
  • Conditional drawdown: 0.05
  • Expected shortfall: > -0.03
  • Bet concentration: < 0.02
  • Holding time: < 5

XT: ¿Cuáles son tus algoritmos de Machine Learning favoritos? ¿Prefieres aprendizaje supervisado, no supervisado, metalearners…? ¿Utilizas Adversarial Machine Learning?

QB: ¡La verdad es que hay tantos que no sabría cuál elegir! Puestos a decir algunos, quizás serían los relacionados con Multi-head Attention, Hamiltonian Monte Carlo o versiones alternativas del algoritmo Metropolis-Hastings.

Ahora bien, si hablamos de series temporales financieras y sistemas feature-driven, me gustan sobre todo Sequential Bootstrapping con Random Forest o ExtraTrees. Se trata de métodos específicos para problemas de clasificación y abordan el problema del overfitting. Además, si clasificamos series temporales tenemos el problema de que las muestras no están igualmente distribuidas ni son independientes y al final hay concurrencia de eventos. Este algoritmo también aborda ese aspecto cuando configuras el máximo de muestras a eliminar.

En relación a las preferencias, tanto supervisado como no supervisado tienen su hueco a la hora de montar el sistema. Y además, no es que se utilice uno solo en cada etapa del proceso de construcción del sistema, sino que utilizas varios de ellos coordinados. Continuando con el ejemplo de los problemas de clasificación, necesitas usar algoritmos supervisados que etiqueten tanto el side como el size del evento o transacción. En cambio, para la selección de features, necesitas algoritmos no supervisados enfocados en la ortogonalización, clusterización, penalización, etc.

Los metalearners tienen su lugar también en todo esto. Bien hechos son una herramienta bastante potente. El proceso se puede complicar mucho más, por ejemplo, poniendo a cada algoritmo a cooperar o competir. Como ya sabes, hay que hilar muy fino y no perder de vista dos puntos clave: sencillez y precisión.

Con respecto al Adversarial ML no lo utilizo porque, como cualquier otra red neuronal, es extremadamente fácil que nos conduzca al overfitting. Prefiero otras técnicas basadas en eigenvalues y aleatoriedad matricial. Plantean lo mismo, pero tienen otra política de procedimiento, especialmente con datos que presentan un signal-to-noise ratio bajo, como es el caso de los datos financieros.

XT: ¿Cuáles son tus features favoritas cuando arrancas el diseño de una estrategia?

QB: Hay muchas features de las que me siento orgulloso porque son de diseño propio. Sin embargo, no tengo preferencia por ninguna porque yo no las elijo. Es el propio sistema quien se encarga de seleccionarlas. De todos modos, a modo de referencia, algunas categorías a tener en cuenta serían las siguientes:

  • Entropía: Shannon entropy, Lempel-Ziv entropy, Kontoyiannis entropy, etc.
  • Microestructura: Corwin Schultz spread, Bekker-Parkinson volatility, Kyle lambdas, etc.
  • Structural breaks: Chow-type Dickey-Fuller test, Brown-Durbin-Evans Cusum, Pruned Exact Linear Time (PELT), etc.
  • Series temporales: Longest strike below mean, Time reversal asymmetry, Benford correlation, etc.
  • Indicadores técnicos: RSI, ATR, Supertrend, Momentum squeeze, etc.
  • Fundamentales adaptados: ROA, ROE, Quick ratio, etc.

De momento son casi 300 features distintas. A nada que las generes con unos cuantos parámetros diferentes, te juntas con un par de miles. Si los datos son el corazón del sistema, la investigación y desarrollo de features nuevas, sin duda, son el cerebro.

XT: ¿Cómo controlas el riesgo en tu operativa? ¿Qué mecanismos de control tienes implementados para evitar que pasen cosas que no deben pasar con los algoritmos que has desarrollado?

QB: ¡Esta es una pregunta interesante! Todas las operaciones tienen asignada automáticamente una salida por beneficios y otra por pérdidas. Dependiendo del tipo de sistema, el procedimiento para calcular la salida será uno u otro. Por ejemplo, en el caso de utilizar un sistema basado en feature-driven, este es un parámetro que se asigna previamente a la hora de etiquetar las observaciones. Por lo tanto, ya sabes de antemano que cuando el sistema predice una señal tu TP podría ser, por ejemplo, del 2% y tú SL del 1%. Va a depender de lo que hayas parametrizado.

Sin embargo, para otro tipo de sistemas o soluciones analíticas, tengo preferencia por la inferencia bayesiana. Con ella calculo la posterior en base a distribuciones de Gumbel.

Otros salvavidas que están implementados y que actúan a modo de cortafuegos para cualquier pifia que pudiera suceder son:

  • Que haya convergencia entre la señal del modelo primario y la predicción.
  • Uso de órdenes limitadas que se cancelan si no se han activado antes de un periodo determinado.
  • En el caso de que la orden se haya ejecutado, si la señal generada por el sistema no coincide con los datos de la cuenta en el broker, se cierra la operación.

XT: ¿Utilizas algoritmos de gestión monetaria? ¿Cuáles utilizas habitualmente?

QB: Utilizo gestión monetaria en la mayoría de sistemas. Se trata de un proceso dinámico que utiliza un algoritmo que está basado en size decay. Básicamente combina las probabilidades de obtener un verdadero positivo con la distribución de señales concurrentes.

En otras palabras, si el sistema genera una señal que se superpone a la señal anterior, el tamaño de la posición se reduce en función de la probabilidad de éxito de la operación.

XT: Alguien dijo una vez que “las técnicas de Machine Learning no sirven para predecir el comportamiento del precio por cuanto no tenemos patrones realmente en las series de cotizaciones debido al elevado nivel de ruido presente en ellas. Ello impide proporcionar ejemplos etiquetados correctamente a los algoritmos”. ¿Qué opinas al respecto?

QB: Es totalmente cierto cuando se usa precio crudo o retornos. Los datos no solo hay que curarlos, también hay que procesarlos y para eso no vale cualquier técnica. El modelo necesita ser alimentado con datos que tengan un signal-to-noise ratio alto. Esto quiere decir que necesita ejemplos significativos con los que aprender.

Con las features pasa lo mismo: no solo la selección es clave, también el procesado de las mismas. Para que el modelo pueda predecir correctamente necesita de features estacionalizadas pero que simultáneamente conserven la memoria.

XT: Aparte de para crear estrategias de trading, ¿qué otros usos le das a las técnicas de Machine Learning dentro de tu esquema operativo?

QB: A la hora de hablar de esquema operativo hay que pensar que es como una gran fábrica, es decir, una cadena de montaje automatizada. Cada etapa contiene técnicas de ML bien cohesionadas, que orquestan todo el proceso de forma sistemática. Algunos de estos usos son a nivel de:

  • Obtención de datos.
  • Creación de portafolios.
  • Evaluación de sistemas.
  • Brokernomics.

XT: ¿Qué te parecen los builders como Strategy Quant, Expert Advisor Studio o Alphadvisor? ¿Perversión del data science aplicado al trading o herramientas que facilitan encontrar nuevas ideas de trading?

QB: Mi opinión es que han automatizado una manera de generar falsos positivos masivamente. Si los builders realmente fueran la solución, los fondos dejarían de invertir cientos de millones anualmente en información privilegiada y utilizarían las versiones de pago de estas herramientas. Es más, hace tiempo que el mercado habría desaparecido.

XT: ¿Qué le dirías a un trader que opera de forma discrecional y no sabe nada de Machine Learning? Y ya puestos, ¿crees que la intuición del trader discrecional se puede modelizar usando métodos de Machine Learning?

QB: Le diría que nunca es tarde para hacer un Grado en Ciencia de Datos o en Matemáticas Computacionales. Pueden resultar duros pero son bonitos y cambiarán el esquema de trabajo que tenga.

Sobre la segunda cuestión, si entendemos la intuición como la «habilidad para conocer o percibir de manera rápida», eso es algo que no sólo hacen los algoritmos de ML sino también otros algoritmos más básicos.

XT: Desde tu perspectiva como trader quant, ¿qué es lo que más te gusta del trading? ¿Y lo que menos?

QB: Lo que más me gusta del trading es que todo cambia y eso te obliga a estar siempre al día. Como ingeniero debes estar constantemente adaptándote, aprendiendo cosas nuevas y mejorando lo que ya haces bien. Podría decirse que es al desarrollo personal lo que el interés compuesto a la inversión.

Lo que menos me gusta es la poca cultura de cooperación que hay en este contexto, a pesar de que nunca antes fue tan fácil comenzar un nuevo proyecto junto a otros quants o equipos ya establecidos.

XT: ¿Qué opinas del impacto de la psicología en el trading?

QB: La psicología sólo debería estar presente en las relaciones interpersonales y lejos de los mercados per se. Ahora bien, es la piedra angular para que el equipo de quants funcione y sea capaz de desarrollar una metodología, sistema o modelo. Sin eso, no tienes nada aunque paradójicamente, una vez que pones el sistema en producción, es innecesaria.

XT: Todo trader se ha arruinado alguna vez o ha pasado por un momento realmente difícil, en el que ha estado a punto de perder hasta la camisa. Cuéntanos cómo fue ese momento en tu caso.

QB: Estas anécdotas suelen ser bastante embarazosas… Estaba empezando en esto del trading, había leído toda la basura que hay en Internet, los típicos libros de análisis técnico, e incluso había hecho un par de cursos con una empresa sevillana bastante conocida. Creía que ya estaba listo, que ya podía marcarme un trading for a living tal y como me habían prometido todos esos gurús.

Sin embargo, el despertar fue duro. Tras aplicar el método y lo aprendido en los libros milimétricamente, las operaciones perdedoras se sucedieron una detrás de otra, cada cual peor. El mercado me zarandeó como si fuera un combate de boxeo. Primero perdía de 10 en 10, luego de 100 en 100 y luego… terminé por quemar la cuenta.

Fue ahí, al final de esa sangría y después de haber cometido todas las cagadas posibles, cuando entendí que ese no era el camino. Por suerte, me di cuenta bastante pronto de que el trading discrecional era absurdo y me pase a este otro bando.

XT: ¿Qué proyectos tienes para el futuro inmediato?

QB: Actualmente estoy desarrollando sistemas cooperativos multi-agente, transformers para datos tabulares y nuevos métodos de optimización de portafolios.

Sin embargo, en los últimos días me he visto muy motivado e inspirado con AlphaTensor de DeepMind, así que he decidido plantear al equipo diseñar un modelo que siga una idea similar, solo que en vez de crear nuevos algoritmos para multiplicar matrices, cree nuevos algoritmos de trading.

Ya os iré contando a dónde me lleva ese camino, si a la gloria o al overfitting. 😉

XT: ¿Cuáles son tus películas y libros de trading favoritos?

QB: Sinceramente, prefiero otro tipo de películas. Pero si tuviera que elegir alguna, quizás sería La Gran Apuesta (The Big Short). Con ella aprendí que hasta los escenarios financieros más negros pueden ser rentables.

En cuanto a libros, uno basado en mi role model: The Man Who Solved the Market – How Jim Simons Launched the Quant Revolution. Con él aprendí que nunca es tarde para iniciar un proyecto, lograr algo realmente significativo e impactar en el mundo en el que vives.

XT: Danos una recomendación especial para los lectores de X-Trader.net. Ya sabes, ese pequeño truco que poca gente conoce y que nos puede ahorrar muchas horas de investigación.

QB: Iré al grano: no te centres en predecir cuál será el valor del cierre de la siguiente vela, los retornos o en buscar patrones. Trata de predecir en qué momento tú sistema dejará de ser rentable y no volverás a perder dinero.

XT: Tus pensamientos finales sobre el trading y la despedida de rigor.

QB: Creo firmemente que para tener éxito en esta actividad es necesario formar un equipo con personas excepcionales. Cualquiera puede sacarle unos euros al mercado o darle su capital a otro para que se lo gestione pasivamente, pero ver a traders levantando imperios billonarios… eso es algo que no se ve todos los días.

Sin embargo, si te fijas en aquellos que tienen un éxito abrumador, detectarás que todos tienen un punto en común, las mentes más brillantes cooperan y trabajan juntos para lograr sus objetivos. Recuerda, un trader solitario operando con su propio capital es un trader pobre.

Poco más que decir, no me quiero alargar mucho más. Me ha encantado estar aquí y compartir este rato con todos vosotros. Si tenéis cualquier duda ya sabéis donde encontrarme.

¡Un fuerte abrazo!

XT: Mil gracias a ti por concedernos esta excelente entrevista.

COMPARTIR EN: