Skip to content
← Blog

Por qué todo arbitraje lleva un tamaño ejecutable

dino.markets

Un precio por sí solo no te dice cuánto puedes operar a ese precio. Un libro de órdenes puede mostrar un ask tentador con un solo contrato detrás y nada debajo. Un arbitraje calculado solo sobre el top of book se ve genial y llena casi nada de tu tamaño.

Por eso dimensionamos cada oportunidad según la profundidad de mercado que realmente existe. El campo max_stake es el monto más grande que ambas patas pueden llenar a la vez. El edge_pct es el retorno que queda después de recorrer cada libro de órdenes hasta ese tamaño, neto de las comisiones de la plataforma. Leídos juntos, te dicen la operación y qué tan grande puede ser.

Así es la forma que tiene en un arbitraje de dos vías:

{
  "edge_pct": 1.83,
  "max_stake": 240,
  "legs": [
    { "venue": "kalshi", "outcome": "KC", "ask": 0.52, "book_depth_at_ask": 240 },
    { "venue": "polymarket", "outcome": "BUF", "ask": 0.46, "book_depth_at_ask": 310 }
  ]
}

La pata de Kalshi tiene 240 de profundidad de mercado y la de Polymarket tiene 310, así que el par puede llenar 240 antes de que se agote el precio más barato. El 1.83 por ciento es lo que sobrevive después de las comisiones de ambos lados. Si el margen solo se sostuviera para el primer contrato, max_stake lo indicaría, y sabrías que debes saltarlo.

Este ejemplo es anterior a la API v2 y usa nombres de campo que desde entonces fueron renombrados; consulta la quickstart para ver la forma actual.

La lista completa de campos está en la referencia del objeto Opportunity.

Más del blog