#1
Trading con Inteligencia Artificial – Mi experiencia y resultados
Hola!
Mi nombre es Joaquín y desde hace más de 15 años trabajo como ingeniero en sistemas para el sector financiero. Tengo una empresa de software donde desarrollamos tecnología principalmente para bancos, fondos de inversión, brókers, etc., especialmente en áreas como IA y Big Data.
En los últimos años he estado desarrollando una plataforma de inteligencia artificial para hacer trading en acciones de Estados Unidos y me gustaría compartir mi experiencia para aquellos que tienen dudas acerca de cómo funciona esta tecnología, qué beneficios o problemas tiene, así como resolver cualquier duda que pueda surgir al respecto.
Implementación de Inteligencia Artificial en Trading
Son diversas las opciones que existen para implementar I.A., puntualmente, hablaré de mi caso concreto el cuál llevo 3 años depurando a base de prueba y error hasta llegar a un resultado satisfactorio.
Actualmente, utilizo un modelo de Inteligencia Artificial basado en Llama-2 de Meta y, como "segunda opinión", la API de GPT de OpenAI.
El modelo de IA lo tengo preentrenado según mi estrategia y opera directamente en Interactive Brokers vía API. Las funciones fundamentales del modelo son:
Monitorear en tiempo real el mercado
El modelo recibe actualizaciones de precios, ratios y noticias en tiempo real y los procesa según la estrategia para detectar oportunidades de compra o venta y ejecutar la orden correspondiente. Esto me permite detectar y gestionar nuevas posiciones o cerrar las existentes, aunque hay algunos pasos adicionales para calificar adecuadamente un trade.
Monitorear la exposición de la cartera
El modelo procesa y calcula constantemente la exposición de la cartera y el riesgo, así como los resultados obtenidos. Esto permite determinar el tamaño adecuado de una nueva posición basado en el riesgo y la composición actual del portafolio y gestionar las posiciones abiertas y su rendimiento. En lugar de usar Take Profit o Stop Loss, la IA actúa como un trailing stop, tomando ganancias o asumiendo pérdidas según el contexto actual (por ejemplo, al conocerse una nueva noticia positiva y mantener una posición, o negativa y cerrarla).
Calcular estadísticas, ratios y precios
La IA calcula constantemente los ratios y estadísticas del mercado. Aplico distintas fórmulas matemáticas para dar soporte técnico a los fundamentos anteriores y determinar con precisión los precios de compra o venta, por ejemplo, midiendo el volumen promedio operado en distintos períodos para determinar el VWAP, calcular la variación media histórica del precio del activo, su relación con los índices, etc.
Entrenar el modelo sobre los resultados
Paralelo al modelo principal, tengo otros dos modelos de IA operando en demo. El primero aprende en tiempo real sobre las posiciones tomadas por el modelo principal y tiene libertad para modificar la estrategia y tomar decisiones. Entrenar este modelo en simultáneo me permite aprovechar la capacidad de la IA de mejorar según la experiencia y luego, después de depurar los resultados, implementar mejoras en mi estrategia principal. El segundo modelo simplemente implementa lo aprendido para probar en un escenario simulado si la nueva estrategia genera mejores resultados que mi estrategia principal.
Aunque el trasfondo y el funcionamiento son bastante complejos, en la práctica se reduce a determinar si algún evento fundamental podría afectar el precio de una acción, conocer todo el histórico de sucesos y su efecto para medir el impacto potencial que tuvo, tiene o podría tener, y calcular las fórmulas acorde a mi estrategia y la exposición actual de la cartera para decidir si comprar o vender acciones, a qué precio hacerlo, qué cantidad y cuándo tomar ganancias o asumir pérdidas.
La estrategia de inversión para entrenar un modelo de Inteligencia Artificial
Sin duda, considero la estrategia de inversión como la parte más crítica para un modelo exitoso. Los modelos de Inteligencia Artificial, en la mayoría de los casos, vienen entrenados genéricamente (como ChatGPT, el cual técnicamente es un LLM y está diseñado y optimizado para conversaciones, no para trading o cálculos).
Esto dependerá tanto de los conocimientos o capacidades técnicas como de los recursos económicos de cada uno. Crear una IA desde cero y entrenarla, y que el resultado sea competitivo frente a las opciones actuales, requiere una capacidad técnica y económica que, en principio, no equilibra la balanza para el propósito.
Independientemente de si usamos una IA como LLama, GPT, Watson, etc., u optamos por construir algo desde cero, los resultados dependerán en gran medida de los parámetros (el input) mediante los cuales la entrenemos. El equivalente en ChatGPT (y las IA conversacionales) es el prompt; por ejemplo, Dall-E puede crear imágenes e ilustraciones de todo tipo, pero no es lo mismo instruirlo a "crear un logo" que especificarle "Crea un logo para mi negocio de inversiones llamado X, en el cual predomine el color azul marino, utilice una fuente clásica y un estilo conservador". Los resultados que obtendremos serán completamente distintos; en el primer caso exprimiendo la "creatividad" de la IA, y la "capacidad" en el segundo.
Mi estrategia de inversión
En términos generales, mi estrategia de inversión considera todos los aspectos mencionados en la parte de implementación (fundamentos macro y micro, acción del precio, estadística), junto con los parámetros de riesgo y exposición adecuados para mi perfil, además de algunas fórmulas propias que he desarrollado a lo largo de los años a base de prueba y error.
En lugar de utilizar indicadores técnicos tradicionales, calculo directamente las variables relevantes para mi estrategia basándome en el histórico de precios. En lugar de usar Take Profit o Stop Loss, mido el impacto en tiempo real de noticias, eventos y la acción del precio, volumen y el libro de órdenes (y lo comparo con todo el histórico) para ajustar el precio de salida. Para determinar qué acciones comprar, me centro en dos factores: el precio actual en relación con el histórico y los eventos que afectaron, afectan o pueden afectar positiva o negativamente al mismo. También calculo el retorno potencial que puede generar y si el riesgo es adecuado para mi portafolio.
En resumen, aplico simplemente la regla de "comprar barato, vender caro". La verdadera clave consiste en saber con la mayor exactitud posible cuándo algo está barato y cuándo está caro.
Un detalle es que solo tomo posiciones de compra y nunca en corto; esto es opcional y depende del riesgo de cada uno. Otro detalle es que el 85% de las posiciones no permanecen abiertas durante más de 4 días. En promedio, mantengo una posición durante 2 días y es en este período donde genera la mayor rentabilidad.
Los resultados y estadísticas
Rentabilidad
Durante la última semana (desde el viernes 3 de mayo de 2024 al viernes 10 de mayo de 2024), obtuve una rentabilidad neta del 14.86% sobre posiciones cerradas. Si contemplo las posiciones que mantengo abiertas, la rentabilidad supera el 23%. Esta rentabilidad está medida en relación al capital de $100,000 y no a la rentabilidad sobre la inversión efectiva, la cual es considerablemente superior. El rendimiento del S&P 500 para el mismo período fue del 1.85%.
Operaciones realizadas y rentabilidad por posición
Operaciones hechas por Inteligencia Artificial
Del total de posiciones, ordenadas por rentabilidad, el mejor rendimiento de un trade fue del 75.41% en ALIT, seguido por el 61.96%, 55.28% y 30.04% en BKKT, PLTN y BNED respectivamente.
Ratios del portafolio
- Ratio Sharpe: 17.5
- Ratio de Sortino: 255.41
- Desviación estándar: 2.6%
- Desviación a la baja: 0.18%
Estos ratios reflejan la excepcional relación rentabilidad-riesgo al gestionar el portafolio.
Los aspectos a mejorar
Un punto débil actual tiene poco que ver con la estrategia o la Inteligencia Artificial, sino más bien con mi propia psicología y el temor a cambiar algo que funciona bien.
Desde la perspectiva de obtener aún más ganancias, el problema que encuentro hoy en día es perder muchas oportunidades por la determinación taxativa del precio de entrada. En otras palabras, pierdo la oportunidad de ganar más dinero (y me ahorro algunas pérdidas) debido al precio límite de compra que establezco al abrir una nueva posición, que muchas veces la acción nunca alcanza.
Si bien actualmente tengo desarrollada una versión mejorada en este aspecto corriendo en demo, comparar los modelos para hacer un cambio implica tiempo y paciencia. El backtesting es una excelente herramienta para probar y depurar distintas estrategias, sin embargo, la precisión real se obtiene operando el mercado en vivo. Probar estrategias en tiempo real implica afrontar el tiempo necesario para exponerse a la infinidad de situaciones y períodos del mercado, y no solo de la acción particular.
Otro aspecto que puede mejorar es el de asumir algo más de riesgo y tomar posiciones más grandes. La mayor evidencia de esto surge al comparar el rendimiento sobre mi cuenta en el período (+23%) respecto al rendimiento por lo efectivamente invertido en el mercado (donde ALIT, que rentó más del 73%, representó solo el 0.68% de la cartera). Si estas 19 posiciones con mejor rendimiento hubiesen tenido un volumen equiponderado (en torno a los $5k sobre $100k), hubiesen rentado un 23.61%, promediando ~$1k de ganancia por posición. Su renta actual para mi portafolio representó poco más del 5%, aportando ~$300 en promedio; la diferencia es abismal, pues el 77% de la ganancia potencial se perdió por una mala ponderación o baja exposición al riesgo.
Otro aspecto importante son los costos fijos por tener funcionando los modelos de inteligencia artificial y las limitantes propias del capital con el que opero, un ratio que se vuelve rentable a medida que la cuenta incrementa su volumen y los ingresos son superiores.
Mantener funcionando los modelos de IA, más los costos de las APIs que proveen precios, fundamentales, noticias, etc., representan mensualmente unos ~$7,500 dólares (sin tener en cuenta el capital humano, ya que soy quien desarrolla y supervisa el modelo a resultado).
Finalmente, hay dinero en juego; esto se traduce en supervisar durante todo el horario del mercado (incluyendo el pre-market y after-market), posiciones, decisiones y el funcionamiento de la Inteligencia Artificial.
En el camino recorrido para llegar a este resultado, han fallado muchas cosas que me han hecho perder dinero, un "costo de aprendizaje"; desde errores propios de programación hasta escenarios o situaciones imprevistas (como por ejemplo, un fallo en la API de precios), las cuales requieren estar alerta para tomar acción inmediata. Esto implica estar 16 horas al día supervisando cada movimiento y el estado de todos los servicios que dependen del modelo; tarea que definitivamente me apasiona y disfruto hacer.
Hoy en día mis intervenciones son nulas y, si bien continúo monitoreando el funcionamiento mientras el mercado permanece abierto, aprovecho para trabajar en las mejoras sobre los modelos secundarios. Obviamente, hay momentos en los que no estoy disponible; en estos casos, la IA, en lugar de tomar decisiones, me notifica y yo tomo la acción manualmente desde mi teléfono.
Las ventajas
Realmente, las ventajas de hacer trading con Inteligencia Artificial son casi infinitas, y los problemas que tengo están relacionados más con mi propia naturaleza humana que con los resultados.
Como principal ventaja, el poder entrenar a un modelo que analice miles de datos constantemente, realice cálculos y tome conclusiones para decidir en fracciones de segundos, supera cualquier capacidad humana conocida y brinda una ventaja competitiva sin precedentes.
Lo que me motivó a iniciarme en el trading hace ya 13 años fue la idea de que la tecnología en algún momento podría superar al mejor trader del mundo. Esta idea nació mientras programaba un robot para jugar ajedrez y me encontré con un artículo sobre Deep Blue vs. Kasparov.
El futuro
Desde mi perspectiva, la IA reemplazará completamente la mayoría de las especialidades humanas, y será mucho antes de lo que imaginamos. Médicos, abogados, científicos, ingenieros y diseñadores dependerán de la inteligencia artificial especializada para desempeñar sus tareas cotidianas. Mensualmente, se publican cientos de nuevos artículos científicos con investigaciones y avances en las distintas materias, y estar a la vanguardia requeriría capacidades sobrehumanas. A la IA le tomaría solo unos minutos procesar y entender toda la nueva información disponible.
En el mercado financiero, la IA ha asumido roles tanto pasivos como activos, que van desde el asesoramiento o la prevención hasta la gestión activa de miles de millones de dólares.
Conclusión final
Los resultados de operar con Inteligencia Artificial hablan por sí solos; las ventajas y capacidades respecto a hacer trading por mi cuenta son determinantes.
Sin dudas, queda un largo camino por recorrer, al menos en mi caso. Comencé a operar en cuenta real con el modelo desde noviembre del año pasado, empezando tímidamente e incrementando la exposición gradualmente.
Las limitaciones actuales generan una gran barrera de entrada al público general, incluso disponiendo de los conocimientos y la capacidad técnica necesarios, el costo de los recursos que podrían mejorar mucho más estos resultados es muy elevado.
Al final del día, se trata de ganar dinero, y los resultados económicos que he obtenido han superado ampliamente mis expectativas, aunque la satisfacción principal proviene de haber consolidado una estrategia sólida, capaz de generar resultados tanto en mercados alcistas como bajistas, siendo completamente independiente de la coyuntura.
Si estás interesado en implementar Inteligencia Artificial en tus operaciones y no sabes por dónde comenzar, espero que este post sea de ayuda para entender las implicancias de hacerlo.
Gracias por haber leído sobre mi experiencia. Estaré encantado de conocer tu opinión o comentarios, o responder sobre cualquier duda (incluso técnicas) que puedas tener.
Saludos,
Joaquín.