Analicé 10 millones de operaciones de bots en Polymarket con Claude: Cómo los bots ganan más de $1,000 diarios

@Dan1ro0
INGLÉShace 3 semanas · 27 jun 2026
236K
58
9
8
148

TL;DR

Un análisis técnico de 10 millones de operaciones de bots en Polymarket, detallando cinco modelos específicos de generación de ganancias y los marcos matemáticos detrás de ellos.

Al trader promedio, un mercado de Polymarket a corto plazo le parece simple:

¿Bitcoin estará más alto o más bajo dentro de cinco minutos?

Un bot de trading ve un problema completamente diferente.

Está rastreando el precio subyacente, el tiempo hasta el vencimiento, la liquidez en ambos lados, los mercados relacionados y su propio inventario en vivo, todo al mismo tiempo:

Daniro - inline image

Enlace de wallet: https://polymarket.com/@bonereaper?via=dan-kwpx

Mientras un humano aún está decidiendo si comprar Up o Down, el bot ya puede haber:

**> ingerido una nueva señal de precio > revalorizado el resultado > comparado con el precio del contrato > revisado mercados vecinos > colocado múltiples órdenes límite > reconfigurado toda su posición**

Así es como algunos de estos sistemas convierten pequeñas brechas de precio en más de $1,000 de ganancia diaria.

Analicé la actividad de más de 1,000 bots y más de 10 millones de ejecuciones en los mercados Up/Down de corta duración de Polymarket usando Claude.

Al principio, el trading parece completamente caótico. La misma wallet compra Up, agrega Down segundos después, vende parte de la primera posición y termina el mercado manteniendo ambos resultados.

Pero una vez que reconstruyes el ciclo completo de la operación, el ruido empieza a tener sentido. Por lo general, hay un sistema muy específico detrás.

Así funciona toda la máquina 👇

1. Por qué se usan Bots de trading en Polymarket

La ventaja principal de un bot no es una predicción perfecta de Bitcoin.

Su ventaja proviene de la velocidad, la consistencia y la capacidad de procesar más información de la que un humano puede monitorear realísticamente al mismo tiempo:

Daniro - inline image

Enlace de wallet: https://polymarket.com/@0xb55fa1296e6ec55d0ce53d93b9237389f11764d4-1777575277609?via=dan-kwpx

Un contrato de corta duración no se valora solo por si Bitcoin se mueve actualmente hacia arriba o hacia abajo.

El algoritmo también debe considerar:

**> distancia del precio de apertura > velocidad del último movimiento > tiempo restante > volatilidad actual > profundidad del libro de órdenes > los precios de Up y Down > comportamiento en mercados relacionados > el feed exacto usado para la resolución**

En un mercado de cinco minutos, una oportunidad real puede existir por solo unos segundos.

Un humano puede estar aún cambiando entre gráficos mientras otro algoritmo ya está tomando la liquidez disponible y reemplazando sus órdenes.

La mayoría de los bots de trading se construyen alrededor de cinco componentes principales:

  1. Capa de Datos - transmite precios externos y actualizaciones del libro de órdenes.
  2. Motor de Señales - detecta cambios que pueden afectar el resultado.
  3. Modelo de Probabilidad - calcula una probabilidad justa independiente.
  4. Motor de Ejecución - coloca, cancela y ajusta órdenes.
  5. Gestor de Riesgos - controla el tamaño de la posición y bloquea operaciones que exceden límites predefinidos.

Una señal que el Bot puede calcular directamente desde el libro de órdenes es el desequilibrio entre el volumen comprador y vendedor:

python
1def desequilibrio_libro(compras, ventas):
2 volumen_compras = sum(tamano for precio, tamano in compras)
3 volumen_ventas = sum(tamano for precio, tamano in ventas)
4
5 volumen_total = volumen_compras + volumen_ventas
6
7 if volumen_total == 0:
8 return 0.0
9
10 return (
11 volumen_compras - volumen_ventas
12 ) / volumen_total
13
14compras = [
15 (0.48, 1_250),
16 (0.47, 920),
17 (0.46, 680)
18]
19
20ventas = [
21 (0.49, 640),
22 (0.50, 510),
23 (0.51, 430)
24]
25
26desequilibrio = desequilibrio_libro(compras, ventas)
27
28print(f"Desequilibrio del libro de órdenes: {desequilibrio:.2%}")

Un valor positivo significa que hay más volumen comprador en la sección analizada del libro. Un valor negativo significa que el volumen vendedor es mayor. Esta señal por sí sola no prueba que el precio se moverá.

Las órdenes grandes pueden cancelarse y la liquidez ubicada lejos del mejor precio puede que nunca afecte la ejecución.

Pero combinado con el movimiento de Bitcoin, el tiempo restante y los feeds de precio externos, se convierte en una parte de una señal más fuerte.

Un bot no es útil porque opere automáticamente cada movimiento del mercado. Un sistema sólido gana su ventaja al rechazar la mayoría de las configuraciones antes de que se conviertan en posiciones.

2. Después de recibir una señal, el Bot actualiza la probabilidad con Bayes 🧮

Supongamos que Up se cotiza a 41¢.

Bitcoin acelera repentinamente, el volumen aumenta y el libro de órdenes comienza a mostrar una presión compradora más fuerte.

Un humano podría pensar:

Este movimiento se ve fuerte.

Up

podría estar infravalorado

El algoritmo necesita una respuesta más precisa:

¿Exactamente cuánto cambió esta señal la probabilidad de

Up

?

Aquí es donde entra el teorema de Bayes.

Daniro - inline image

Enlace de wallet: https://polymarket.com/@0xce25e214d5cfe4f459cf67f08df581885aae7fdc-1777575398144?via=dan-kwpx

Bayes permite que el modelo comience con una probabilidad existente y la actualice después de recibir nueva evidencia.

La fórmula es:

P(Up | Señal) = P(Señal | Up) × P(Up) / [P(Señal | Up) × P(Up) + P(Señal | Down) × P(Down)]

Donde:

P(Up)

* es la probabilidad antes de la nueva señal *

P(Señal | Up)

* es la frecuencia con la que aparece esta señal antes de un resultado Up *

P(Señal | Down)

* es la frecuencia con la que aparece antes de un resultado Down *

P(Up | Señal)

es la probabilidad actualizada

Supongamos:

la probabilidad original de

Up

* es 41% esta señal aparece en el 64% de los escenarios históricos de *

Up

* la misma señal aparece en el 35% de los escenarios de *

Down

.

python
1def actualizacion_bayes(
2 probabilidad_previa_up,
3 senal_dado_up,
4 senal_dado_down
5):
6 numerador = senal_dado_up * probabilidad_previa_up
7
8 denominador = (
9 numerador
10 + senal_dado_down * (1 - probabilidad_previa_up)
11 )
12
13 return numerador / denominador
14
15previa = 0.41
16
17posterior = actualizacion_bayes(
18 probabilidad_previa_up=previa,
19 senal_dado_up=0.64,
20 senal_dado_down=0.35
21)
22
23print(f"Probabilidad anterior: {previa:.2%}")
24print(f"Probabilidad actualizada: {posterior:.2%}")

La estimación actualizada es aproximadamente 56%. Si el contrato aún se cotiza a 41¢, el bot ve una brecha medible:

*valor justo interno - 56% precio de mercado - 41¢ margen teórico - 15 puntos porcentuales*

Para un humano, esto puede parecer una idea de trading sólida. Para un Bot, es una diferencia específica entre el valor justo y el precio de mercado actual.

Bayes no es un atajo de predicción, sin embargo.

Si el modelo da demasiado peso a señales débiles o cuenta la misma información varias veces, el resultado se distorsionará consistentemente.

Un movimiento de precio, un aumento de volumen y un desequilibrio en el libro de órdenes pueden parecer tres confirmaciones separadas cuando en realidad son tres efectos del mismo evento.

Un modelo sólido debe tener en cuenta esa superposición.

3. Un contrato mal valorado no es automáticamente una operación rentable

Incluso si el modelo valora Up en 56%, comprarlo a 41¢ no crea ganancia automáticamente.

La ejecución real incluye:

*> comisiones de tomador > diferencial de oferta-demanda > deslizamiento > ejecuciones parciales > deterioro del precio > incertidumbre del modelo*

Por lo tanto, el bot calcula el margen neto: la ventaja que queda después de que la posición se ejecuta realmente.

python
1def calcular_margen_neto(
2 probabilidad_modelo,
3 precio_ejecucion,
4 comision,
5 deslizamiento,
6 colchon_seguridad
7):
8 margen_bruto = (
9 probabilidad_modelo - precio_ejecucion
10 )
11
12 margen_neto = (
13 margen_bruto
14 - comision
15 - deslizamiento
16 - colchon_seguridad
17 )
18
19 return margen_bruto, margen_neto
20
21bruto, neto = calcular_margen_neto(
22 probabilidad_modelo=0.56,
23 precio_ejecucion=0.47,
24 comision=0.017,
25 deslizamiento=0.005,
26 colchon_seguridad=0.010
27)
28
29print(f"Margen bruto: {bruto:.2%}")
30print(f"Margen neto: {neto:.2%}")

La brecha original de nueve puntos cae a aproximadamente seis puntos después de los costos.

Si la liquidez es limitada, el bot puede llenar solo una pequeña parte de la posición a 47¢. El tamaño restante puede necesitar comprarse a un precio más alto.

El margen puede desaparecer antes de que la posición completa esté construida. La misma lógica aplica para el arbitraje binario.

Si cantidades iguales de Up y Down pueden adquirirse por menos de $1 después de todos los costos, un lado eventualmente pagará $1.

Pero el sistema debe usar el precio de ejecución real ponderado por volumen, no simplemente el precio más atractivo visible en la parte superior del libro de órdenes.

Aquí es donde un backtest limpio y una ejecución en vivo a menudo producen resultados muy diferentes. Un humano nota un precio inusual. Un Bot debe probar que queda suficiente valor después de incluir los costos de mercado.

4. El mejor margen a menudo existe entre mercados relacionados 🕸

Los contratos de corta duración no se mueven de forma aislada.

Un movimiento de Bitcoin puede afectar todo lo siguiente:

> la ventana actual de

BTC

* 5m > la siguiente ventana de cinco minutos > *

BTC

* 15m > *

BTC

* 1h > los mercados relacionados de *

ETH

y

SOL

.

Pero estos mercados no siempre se actualizan a la misma velocidad.

Cada contrato tiene su propio libro de órdenes, liquidez, nivel de apertura y participantes.

Por ejemplo:

>

BTC

* 5m puede revalorizarse inmediatamente > *

BTC

* 15m puede responder menos de lo esperado > una ventana vecina puede retener su desequilibrio de libro anterior > un contrato puede volverse caro > otro puede seguir operando con suposiciones desactualizadas*

Daniro - inline image

Enlace de wallet: https://polymarket.com/@flippingsharks?via=dan-kwpx

El bot mide si la brecha entre mercados relacionados se ha movido fuera de su rango normal.

Una herramienta simple es un z-score:

Z = (diferencial actual − diferencial promedio) / desviación estándar

python
1def puntuacion_z_diferencial(
2 diferencial_actual,
3 diferencial_promedio,
4 desviacion_diferencial
5):
6 return (
7 diferencial_actual - diferencial_promedio
8 ) / desviacion_diferencial
9
10z = puntuacion_z_diferencial(
11 diferencial_actual=0.112,
12 diferencial_promedio=0.036,
13 desviacion_diferencial=0.025
14)
15
16print(f"Puntuación Z del diferencial: {z:.2f}")

Una lectura superior a 3 significa que la brecha actual está muy fuera del rango que el modelo observa normalmente.

Eso no crea automáticamente una operación. Un mercado puede estar genuinamente rezagado. O el mercado que se movió primero puede haber incorporado información que los contratos vecinos aún no han procesado.

Un Bot tampoco puede comparar BTC 5m y BTC 15m solo mirando sus precios Up.

Tienen diferentes niveles de apertura y diferentes cantidades de tiempo restante.

Un sistema serio compara cuánto se ha alejado cada contrato de su propio modelo de valor justo.

Un humano observa un mercado. Un bot observa una red de probabilidades conectadas e identifica la parte que temporalmente se ha alejado del resto.

5. Cinco formas en que los Bots convierten el margen en una posición 🔄

Una vez que la señal ha sido confirmada, la probabilidad actualizada y el margen neto sigue siendo positivo, comienza la etapa más interesante.

El bot debe decidir cómo construir y gestionar la posición.

Después de agrupar las ejecuciones individuales en ciclos de trading completos, aparecieron cinco modelos recurrentes.

1️⃣ Rotación Dinámica de Posición

Este sistema actualiza continuamente su visión y puede cambiar de dirección varias veces dentro del mismo contrato. Supongamos que el modelo considera Up infravalorado al comienzo de un mercado de cinco minutos.

Comienza acumulando Up mediante órdenes límite.

Entonces la configuración cambia:

Bitcoin

* pierde impulso el precio vuelve hacia el nivel de apertura los compradores desaparecen del libro de órdenes la probabilidad de *

Up

del modelo disminuye

El bot no tiene que mantener la posición original hasta la resolución. Puede vender parte de su Up, cancelar las órdenes restantes y comenzar a acumular Down.

Si el mercado cambia de nuevo, la posición puede reconstruirse una vez más. El objetivo no es identificar el resultado final perfectamente en el primer intento.

El objetivo es mantenerse más expuesto al lado que actualmente está por debajo de la estimación actualizada del modelo.

La fortaleza de este enfoque es que el bot puede abandonar una visión desactualizada de inmediato.

La principal debilidad son las reversiones falsas repetidas.

Durante una ventana ruidosa, el sistema puede:

comprar

Up

* después de un movimiento alcista reducirlo después de un retroceso cambiar a *

Down

* reducir *

Down

después del siguiente movimiento alcista

Los costos de ejecución y los cambios repetidos de posición pueden eliminar gradualmente la ventaja original.

Por lo tanto, un bot de rotación debería cambiar de dirección solo cuando la nueva señal sea lo suficientemente fuerte como para cubrir el costo de salir, reconstruir la posición y posiblemente volver a equivocarse:

Daniro - inline image

Enlace de wallet: https://polymarket.com/@trinity42?via=dan-kwpx

2️⃣ Arbitraje Temporal

El arbitraje tradicional aparece cuando Up y Down pueden comprarse al mismo tiempo por menos de $1.

El arbitraje temporal construye los dos lados en momentos diferentes. Imagina que Bitcoin se mueve bruscamente al alza poco después de la apertura del mercado.

Down cae a 26¢ y el bot acumula gradualmente 750 contratos a un precio promedio de 27.4¢. Dos minutos después, Bitcoin devuelve la mayor parte del movimiento y cotiza más cerca del nivel de apertura.

Ahora Up se vuelve más barato, y el bot compra 750 Up a un precio promedio de 49.8¢.

La estructura final es:

*750 Down a 27.4¢ 750 Up a 49.8¢ costo total por par completo - 77.2¢*

Independientemente del resultado final, un contrato de cada par paga $1. Eso crea un margen bruto de 22.8¢ por par antes de comisiones y costos de ejecución. El detalle clave es que Down a 27.4¢ y Up a 49.8¢ nunca estuvieron disponibles al mismo tiempo.

El bot creó el arbitraje a partir de dos estados de mercado diferentes. Sin embargo, la primera compra aún está expuesta al riesgo direccional.

Si Bitcoin continúa moviéndose al alza, es posible que el bot nunca reciba un precio de Up lo suficientemente atractivo para completar el par.

Entonces se quedaría con 750 contratos Down que siguen perdiendo valor.

Por lo tanto, el sistema rastrea:

*cantidad mantenida en cada lado costo promedio de ambos resultados costo del inventario ya protegido tamaño de la posición direccional no emparejada tiempo máximo permitido para esperar el segundo lado*

Algunos bots construyen la estructura en bloques más pequeños.

Pueden comprar 100 Down, esperar hasta que puedan agregar 100 Up, completar el primer par protegido y solo entonces continuar aumentando el tamaño.

Esto reduce el rendimiento potencial máximo, pero también limita el riesgo de quedarse con una gran posición unilateral.

El arbitraje temporal funciona mejor en mercados con varios movimientos significativos en ambas direcciones.

Un movimiento prolongado en una sola dirección es su entorno más difícil:

Daniro - inline image

Enlace de wallet: https://polymarket.com/@garvy?via=dan-kwpx

3️⃣ Bot de Creación de Mercado de Inventario

Este sistema no gestiona una sola posición. Gestiona un inventario completo de contratos.

Puede operar:

*BTC, ETH y SOL mercados de 5m, 15m, 1h y 4h tanto Up como Down en múltiples ventanas*

El bot compra y vende en pequeñas cantidades mientras rastrea continuamente el costo total de su inventario. Supongamos que ha acumulado ambos lados de un contrato. Cerca del vencimiento, Down se convierte en el claro favorito y se mueve a 98¢.

En lugar de simplemente esperar la resolución, el bot puede:

*vender parte del inventario caro de Down liberar capital antes del liquidación mantener el resto de la posición principal comprar una pequeña cantidad de Up a 2¢ mover el capital disponible a otro mercado*

Comprar el lado de bajo precio puede parecer inusual al principio.

Pero una posición pequeña a 1–2¢ puede actuar como una protección económica contra un movimiento final repentino. Si nada cambia, el costo es limitado. Si Bitcoin cruza inesperadamente el nivel de apertura, la pequeña posición de Up puede compensar parte de la pérdida en otro lugar.

El bot de inventario también puede aprovechar las diferencias entre mercados relacionados.

Un contrato puede ofrecer un buen precio de entrada. Otro puede proporcionar una liquidez más profunda para una salida. Un tercero puede ofrecer el lado opuesto a un precio inusualmente bajo.

El principal desafío es el costo promedio del inventario completo.

Si el costo promedio de Up es 56¢ y el costo promedio de Down es 49¢, un par protegido cuesta $1.05.

La resolución solo paga $1.

Para recuperar esa diferencia de cinco centavos, el sistema necesita ganancias adicionales de vender inventario caro, mantener un desequilibrio direccional controlado, obtener reembolsos de creador o mover capital de manera más eficiente entre mercados:

Daniro - inline image

Enlace de wallet: https://polymarket.com/@polkadot-frog?via=dan-kwpx

4️⃣ Bot Direccional Cubierto

Esta estructura se encuentra entre el arbitraje puro y una posición completamente direccional.

Supongamos que el bot tiene:

*280 Up 257 Down*

Los primeros 257 Up y 257 Down forman una base protegida. Independientemente del resultado final, un lado de este bloque paga $257. Los 23 contratos Up restantes crean una inclinación direccional.

Si Up es el resultado final, esos contratos adicionales aumentan el pago. Si Down es el resultado final, la posición opuesta cubre la mayor parte de la exposición.

El sistema está diciendo efectivamente:

Mi modelo actualmente favorece a Up, pero no quiero que toda la posición dependa de un solo resultado.

El tamaño del desequilibrio puede cambiar a lo largo del mercado. Cuando aumenta la confianza, el bot agrega más Up. Cuando la señal se debilita, reduce Up o compra Down adicional.

Mantener ambos lados no hace automáticamente que la estructura sea eficiente.

Si los pares protegidos se construyeron por encima de $1, crean un margen negativo garantizado.

Supongamos que el costo promedio del par es $1.04. Los 23 contratos Up extra primero deben recuperar la pérdida en la base protegida, junto con las comisiones y el deslizamiento.

Solo después de eso, la posición completa se vuelve rentable.

En algunos casos, una cobertura costosa es menos eficiente que mantener una posición direccional más pequeña:

Daniro - inline image

Enlace de wallet: https://polymarket.com/@uuddlrlr?via=dan-kwpx

5️⃣ Bot de Captura de Resolución Tardía

El modelo final se centra casi por completo en la etapa de cierre del mercado.

Cuando un resultado está cerca de determinarse, el lado final probable aún puede cotizarse a 98–99¢. El bot compra el volumen restante disponible y espera el pago de $1.

Por ejemplo:

*entrada a 98.6¢ pago a $1 ganancia bruta - 1.4¢ por contrato*

El rendimiento de cada operación es pequeño, por lo que el sistema escanea una gran cantidad de mercados y utiliza un volumen sustancial.

La estrategia puede parecer altamente predecible, pero su perfil de rendimiento es muy desigual.

Si 99 operaciones generan un centavo cada una y una posición de 99¢ se resuelve incorrectamente, las ganancias anteriores pueden desaparecer.

Esa ejecución incorrecta puede deberse a:

*un movimiento brusco de último segundo una diferencia entre los feeds de precio un nivel de apertura incorrecto una actualización de resolución retrasada una mala interpretación de las reglas del mercado una orden que permanece activa demasiado tiempo*

Por lo tanto, un sistema de resolución tardía necesita más que velocidad.

Debe saber exactamente qué feed determina el resultado y qué tan lejos está el valor actual del límite del contrato.

La estructura final de la posición se puede analizar mediante programación.

python
1def inspeccionar_posicion(
2 cantidad_up,
3 cantidad_down,
4 precio_promedio_up,
5 precio_promedio_down
6):
7 pares_protegidos = min(
8 cantidad_up,
9 cantidad_down
10 )
11
12 direccional_up = max(
13 cantidad_up - cantidad_down,
14 0
15 )
16
17 direccional_down = max(
18 cantidad_down - cantidad_up,
19 0
20 )
21
22 costo_par = (
23 precio_promedio_up
24 + precio_promedio_down
25 )
26
27 return {
28 "pares_protegidos": pares_protegidos,
29 "extra_up": direccional_up,
30 "extra_down": direccional_down,
31 "costo_promedio_par": costo_par,
32 "margen_par": 1 - costo_par
33 }
34
35posicion = inspeccionar_posicion(
36 cantidad_up=280,
37 cantidad_down=257,
38 precio_promedio_up=0.51,
39 precio_promedio_down=0.46
40)
41
42print(posicion)

Pero una instantánea final aún no revela la estrategia completa.

Para entender el sistema, necesitas saber cómo se construyó la posición, qué partes se vendieron y cómo cambió el costo promedio con el tiempo.

6. Encontrar una mala valoración no es suficiente: el bot aún tiene que capturarla 🎯

Supongamos que el bot encuentra una oportunidad para comprar Up y Down por un total combinado de 94¢. Envía ambas órdenes. Up se llena por completo.

Antes de que Down se llene, el mercado se mueve, la liquidez disponible desaparece y el segundo lado se vuelve más caro.

El arbitraje ya no existe.

El bot ahora tiene una posición direccional Up abierta.

Esto es riesgo de inventario.

Un sistema sólido no puede simplemente identificar precios inusuales. Debe gestionar todo el proceso de ejecución.

Necesita decidir:

*cuánto tiempo esperar por el segundo lado cuándo ajustar la orden límite cuánto desequilibrio es aceptable cuándo permanecer como creador y cuándo ejecutar como tomador si reducir el primer lado después de que el margen desaparezca*

Una forma de manejar esto es mediante una lógica inspirada en el modelo Avellaneda–Stoikov.

La idea central es simple: la cotización aceptable debe cambiar según el inventario ya mantenido.

Una fórmula simplificada es:

Precio de reserva = Precio justo − Inventario × Riesgo × Volatilidad² × Tiempo

python
1def precio_reserva(
2 precio_justo,
3 inventario,
4 aversión_riesgo,
5 volatilidad,
6 tiempo_restante
7):
8 ajuste_inventario = (
9 inventario
10 * aversión_riesgo
11 * volatilidad ** 2
12 * tiempo_restante
13 )
14
15 return precio_justo - ajuste_inventario
16
17cotizacion = precio_reserva(
18 precio_justo=0.57,
19 inventario=0.40,
20 aversión_riesgo=0.80,
21 volatilidad=0.18,
22 tiempo_restante=0.25
23)
24
25print(f"Cotización ajustada por inventario: {cotizacion:.3f}")

Si el bot ya tiene demasiado Up, debería estar menos dispuesto a comprar Up adicional.

Al mismo tiempo, puede volverse más agresivo al adquirir Down para reducir el desequilibrio.

El tipo de orden también importa:

GTC

* permanece activa hasta que se llena o se cancela *

GTD

* vence en un momento especificado *

FOK

* se llena por completo o se cancela *

FAK

* llena la cantidad disponible y cancela el resto *

Solo publicar

asegura que la orden agregue liquidez

En un mercado de cinco minutos, la calidad de la ejecución puede importar más que el pronóstico inicial.

El modelo puede estimar el valor justo correctamente y aun así perder dinero si la posición se construye demasiado lento o a un precio promedio ineficiente.

7. La capa final es el tamaño de la posición y la protección del capital 🛡

Un buen margen no justifica asignar todo el capital disponible a un solo mercado.

Siempre existe la posibilidad de que:

*el modelo sobrestimó la señal el segundo lado no se completa la liquidez desaparece la ejecución promedio es peor de lo esperado varias posiciones correlacionadas pierdan valor al mismo tiempo*

Un punto de partida común para el tamaño de la posición es el criterio Kelly.

La fórmula es:

f = (b × p − q) ÷ b

\*

Donde:

p

* es la probabilidad de éxito *

q = 1 − p

* es la probabilidad de fracaso *

b

* es el pago neto en relación con el monto en riesgo *

f

\ es la fracción de capital de Kelly completa*

En la práctica, muchos sistemas usan solo una fracción del resultado.

python
1def fractional_kelly(
2 win_probability,
3 entry_price,
4 fraction=0.25
5):
6 lose_probability = 1 - win_probability
7
8 net_odds = (
9 1 - entry_price
10 ) / entry_price
11
12 full_kelly = (
13 net_odds * win_probability
14 - lose_probability
15 ) / net_odds
16
17 return max(
18 full_kelly * fraction,
19 0
20 )
21
22allocation = fractional_kelly(
23 win_probability=0.61,
24 entry_price=0.50,
25 fraction=0.25
26)
27
28print(f"Capital allocation: {allocation:.2%}")

Kelly fraccional reduce la probabilidad de que una estimación inexacta del modelo o una mala ejecución cause daños importantes a la estrategia.

El sistema aplica entonces límites estrictos:

*tamaño máximo por posición exposición máxima por activo límite de inventario sin cobertura límite de pérdida diaria apagado de emergencia cuando los datos no son fiables*

La correlación también importa.

BTC 5m, BTC 15m, ETH 5m y SOL 5m pueden parecer mercados separados, pero durante un movimiento amplio de criptomonedas pueden perder valor todos al mismo tiempo.

El papel del gestor de riesgos no es maximizar el tamaño de cada oportunidad atractiva.

Su función es garantizar que un solo escenario no pueda eliminar la capacidad del sistema para seguir operando.

8. Cómo se ve la pila completa del bot ⚙️

Un bot moderno de Polymarket no es un solo script de Python que compara Binance con el precio de Up.

Por lo general, opera en varias capas.

Capa 1 - Datos de mercado

Precios externos, el feed de resolución oficial, libros de órdenes en vivo, ejecuciones recientes y el estado de las propias órdenes del bot.

Capa 2 - Señales

Movimiento de precios, volumen, volatilidad, desequilibrio del libro y dislocaciones entre mercados relacionados.

Capa 3 - Probabilidad

El modelo actualiza la probabilidad justa cada vez que llega nueva información significativa.

Capa 4 - Lógica de posición

El sistema elige entre rotación, arbitraje temporal, gestión de inventario, una cobertura direccional o ejecución de resolución tardía.

Capa 5 - Ejecución y riesgo

Se colocan, cancelan y ajustan órdenes mientras el inventario y el tamaño de la posición se mantienen dentro de límites predefinidos.

Capa 6 - Investigación

Se usa Claude para analizar el historial de trading, identificar estructuras recurrentes, escribir backtests y estudiar ciclos de trading no exitosos.

El bucle de alto nivel puede verse así.

python
1async def run_bot():
2 while True:
3 state = await receive_market_update()
4
5 signal = build_signal(state)
6 probability = update_probability_model(
7 state,
8 signal
9 )
10
11 edge = scan_for_edge(
12 state,
13 probability
14 )
15
16 if not edge["tradable"]:
17 continue
18
19 position_plan = choose_position_model(
20 state,
21 edge
22 )
23
24 orders = build_execution_plan(
25 state,
26 position_plan
27 )
28
29 if risk_manager_approves(
30 orders,
31 state
32 ):
33 await send_orders(orders)

Claude puede ayudar a identificar qué estructuras se repiten en millones de ejecuciones históricas.

Pero el bucle de trading de baja latencia en sí mismo debe permanecer determinista: recibir los datos, aplicar las reglas, verificar los límites y enviar la orden.

Conclusión: los bots rentables hacen mucho más que elegir Sube o Baja

Los mercados de corta duración parecen contratos direccionales simples.

Un sistema rentable realiza una secuencia mucho más larga:

*recibe una nueva señal la convierte en una probabilidad verifica el margen neto compara mercados relacionados selecciona una estructura de posición gestiona la ejecución limita el riesgo*

Algunos Bots rotan entre Sube y Baja varias veces dentro de la misma ventana. Otros acumulan ambos lados en momentos diferentes. Algunos gestionan un gran inventario en varios marcos temporales. Otros mantienen una base protegida con una pequeña inclinación direccional.

Un grupo aparte se enfoca en capturar la diferencia de precio restante poco antes de la resolución.

Pero la fórmula central suele ser similar:

*datos fiables una estimación de probabilidad independiente margen después de costos la estructura de posición correcta ejecución precisa riesgo controlado*

Estos Bots no saben dónde estará Bitcoin en cinco minutos.

Simplemente son más rápidos calculando lo que cada resultado posible debería valer en este momento.

¡Gracias por ver mi artículo, agradecería sus comentarios!

Sígueme en X✌️: https://x.com/Dan1ro0

Únete a mi Telegram para más✍️: https://t.me/+VDXq5wkZ2AIxMDBi

Guardar con un clic

Lee artículos virales en profundidad con IA en YouMind

Guarda la fuente, haz preguntas concretas, resume el argumento y convierte un artículo viral en notas reutilizables en un único espacio de trabajo con IA.

Explora YouMind
Para creadores

Convierte tu Markdown en un artículo de 𝕏 impecable

Cuando publicas tus propios textos largos, dar formato en 𝕏 a imágenes, tablas y bloques de código es un fastidio. YouMind convierte un borrador completo en Markdown en un artículo de 𝕏 impecable y listo para publicar.

Prueba Markdown a 𝕏

Más patrones por descifrar

Artículos virales recientes

Explorar más artículos virales