Temporada 2 de «Ventaja Mecánica». La S1 terminó con un backtest corriendo y una mecánica que parecía funcionar. Esta es la realidad: cómo $45 acabaron en $9.

Si leíste mi serie «Ventaja Mecánica», ya conoces el principio: empecé con $80 en Polymarket, una IA de copiloto, y la voluntad de encontrar una mecánica rentable no predictiva. La S1 terminó en el Post 7 con el backtest corriendo y una promesa: «si confirma, season 2 será el bot ejecutor».
Si no la leíste, te lo resumo en cuatro frases:
- Probé copy-trading de wallets ganadoras. Perdió por lag, slippage y sizing asimétrico (Post 2).
- Descubrí que mi script de análisis mentía: la API de Polymarket truncaba los perdedores y me hacía perseguir a un wallet que llevaba −$23.718 (Post 3).
- Intenté arbitraje de snapshot sobre ~9.768 mercados. Mínimo ask-sum encontrado: 1.0010. No existe (Post 4).
- Hice ingeniería inversa a un wallet con +$27K verificados y monté la teoría del legging-in: comprar AMBOS lados de un binario en momentos distintos, basis combinado < $1 → profit garantizado (Post 6).
Hoy te cuento qué pasó después: tres estrategias más, todas con dinero real, todas fallidas. Y por qué.
Lo que no te conté: el backtest dio negativo
El backtest del legging-in (la mecánica que cerraba la S1 en alto) corrió sobre 226 partidos reales de esports ya resueltos. Resultado: negativo en todas las combinaciones de parámetros.
La matemática (basis < $1 → profit asegurado) es impecable. Lo que falla es la ejecución pasiva.
¿Por qué? Porque hay un sesgo de selección que la matemática «pura» oculta: una orden limit pasiva se ejecuta cuando el precio baja a tu nivel, y el precio baja porque ese lado está perdiendo. Acabas comprando siempre al perdedor, nunca al ganador. El otro lado nunca dipea porque sigue subiendo.
La estrategia «real» de ese wallet resultó ser distinta: un bot HFT que coloca ofertas continuamente en ambos lados, captura spread sobre $1.4 MILLONES diarios de volumen y consigue un basis medio de 0.982 (1.8% de margen). Esto no es una mecánica replicable con $45 y un script en Python. Es infraestructura.
Lección 1 de S2: hay matemáticas correctas que NO se materializan en la práctica por sesgos de ejecución que solo ves cuando lo intentas con dinero real.
Plan B: copiar a un ganador real (esta vez de verdad)
Encontramos una cartera direccional, sin merges, HODL puro. +$35.000 reales, 57,5% de win rate, edge claro en favoritos pesados (entrada a 0,80+, 99% de acierto, +5,8% de EV por cada dólar).
Configuramos el bot para copiarle solo en favoritos, a $1 fijo por posición. Backtest sobre 249.951 entradas históricas: +8,7% de ROI.
En vivo:
- Primera semana: el bot perdió $5,85 en 14 trades.
- El gasto diario reportó cifras erróneas porque las ventas FAK fallaban silenciosamente por bugs de redondeo en shares.
- Cuando las ventas funcionaban, el slippage real (entrar 2-5 céntimos peor que el objetivo) se comía gran parte del edge teórico.
Tras corregir los bugs y dejarlo correr días: break-even. La cuenta pasó de $20 a $15,81 (drawdown del -21%) y luego se recuperó parcialmente. No había edge real al tamaño que operábamos.
Lección 2 de S2: el slippage es el asesino silencioso de cualquier estrategia de copy-trading. El backtest asume que entras al precio del objetivo. La realidad: llegas tarde, peor precio, edge teórico evaporado.
Plan C: el tweet de los $14.000
Aparece en Twitter un tipo: «metí $300, ahora son $14.000, código abierto en GitHub». Estrategia: comprar el lado ganador en los últimos 2 minutos de un mercado BTC 5m de Polymarket cuando BTC ya se ha movido $70-$100 en la dirección.
Construimos nuestro propio bot desde cero (decisión tomada después de inspeccionar el repo: era código sin tests, sin backtest, con opciones de configuración no implementadas y avisos que decían «esto es educativo, no es consejo financiero»).
Backtest sobre 450 buckets recientes: +11% de EV por trade. Demasiado bonito.
En vivo: el bot acumuló trades durante días. Algunos ganaba 5-15 céntimos. Otros perdía $1. Después de mi promesa de «10-30 trades para confirmar», la cuenta seguía en torno a $9. Break-even con varianza alta.
Lección 3 de S2: los backtests sobre mercados ultra-líquidos y eficientes a menudo dan EV positivo porque el «ask» del histórico no incluye el spread real que pagas tú. La realidad es que esos 5-15 céntimos que el backtest cuenta como ganancia son justo lo que pagas en spread.
Y luego están los bugs
Aparte de las estrategias que simplemente no funcionaban, este proyecto tuvo OCHO bugs serios en código generado con IA que costaron dinero real o que hicieron que mis análisis fueran basura:
- Stop-loss en dry-run que no se simulaba (mostraba pérdidas de -$1 cuando en vivo habrían sido de -$0,25).
- Backtest con muestra contaminada que sobreestimó el edge por 10.
- Cálculo de PnL en la sombra que asumía la resolución antes de que UMA la confirmara, etiquetando ganadas como perdidas.
- Redondeo de shares hacia arriba que hacía rechazar todas las ventas con «insufficient balance».
- FOK vs FAK: ventas de pánico que morían por falta de liquidez cuando deberían haber tomado lo que hubiera.
- Parseo de
takingAmountque confundía el formato raw (× 1e6) con el float normal. neg_risk=Falsehardcodeado cuando algunos mercados son de tipo neg_risk.- Tope diario de pérdidas mal puesto que pausó el bot al primer céntimo perdido.
Cada bug llevó horas de log, comprobación manual contra la interfaz de Polymarket, y la sensación cada vez más clara de que la IA no había revisado código que YA TENÍA escrito y funcionando en otro archivo del mismo proyecto.
La conclusión que sí me he ganado
No voy a decirte que «la IA es una estafa». Lo que sí puedo decirte, con datos:
- La IA acelera, pero no piensa críticamente sobre el dominio. No detectó el truncamiento de la API. No detectó el sesgo de adverse selection del legging. Sobrevendió backtests sin haber considerado los sesgos obvios.
- La IA reinventa código que ya tienes funcionando. En lugar de copiar las funciones de
buy_marketysell_limitque llevaban semanas estables, generó nuevas con los mismos bugs que ya estaban resueltos. - El «vibe coding» funciona para hacer prototipos, no para construir sistemas que tocan dinero real. Cada bug costó tiempo y, en algunos casos, dólares. La velocidad de generar código se compensa con la velocidad de generar errores que tardas días en cazar.
- Las estrategias plausibles publicadas en Twitter/GitHub son survivor bias. El que las publica ganó. Los que las probaron y perdieron no escriben hilos.
- Polymarket, como cualquier mercado de predicción de líquidez razonable, está bastante eficiente. Las oportunidades de edge mecánico no-predictivo a tamaño de retail probablemente no existen.
¿Volvería a hacerlo?
Sí, pero con menos credulidad. La IA es una herramienta poderosa para explorar, prototipar y generar código de integración. Es una herramienta peligrosa para tomar decisiones de inversión basadas en sus análisis sin verificar cada número, cada filtro y cada bug.
Empecé con $80. Termino con $9. Y miles de tokens gastados en una conversación que vio tres ciclos completos de «tengo edge → no tengo edge → era un bug → tampoco tengo edge».
El dinero perdido no es lo que más duele. Lo que más duele es haber confiado en análisis que la IA presentaba con tres decimales de precisión sobre datos que ella misma había contaminado.
Si te ha gustado este artículo, los próximos de la serie son:
- Los 8 bugs concretos que me costaron dinero por no copiar código que ya funcionaba
- Cuándo la IA es útil para programar y cuándo no
- El survivor bias en los hilos de Twitter de «gané $14K con un bot»
1 comentario en «Lo que aprendí intentando ganar dinero en Polymarket con Claude Code»