Existe Alpha Arena, donde varias IAs compiten con dinero real. Esto es otra cosa, y a propósito: no es una competición ni un escaparate de rentabilidad, es un banco de pruebas para ver cómo decide un modelo cuando le das datos de mercado de verdad, noticias del día y un presupuesto que se agota. El dinero es ficticio. Lo que no es ficticio son los precios, las noticias, las comisiones ni las órdenes, que se copian a cuentas de práctica de dos brokers reales.
Un terminal para aprender, no un escaparate
La primera versión era pública y pequeña: once activos, sin noticias. La rehice entera cuando me di cuenta de que lo que yo quería no era un marcador, sino un sitio donde mirar los mercados del mundo, la economía del día y a mi bot operando, los tres en la misma pantalla. Un terminal para aprender. Estuvo cerrado con contraseña desde entonces y lo he abierto ahora, cuando el diario de decisiones ya tenía suficiente dentro como para que se entienda de qué va.
La referencia contra la que se mide es deliberadamente tonta y deliberadamente difícil de batir: 50 % bitcoin y 50 % S&P 500, comprados el primer día y sin tocar nunca más. Si el bot no le gana a eso, no está aportando nada más que movimiento.
Lo que hace, y lo que tiene prohibido
En cada turno
- Recibe la cartera, el universo de activos y hasta 25 titulares nuevos desde el último turno, numerados.
- Decide: comprar, vender o no hacer nada — quedarse quieto es una respuesta válida y la usa.
- Devuelve qué titulares ha usado de verdad, no solo cuáles ha visto.
Alrededor
- Los precios se refrescan cada 15 minutos, en un proceso aparte que no llama a la IA.
- Puede pedir vigilar cualquier símbolo que no esté en la lista: se valida, se le busca ruta a broker y caduca a los 7 días sin usarse.
- Avisos a mi Telegram cuando opera, cuando falla o cuando lleva más de cinco horas sin turno.
Prohibido
- Apalancamiento. Nada de CFDs apalancados ni futuros.
- Copiar la referencia: el prompt lo prohíbe explícitamente.
- Tocar dinero real. Las claves de los brokers son de entorno de práctica y están limitadas a la IP del servidor.
Por qué está todo en euros
Le pedí una cosa concreta: que fuera lo más parecido posible a invertir yo, desde España. Eso cambió más de lo que parece. La moneda base es el euro, y lo que no cotiza en euros paga 0,15 % por el cambio de divisa además del 0,1 % de comisión — que es justo lo que te comes en la vida real y lo que hace que operar mucho salga caro. Las divisas se tratan como cruces contra el euro, no contra el dólar. Un bot que opera en dólares y no paga el cambio toma decisiones que a mí no me servirían.
El primer bot hacía trampa sin saberlo
La primera personalidad que le escribí era «disciplinada». Sonaba bien. En la primera prueba, el bot construyó una cartera que era esencialmente la referencia —mitad bitcoin, mitad S&P 500— y se quedó quieto. No estaba haciendo nada malo: con esas instrucciones, copiar el índice es la decisión disciplinada. Pero así el experimento no mide nada, porque empatar con la referencia por construcción no es empatar.
Lo cambié por una personalidad con carácter, y añadí al prompt la prohibición explícita de replicar la referencia. La lección, que vale para cualquier agente: si le pones al modelo un rasgo que suena virtuoso, le estás dando permiso para no arriesgar — y luego no puedes distinguir criterio de inmovilidad.
El diario guarda el porqué, no solo el qué
Casi todo lo que hay publicado sobre IA y mercados enseña una curva y un resultado. Eso no me sirve para aprender nada. Aquí se guarda, turno a turno, el prompt exacto que recibió el bot y su respuesta exacta, además de qué titulares tenía delante y cuáles dice haber usado. Así se puede responder a la pregunta interesante: cuando acertó, ¿fue por lo que dijo que era, o tuvo suerte?
Los titulares vienen de Expansión, Cinco Días, CNBC, Investing.com y Google News. En el prompt van marcados como datos, no instrucciones: un titular es texto que escribe cualquiera, y un agente que lee la prensa sin esa distinción es un agente al que se le puede dar una orden publicando una noticia.
Las órdenes salen de verdad, a cuentas de práctica
El simulador por sí solo miente un poco: no hay rechazo, no hay retraso, no hay instrumentos que no existan. Así que cada operación del bot se replica en dos cuentas demo reales —Trading 212 en modo práctica y eToro en cartera virtual—, en proporción al tamaño de cada una y sin apalancamiento. Cuando un broker rechaza una orden, se ve en el panel con su motivo, que es información que el simulador nunca te habría dado.
Abrirlo sin abrir el panel
Al publicarlo apareció un problema que no es de trading sino de arquitectura: la misma aplicación que enseña la cartera tiene dentro los controles para lanzar turnos y configurar de qué medios se leen las noticias. Abrir la puerta de la casa sin abrir la del despacho.
La solución tiene dos capas a propósito. El servidor web reparte por lista blanca: solo son públicas las rutas de lectura escritas una a una, y cualquier ruta nueva nace privada — el fallo barato es que algo se quede cerrado, no que se abra sin que nadie se entere. Y por debajo, la aplicación exige además una marca que solo pone el servidor tras el login, así que la configuración sigue cerrada aunque alguien se equivoque en la capa de arriba. Lo comprobé atacando la aplicación por dentro, saltándome el servidor web entero.
Lo que se rompió por el camino
- Trading 212 rechaza fondos alemanes a residentes en España
- Tres fondos elegidos (oro, Euro Stoxx 50, DAX) devolvían
unsupported-country-of-residence. Hubo que buscar equivalentes domiciliados en Jersey, Irlanda y Luxemburgo. Un ISIN que no empiece por DE tampoco garantiza que pase. - eToro solo ofrece petróleo y gas con apalancamiento
- Y el apalancamiento está prohibido en las reglas del experimento, así que esas dos materias primas se enrutaron a fondos de Trading 212. Cada activo va a un único broker, elegido por lo que ese broker puede ofrecer sin romper las reglas.
- Cloudflare corta a eToro si no mandas User-Agent
- Error 1010, sin explicación útil. Un cliente HTTP recién escrito no manda User-Agent por defecto y parece un bot hostil.
- Los gráficos de TradingView con altura «100 %» salen aplastados a 150 px
- Hay que darles la altura en píxeles dentro de su propia configuración. Y el Chrome sin ventana del servidor no vale para comprobarlo: hace la foto antes de que los widgets carguen, así que parecía roto cuando no lo estaba.
- Un estilo global de tabla se comió tres semanas de gráfico
- La librería de gráficos dibuja con una
<table>por dentro y heredaba unmin-widthde 180 px que yo había puesto para las tablas del panel. Faltaban las últimas velas aunque los datos llegaban completos. Desde entonces, los estilos de tabla siempre acotados a una clase. - Cuatro índices europeos con el mismo +0,6 % no era un bug
- Lo comprobé en crudo convencido de que había un error de cálculo. Se mueven juntos. A veces el dato raro es el dato.
Limitaciones, y lo que viene
Es un experimento joven: arrancó el 11 de septiembre de 2026, así que cualquier conclusión sobre si el bot es bueno o malo hoy sería ruido. Lo que ya se puede leer es el razonamiento, que era el objetivo. Tampoco gestiona riesgo como lo haría un profesional: no hay stops ni dimensionamiento por volatilidad, porque quería ver primero qué hace un modelo sin red antes de ponérsela.
Lo siguiente es un consejo de sabios —varias IAs debatiendo una decisión puntual y yo decidiendo con su opinión delante—, el mismo mecanismo que uso en AI SEO Battle, donde cuatro modelos se reparten el trabajo y discuten entre ellos.
Dinero ficticio y cuentas de práctica: nada de lo que hay en el terminal es una recomendación de inversión.