# Uso 17 cuentas paralelas para refutar mi propia estrategia de trading

--- Una serie de notas experimentales serias sobre mercados de predicción (Polymarket): desde "buscar los márgenes" hasta "derribar a mano mi propio margen"

---

## Antes de empezar

Durante un tiempo, he estado haciendo una sola cosa: **buscar un método estable y rentable en los mercados de predicción**.

Pero no quiero escribir un artículo del tipo "descubrí una estrategia infalible"—porque en este campo, **cuanto más seguro suenes, más probable es que estés equivocado**.

Lo que quiero escribir es otra cosa: **un sistema de experimentos que pueda refutarse a sí mismo**.

Este artículo explicará tres cosas:

1. **La lógica de ganar dinero** — de dónde sale el dinero (no es magia; es matemáticas)

2. Implementación de ingeniería — cómo convertir la investigación en una plataforma de experimentos verificables, comparables y auto-refutables

3. **Registro de chascos** — Yo mismo derribé mis propios 4 conclusiones de "se ve tan bonito"

Creo que la Parte 3 es la más valiosa.

---

## Uno. Principio: ¿de dónde sale el dinero?

La esencia de los mercados predictivos es un **juego de suma cero**: cada centavo que ganas proviene de que tu contraparte "está dispuesta activamente a pagar por alguna cosa" que tú ofreces.

Al enumerar todas las posibilidades, solo hay 5 fuentes de beneficio:

| Fuente | esencia | estabilidad |

|---|---|---|

| Prima por liquidez | proporciona servicio de ejecución inmediata | alta (pero requiere programación) |

| **Valor temporal** | interés cero sobre fondos bloqueados | **estructural** |

| **Sesgo de comportamiento** | los minoristas prefieren comprar "loterías" | **funciona a largo plazo** |

| Ventaja de información | cognición más rápida/precisa | inestable |

| Arbitraje estructural | Ejecución puramente técnica | oportunidades muy escasas |

### Valida con datos, no con intuición

Hice una verificación de calibración usando datos reales de **3,018 mercados liquidados** (incluye 5,366 observaciones antes de la liquidación). El resultado fue contraintuitivo:

**Hallazgo 1: el pricing en la cola es casi perfecto.**

- La porción con precio ≥97¢ comprada 1 día antes de la liquidación tuvo una tasa de acierto real **99.7%** (n=955)

- Porciones de precio <2¢: en 691 observaciones, **0 cumplimientos** — la "desviación de libro de texto" (sesgo raro) casi no existe aquí

**Hallazgo 2: el verdadero sesgo sistémico está en la parte intermedia del tramo.**

- En el mercado con precios **50–70¢**: compra 7 días antes de la liquidación; tasa de acierto real **64.5%**, rendimiento esperado **+13%**

- Compra 30 días antes de la liquidación; tasa de acierto real **70.4%**, rendimiento esperado **+20.3%**

**Mecanismo**: el mercado "redondea y comprime hacia 50/50" el problema del tramo intermedio a futuro. — Un evento valorado en 58¢, con un mes restante hasta el vencimiento, a menudo ya va dentro de la trayectoria; la tasa real de ocurrencia es ~70%.

**Hallazgo 3: existe una "zona de muerte".**

- Intervalo con pricing **70–97¢**: el rendimiento esperado es negativo en todas las ventanas temporales

- Y precisamente es el rango que más les encanta a los minoristas comprar ("con tanta seguridad, sigue siendo barato")

**Hallazgo 4: no existe arbitraje estructural.**

Escaneé 360 eventos de opciones múltiples y encontré inicialmente 35 "oportunidades de arbitraje". Pero al verificar la **integridad de las patas** usando interfaces oficiales, todo desapareció: Σprecio de venta − Σprecio de compra = 0.9%~1.7%, **exactamente la prima del spread del market maker**. En el libro superior, el mercado es eficiente.

### Estrategia derivada de esto

Convertí el hallazgo en "rendimiento diario en efectivo" para comparar; la conclusión fue sorprendente:

| Patas de estrategia | condición | tasa de acierto | **rendimiento diario en efectivo** |

|---|---|---|---|

| **B3 (núcleo)** | 50–70¢ · 3–21 días hasta liquidación | 64.5% | **+1.86%/día** |

| B (extensión) | 50–70¢ · 21–60 días | 70.4% | +0.68%/día |

| **C (estabilizador)** | ≥97¢ · a 1.5 días o menos de la liquidación | 99.7% | **+0.37%/día** |

| A (relleno) | ≥97¢ · 2–7 días | 99.5% | +0.04%/día |

**El rendimiento diario de B3 es 42 veces el de la pata A de la primera versión.** Esto invalida la configuración inicial de capital: yo había puesto 80% del capital en la pata con menor retorno.

---

## Dos. Ingeniería: cómo convertirlo en un experimento verificable

El principio es solo un punto de partida. El verdadero desafío es: **¿cómo sabes que tu conclusión no es ruido?**

Monté tres capas.

### Capa 1: capa de datos

- **Datos de la plataforma**: Gamma API (metadatos del mercado), CLOB API (libro de órdenes y precios históricos), Data API (transacciones y posiciones)

- **Información externa** (todo verificable con pruebas reales):

- **Cadena de opciones de Deribit** → calcula directamente, con los precios de las opciones, la **probabilidad neutral al riesgo de que expire por encima de cierto precio**

- **Apuestas deportivas de Sharpbook** (The Odds API) → probabilidades justas después de retirar el margen de 9 casas de apuestas

- **Kalshi** (intercambio regulado) → consenso entre mercados

- **ESPN** → marcador final gratis, con cupo ilimitado

- **Google News** → alerta temprana de catalizadores

### Capa 2: capa de estrategia

Los filtros no se definieron a ojo: cada uno tiene evidencia empírica.

| Filtro | evidencia empírica |

|---|---|---|

| Auditoría de ambigüedad de reglas (0–10) | la ambigüedad de reglas es la principal fuente de pérdidas en la cola |

| Omitir el rango de precios 0.60–0.65 | el rendimiento esperado en ese rango es **−3.3%** |

| Anticiparse contra el high (si sube >10 puntos en 3 semanas, bloquear) | la tasa de acierto en este grupo solo **50%** |

| Bajar el umbral de volumen de operaciones | en tramos de bajo volumen la tasa de acierto 69.7% > en tramos de alto volumen 60.2% |

| Prioridad: mercado binario | binario +15.7% vs. opción múltiple +7.4% |

| Excluir pata con cifrado | el cifrado es la única categoría perdedora para la pata A (EV −0.97%) |

### Capa 3: plataforma de experimento paralelo con 17 brazos

Esa es la esencia de todo el sistema.

**Principio de diseño: cada brazo solo cambia un mecanismo; todo lo demás se comparte.**

- Compartido: pool de candidatos, umbral de momento/edge/flujo de fondos, instantánea del estado del mercado, todas las reglas para cada pata

- Diferencia: solo hay una variable (¿usar edge por tramos? ¿activar stop-loss inverso? ¿auditar estrictamente las reglas?)

Ahora mismo: 17 brazos probándose en paralelo a la vez:

| Brazo | qué se prueba |

|---|---|---|

| `ctl` línea base | referencia |

| `veto` | si el pricing externo puede filtrar posiciones en contrapartida (contra-apuesta) |

| `stop` | ¿La caída brusca después de entrar es una señal informativa? |

| `whale` | ¿Flujo de fondos con poder predictivo? |

| `strict` / `norule` | **valor de la auditoría de reglas por sí misma** |

| `nouma` | contribución neta a la red de seguridad UMA |

| `kalshi` | valor de un oráculo entre plataformas |

| `lam50` / `lam25` | si las señales externas son demasiado confiadas |

| `deadzone` | **prueba inversa" con conclusión de zona de muerte** |

| `weather` / `esports` / `longmid` / `lowvol` | si la categoría excluida merece la pena hacerlo |

| `verify` / `verify2` | si "primero verificar y luego apostar" es correcto |

**¿Por qué está diseñado así?**

Porque todos los brazos enfrentan **exactamente el mismo estado del mercado** (la misma tanda de candidatos, el mismo precio, el mismo umbral). En estadística, esto se llama "números aleatorios compartidos" y reduce drásticamente la varianza. **Un experimento multi-brazo en paralelo no solo es más rápido, sino también más preciso.**

---

## Tres. Registro de chascos: derribé mis 4 conclusiones

Esta es la parte que más quería escribir. **Sin este sistema, esos errores se habrían comprado con dinero real.**

### Chasco 1: un error de símbolo que creó la ilusión de "victoria al 100%"

Mi módulo de pricing externo arrojó una oportunidad sorprendente:

> Un mercado de ETH: la estimación externa dice "probabilidad de tocar = **100%**", pero el mercado solo fija 36%

Parece un negocio brutal. Al investigar, encontré **tres bugs**:

1. La función de probabilidad de tocar solo implementó el **tocar hacia arriba**; "caer hasta cierto precio" es el **downward**. Cuando el precio obstáculo está por debajo del precio actual, la función devuelve directamente 1.0

2. La elección del día de vencimiento tomó el "vencimiento más cercano por día" (0.3 días), en lugar del fin de mes correspondiente al día de cierre del mercado

3. Calcula los **obstáculos a la baja** con la volatilidad de probabilidad a la par; ignora la inclinación al "put"

Tras corregirlo, la estimación externa pasó de "100%" a **28.7%**, y el precio del mercado quedó en 36%. — **La discrepancia pasó de −64 puntos a +7.3 puntos** (esta es la señal real y con sentido).

**Lección: una fórmula equivocada en una sola dirección puede crear por arte de magia una ilusión de "victoria segura"; y cuanto más tentador se ve, más hay que dudar.**

### Chasco 2: faltaba un campo de fecha; se fabricó un falso edge de +36 puntos

Problema similar: cuando faltan en los datos del mercado la fecha de finalización, el módulo elige el vencimiento más cercano y obtiene probabilidades sin sentido.

Arreglo: si faltan fechas, por defecto tomar el **vencimiento más tardío de ese mes**; y añadí una protección dura — **si |edge| > 25 puntos, se considera anomalía del modelo y no se usa en la decisión**.

### Chasco 3: fuente meteorológica — gratis, precisa, pero completamente inutilizable

Implementé el pricing del mercado meteorológico con los **31 miembros del conjunto de Open-Meteo** (la proporción de miembros que caen dentro de los umbrales = probabilidad). Datos perfectos, gratis y sin necesidad de clave.

**Resultado medido**:

- Mercados meteorológicos con liquidez: **se liquidan el mismo día**. Y en ese día, los participantes del mercado pueden ver la temperatura medida en tiempo real. Nuestro "pronóstico para todo el día" era información caducada, y todo el edge fue profundamente negativo (−70% ~ −96%).

- La discrepancia del mercado de mañana solo es ±1.8°C, mientras que el ancho del cubo del mercado meteorológico es **solo 1°C**. El error del modelo es suficiente para distorsionar por completo la probabilidad del cubo.

**Conclusión: no se conecta.**

**Lección: que una fuente de información sea utilizable ≠ que exista el edge. Incluso datos gratis y precisos pueden no importar para el mercado si el horizonte de liquidación o la escala del error no coinciden.**

### Chasco 4: estrategia con la mayor tasa de victoria, pero la que más pierde

Esta fue la más valiosa de todas.

**Suposición**: en el mercado existen posiciones de "eventos que ya terminaron, pero aún no se han liquidado". En el mundo real ya hay respuestas; solo hay que "verificar" un poco. Así debería ser casi libre de riesgo.

Simulación de Monte Carlo: tasa de acierto 99.9% y +472% en 90 días.

**Resultado medido (38 liquidaciones)**:**

```

Tasa de acierto 92.1% (35 ganadas, 3 perdidas)

Ganancia total +$39.95 (promedio por operación +$1.14 = +2.3%)

Pérdida total −$150.00 (promedio por operación −$50.00 = −100%)

Resultado neto −$110.05

```

**Una matemática mortalmente asimétrica**:

> Tasa de acierto necesaria para equilibrio = 50 ÷ (50 + 1.14) = **97.8%**

> Tasa de acierto real = **92.1%**

> → pérdida inevitable

**La verdad de 3 operaciones perdedoras** (todas no fueron suerte)**:**

- `Exact Score: Liverpool 0-0 Fulham` → Compramos "No"; el marcador **realmente** es 0-0

- `Oregon vs. Oklahoma State` → **sorpresa en deportes**

- `Tokyo mínima temperatura 21°C` → **no acertó el cubo**

**El mismo hecho**: el descuento del mercado en 0.95–0.99 es una prima de riesgo real, no un almuerzo gratis.

"Ya expirado pero aún no liquidado" ≠ "resultado conocido" — UMA todavía no liquida precisamente porque el resultado aún podría estar en disputa.

### El arreglo que surgió de aquí: el verdadero "check"

Reimplementé `verify2`: **comprar solo después de confirmar hechos con una fuente externa de datos**.

- Deportes → confirmar con los **marcadores finales** de ESPN

- Cifrado → confirmar con Deribit el **precio en el instante de liquidación**

- Tiempo / exacto marcador / política / esports → **no hacer** (mejor renunciar a la oportunidad, que correr riesgo por error)

**Durante la implementación también detuve una falsa evaluación peligrosa**: en la versión inicial emparejé "Pittsburgh" (fútbol americano universitario) con el equipo de béisbol **Pittsburgh Pirates**, y "Cincinnati" con **Cincinnati Reds**. Esto nos haría operar basándonos en **hechos incorrectos**.

Después de arreglarlo (requiere que **ambos nombres de los equipos** coincidan): identificamos correctamente la pérdida real de Oregon y, a la vez, permitimos a Indiana, James Madison, etc., que eran verdaderos ganadores. Cualquier partido que no se pueda confirmar se marca como "no se puede verificar" — **abandono seguro**.

---

## Cuatro. Progreso actual (versión honesta)

Son 17 brazos. Cada uno arranca con un capital virtual de $10,000, y construye su propia posición.

**Los primeros datos reales de liquidación**:

| Brazo | valor neto | realizado | tasa de acierto |

|---|---|---|---|

| `strict` auditoría de reglas estrictas | **$10,005.07** | +$9.14 | 7/7 |

| Línea base (igual a 10 brazos) | $9,992.85 | +$9.14 | 7/7 |

| `deadzone` zona de muerte | $9,988.81 | +$9.14 | 7/7 |

| `longmid` tramo medio extra largo | $9,940.65 | +$9.14 | 7/7 |

| **`verify` solo mira el tiempo** | **$9,359.60** | **−$99.74** | **39/42 = 92.9%** |

| **`verify2` ya verificado** | $9,939.97 | +$9.14 | 7/7 (nuevo en vivo) |

**Señales tempranas legibles** (aún con muestra pequeña):

- **Pata C (bonos) 7 victorias en 7** — coincide al 99.7% con las 3,018 simulaciones de backtest de mercado

- **`verify` ha sido refutada**, y continúa perdiendo

- **`strict` (auditoría de reglas más estricta)**: la pérdida flotante es mínima — consistente con la expectativa de que "la ambigüedad de reglas es el mayor asesino"

- `deadzone` / `longmid` con pérdidas flotantes mayores — consistente con el sentido del juicio de la zona de muerte

**Aún no concluido**: si la tasa de acierto de `verify2` puede volver a 99%+. Esta es la hipótesis con más esperanza hasta ahora; se necesitan 20–30 liquidaciones para concluir.

---

## Cinco. Algunos métodos transferibles

Si tú también haces algo parecido, estas 10 reglas podrían servirte:

1. **Primero falsifica, luego optimiza** — Diseñar un experimento que pueda refutar(se) es más importante que encontrar una "buena estrategia"

2. **La disponibilidad de la fuente de información ≠ la existencia del edge** — Datos gratis y precisos también pueden no servir para nada

3. **Observa la asimetría de payoff** — con 92% de aciertos puedes perder dinero, porque al ganar ganas 2% y al perder pierdes 100%

4. **Paralelizar múltiples brazos es mejor que hacerlo en serie** — compartir la misma tanda de candidatos y umbrales (números aleatorios compartidos), con menor varianza y mayor velocidad

5. **Cada brazo cambia solo una variable** — si no, no puedes atribuir la causa

6. **Compartir el flujo de candidatos y el umbral, pero jamás compartir posiciones** — Hice que 17 brazos heredaran la misma cartera. El deduplicado por eventos se comió 39% de los candidatos. Las decisiones de **todos los brazos** fueron **idénticas por completo**; el experimento fue básicamente un no-op.

7. **Eliminar cualquier sesgo por puntos de tiempo** — cada umbral se calcula una vez y cada verificación al liquidar se hace otra vez; es obligatorio compartir la instantánea

8. **Discrepancia extrema del modelo externo: casi siempre te equivocas tú** — primero desconfía de ti

9. **Mejor renunciar a la oportunidad, que apostar a una certeza de cometer errores** — Es seguro verificar que el módulo devuelva "no se puede confirmar"

10. **Ten cuidado con las fuentes de datos que parecen perfectas** — cuanto más perfectas, más motivo para dudar

---

## Seis. Dos restricciones de la realidad que necesariamente hay que decir

### Restricción 1: la capacidad para esta clase de estrategia es extremadamente pequeña

El volumen mínimo de orden en la plataforma es **5 acciones**. A 97¢, el costo mínimo de una posición es **$4.97**.

Eso significa:

- **Capital de $20** → como máximo abrir 4 posiciones → una pérdida por operación es −25% del capital. La simulación de Monte Carlo muestra **probabilidad de mes perdedor 54%** y **drawdown máximo 78%**

- **Capital de $200** → 40 posiciones → probabilidad de perder en el mes 9%, drawdown <16% → este es el verdadero punto de partida de "estabilidad"

Más importante aún: **en toda la plataforma solo hay ~115 candidatos laterales que cumplen las condiciones de la estrategia**, y en el tramo intermedio del núcleo solo hay 7–18. Calculando por operación $125–200, el límite de capacidad del tramo intermedio es de aproximadamente **$875–3,600**.

**Es "recoger conchas", no "hacer minería"— no amplifica linealmente con el capital.**

---

## Conclusión

Hasta hoy, este sistema **no me ha hecho ganar dinero**. Su valor está en que **me impidió validar con dinero real 4 conclusiones erróneas**.

En mercados predictivos, que son mercados de suma cero, creo que la habilidad más importante no es "predecir bien", sino **distinguir entre "descubrí un edge" y "mi modelo tiene un bug"**.

Y el método más confiable que me encontré fueron esas 17 cuentas paralelas.

$BNB

$BTC

BTC
BTC
83,212.01
-2.82%