HFT Elite

Tipos de orden

Cada tipo de orden que un trader de opciones de mesa espera, montado encima del CLOB de Polymarket. Stops, brackets, OCO, trailing stops, disparadores condicionales cross-market, TWAP e iceberg — con flags TIF completos (GTC, GTD, IOC, FOK).

Por qué Polymarket necesita tipos de orden sintéticos

El CLOB de Polymarket expone solo dos primitivas: market y limit. No hay stop nativo, ni bracket, ni OCO, ni trailing stop. Para copy-trading o cualquier gestión activa de posición, ese hueco te fuerza a vigilar la pantalla o a aceptar que una posición pueda caer a cero. La Pro Workstation cierra ese hueco con órdenes condicionales del lado servidor que envían la orden CLOB subyacente a través del mismo camino de ejecución que un ticket manual una vez que un disparador se activa.

Cada orden de la workstation se firma del lado cliente con el oficial polymarket_client_sdk_v2 y se envía con el código de builder V2 adjunto para atribución. PolyZig nunca custodia tus fondos, nunca guarda tu llave privada, y nunca refirma tu orden — el watcher de órdenes condicionales es solo un disparador automático que reusa tu sesión autenticada.

Stop y stop-limit

Un stop dispara una orden market cuando el precio cruza tu disparador. Un stop-limit dispara una orden limit al precio que pongas, dándote control de slippage al coste de un posible no-fill en mercados rápidos. Ambos aplican en cualquier dirección: un sell stop dispara cuando el precio cae bajo el disparador; un buy stop dispara cuando el precio sube sobre él.

side=sell, trigger_price=0,45  →  dispara cuando precio ≤ 0,45
side=buy,  trigger_price=0,55  →  dispara cuando precio ≥ 0,55

Trailing stop

Un trailing stop reancla su disparador al máximo (lado venta) o mínimo (lado compra) corrientes del precio observado. El offset de trail define cuánto debe retroceder el precio desde ese pico antes de que el stop dispare. Útil para dejar correr a los ganadores mientras se limita el drawdown del round-trip — la workstation rastrea el pico en memoria dentro de la tarea de monitor por orden.

sell trailing-stop, trail_offset=0,05
  → pico sube a 0,70, disparador queda en 0,65
  → si precio cae a 0,65, el stop dispara

OCO y bracket — atómicos, enlazados recíprocamente

Un ticket OCO son dos patas que se cancelan entre sí al fill: típicamente un stop loss y un take profit. Un bracket es el patrón OCO envolviendo una posición existente. La Workstation crea ambas patas en una sola transacción de base de datos y escribe un linked_order_id recíproco, así la pata que dispare primero cancela a la hermana — no hay escenario donde acabes con un bracket a medio cancelar.

La cancelación está acotada al usuario: el watcher solo cancelará una hermana que pertenezca al mismo usuario que la orden que dispara, incluso si un enlace malicioso fuera inyectado de algún modo.

Disparadores condicionales cross-market

Una orden condicional vigila un mercado y actúa sobre otro. Ejemplo: «si el YES de Trump-2024 cae bajo $0,40, dispara un buy en la pata correlacionada Trump-loss». La Workstation las persiste igual que los stops; el evaluador cross-market se cablea junto con el constructor de tickets multi-leg.

TWAP e iceberg (roadmap)

En pares delgados de Polymarket incluso unos pocos miles de dólares pueden mover el libro. El plan: TWAP rebana una orden grande en N órdenes hijas a lo largo de una ventana configurable; iceberg muestra al libro solo la rebanada visible y rellena conforme la porción visible se llena, ocultando el tamaño total. Ambos reducen slippage por market-impact en mercados ilíquidos. Ninguno está implementado en este build — pertenecen al corte de estrategias de ejecución de la Fase 4, después de que el watcher de órdenes condicionales exponga un ejecutor CLOB real.

Flags time-in-force

Cada ticket limit hoy se envía como GTC (good-till-cancelled), ya que es lo que `polymarket_client_sdk_v2` expone en el constructor de órdenes. GTD, IOC y FOK son parte del corte de TIF de la Fase 1b — una vez que la rama upstream del SDK aterrice el flag (o la workstation lo aporte), la UI del ticket expondrá un desplegable TIF y la API de órdenes extenderá `PlaceOrderRequest` con `time_in_force` + `expires_at`. Hasta entonces, el comportamiento tipo IOC se puede aproximar enviando un limit ajustado y cancelando en el siguiente pase del poller.

Sizing definido por riesgo

El ticket de orden incluye un asistente de «pérdida máxima». Introduce el monto en dólares que estás dispuesto a arriesgar y los precios de entrada + stop, y el ticket calcula automáticamente el size que limita tu pérdida exactamente a esa cifra. La misma primitiva que usan los traders de opciones para dimensionar verticals: posiciona tu downside, no tu notional.

size = max_loss / |entry_price − stop_price|
i

Live today: Market & Limit orders. Coming soon: Stop / Stop-limit / Trailing stop / OCO / Bracket / Conditional / TWAP / Iceberg — the production CLOB executor adapter is the remaining piece. The status column on the matrix below reflects the real deployment state; HFT subscribers get the rest on launch without re-upgrading.

Reference matrix

Every order type at a glance

TypeStatusTrigger conditionFills atBest for
MarketLiveImmediateBest available depthSpeed > slippage
LimitLiveImmediateYour limit price or restsSlippage control
StopComing soonSell: price ≤ trigger · Buy: price ≥ triggerMarket once triggeredCap downside on a position
Stop-limitComing soonSame as StopLimit once triggeredStops with slippage control
Trailing stopComing soonAnchored to running peak/troughMarket once trail offset crossedLet winners run with capped giveback
OCOComing soonEither leg fires → cancels siblingPer leg type (stop/limit)Bracket a position with both ends
BracketComing soonOCO of take-profit + stopPer leg typeWrap an open position
Conditional (cross-market)Coming soonWatches a different marketMarket or limit on the targetPair / hedge automation
TWAPComing soonContinuous over a windowSliced child ordersReduce market impact on thin pairs
IcebergComing soonShow visible slice; refill on fillPer visible sliceHide total size from the book

Time-in-force

TIF flags — when each one wins

TIFMeaningWhen to use
GTCGood-til-cancelDefault for limits you intend to leave on the book
GTDGood-til-dateAuto-expire near a known event window
IOCImmediate-or-cancelTake whatever fills now, drop the rest
FOKFill-or-killAll-or-none atomic execution

Worked example

Bracket on a long YES at $0.42

Open 100 shares YES at $0.42. Cap downside at the cost of 6¢ per share, ride upside to a 12¢ take-profit. Created in one ticket with reciprocal links — whichever leg fires cancels the sibling.

POSITION  long 100 YES @ 0.42
BRACKET   take-profit  → sell @ 0.54   (bracket_target)
          stop loss   → sell @ 0.36   (bracket_stop)
RESULT    max gain 12¢ × 100  =  +$12.00
          max loss  6¢ × 100  =  − $6.00
          R:R 2.0

Páginas relacionadas de la Workstation

FAQ

Preguntas frecuentes

¿Soporta Polymarket órdenes stop-loss de forma nativa?

No. El CLOB de Polymarket expone solo market y limit. La Pro Workstation de PolyZig cierra ese hueco persistiendo órdenes sintéticas (stops, stop-limits, trailing stops, OCO, brackets, disparadores condicionales cross-market) del lado servidor y disparando la orden CLOB subyacente a través del mismo camino de ejecución que un ticket manual una vez que el disparador evalúa true. El watcher, el esquema, la validación y la lógica de cancelación de hermanos OCO se entregan hoy; el ejecutor CLOB de producción que convierte un disparador activado en una orden enviada es el cableado pendiente.

¿Cómo se implementa OCO en Polymarket?

PolyZig crea ambas patas del OCO en una transacción de base de datos y escribe un linked_order_id recíproco para que cada pata referencie a la otra. Cuando alguna pata dispara, el watcher cancela a la hermana. La cancelación queda acotada al mismo user_id que posee la orden que dispara, así que un enlace perdido nunca puede meterse en otra cuenta.

¿Con qué rapidez disparará un stop cuando la ejecución se encienda?

El watcher de órdenes condicionales se suscribe al mismo gestor de suscripciones WebSocket que alimenta el chart de precios. Ante un evento de cruce de precio promueve atómicamente la fila pending → triggered y está cableado para enviar la orden CLOB subyacente a través del OrderExecutor en el mismo hot-path que usa el ticket manual. El ejecutor Noop es el placeholder que se entrega hoy; una vez que aterrice el adaptador OrderExecutor de producción, la latencia mediana de cruce-de-precio-a-envío-CLOB se publicará en el hub de la workstation.

¿Puedo adjuntar un stop y un take-profit a una posición existente?

Para eso está construida la primitiva bracket: abres una posición normalmente, y luego creas un bracket — una pata target (limit en tu take-profit) y una pata stop (stop o stop-limit), enlazadas atómicamente, donde la primera que se llena cancela a la otra. El bracket persiste hoy; la ejecución viva de disparador-a-CLOB llega con el cableado del OrderExecutor de producción marcado en el banner de estado de arriba.

¿Qué pasa con mis órdenes condicionales si PolyZig se reinicia?

Persisten en Postgres. Al arranque, el ConditionalOrderWatcher llama a restore() y se resuscribe al token de cada orden pending. No hay estado solo en memoria, así que un reinicio no te cuesta nada.

Activa esto en tu cuenta

La superficie Pro Workstation, y todo lo descrito en esta página, se entrega con el plan HFT Elite ($149/mes, comisión del 0,10 % por operación).

Actualizar a HFT Elite