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|
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
| Type | Status | Trigger condition | Fills at | Best for |
|---|---|---|---|---|
| Market | Live | Immediate | Best available depth | Speed > slippage |
| Limit | Live | Immediate | Your limit price or rests | Slippage control |
| Stop | Coming soon | Sell: price ≤ trigger · Buy: price ≥ trigger | Market once triggered | Cap downside on a position |
| Stop-limit | Coming soon | Same as Stop | Limit once triggered | Stops with slippage control |
| Trailing stop | Coming soon | Anchored to running peak/trough | Market once trail offset crossed | Let winners run with capped giveback |
| OCO | Coming soon | Either leg fires → cancels sibling | Per leg type (stop/limit) | Bracket a position with both ends |
| Bracket | Coming soon | OCO of take-profit + stop | Per leg type | Wrap an open position |
| Conditional (cross-market) | Coming soon | Watches a different market | Market or limit on the target | Pair / hedge automation |
| TWAP | Coming soon | Continuous over a window | Sliced child orders | Reduce market impact on thin pairs |
| Iceberg | Coming soon | Show visible slice; refill on fill | Per visible slice | Hide total size from the book |
Time-in-force
TIF flags — when each one wins
| TIF | Meaning | When to use |
|---|---|---|
| GTC | Good-til-cancel | Default for limits you intend to leave on the book |
| GTD | Good-til-date | Auto-expire near a known event window |
| IOC | Immediate-or-cancel | Take whatever fills now, drop the rest |
| FOK | Fill-or-kill | All-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.0Páginas relacionadas de la Workstation
Position Greeks
Per-position delta and theta for binary outcomes.
Multi-leg strategies
Verticals, calendars, pairs, and box-spread arbitrage.
Discovery & screeners
IV-rank, theta-harvest, mispricing, whale activity.
Options primer
New to options? Start here. Includes IV, IV surface, and the Polymarket mapping.
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